-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cleanup Reactions language #42
Conversation
e8e731d
to
c975ab0
Compare
c975ab0
to
9be492f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I can judge it looks good!
.../src/tools/vitruv/dsls/reactions/runtime/helper/ReactionsCorrespondenceModelViewFactory.java
Show resolved
Hide resolved
...s.reactions.runtime/src/tools/vitruv/dsls/reactions/runtime/reactions/AbstractReaction.xtend
Outdated
Show resolved
Hide resolved
// generic return type for convenience; the requested type has to match the type of the facade provided during construction | ||
protected def <T extends AbstractRoutinesFacade> T getRoutinesFacade() { | ||
return routinesFacade as T | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why can't we make a generic class to have this explicit?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was a quite complicated thing. I will have another look it at, because I am not sure anymore whether this is conceptually necessary or just to not bloat up the code generation as we then have to add the generic type parameter basically everywhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Proposal: We document that point in an issue. Then I will either address that issue in a subsequent PR or document in that issue why we cannot/should not change that, as soon as I have checked it. If this can be improved, it would further bloat up this PR and reviewing the further changes will become even harder than it was for the current changes. Do you agree, @JanWittler?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fine with that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done in #46.
...sls.reactions.runtime/src/tools/vitruv/dsls/reactions/runtime/routines/AbstractRoutine.xtend
Outdated
Show resolved
Hide resolved
...sls.reactions.runtime/src/tools/vitruv/dsls/reactions/runtime/routines/AbstractRoutine.xtend
Outdated
Show resolved
Hide resolved
Co-authored-by: Jan Wittler <[email protected]>
This PR cleans up the Reactions language, removes unused classes and functionality, simplifies the runtime classes and the generated code. It particularly affects the runtime project but also improves the language itself.
Major changes are:
General:
Runtime:
IReactionRealization
,AbstractReactionsRoutineRealization
etc. before.CorrespondenceFailHandler
: We had different handlers for failing correspondence retrievals, but they were not integrated properly (they were not exchangeable), such that always an exception was thrown anyway. Since we currently have no need for that functionalty, it is removed rather than integrated.RoutinesFacadeExecutionState
by separation of passing the execution context of a Reaction throughout the execution process (i.e., we only haveReactionsExecutionState
now) and tracing the call stack of Reactions and routines.ReactionsExecutionState
throughout the execution.ReactionsExecutor
: We had redundancy between theReactionsExecutor
and aChangePropagationSpecification
for each Reactions segment. Now only theChangePropagationSpecification remains
Language: