eclipse-gemoc / eclipse-gemoc/gemoc-studio-modeldebugging
Rule executor: alter the Engine API instead of using (yet another) extension point?
- Dominant language
- Java
- Stars
- 6
- Forks
- 14
- PR merge metrics
- No merged PRs in 30d
Description
The recent changes proposed by @d-leroy in the framework included a new extension point for providing rule executors to the studio:
https://github.com/eclipse/gemoc-studio-modeldebugging/blob/d680471162969a81a9d14e0e567c48d8bd307a2a/framework/execution_framework/plugins/org.eclipse.gemoc.executionframework.event.manager/plugin.xml#L7
A rule executor provided in this fashion is then used by the event manager in order to run execution rules on request:
https://github.com/eclipse/gemoc-studio-modeldebugging/blob/6f79e8103687669ddb830d245b2792a9921e8e14/framework/execution_framework/plugins/org.eclipse.gemoc.executionframework.event.manager/src/org/eclipse/gemoc/executionframework/event/manager/IntegrationFacade.java
This architectural choice by @d-leroy has the benefit to avoid modifying the `IExecutionEngine` interface, which would then require _all_ execution engines consequently.
However, I believe it has two drawbacks:
(1) when executing a model, we already know which metaprog approach we are using through the engine object, therefore IMHO it would be very logical to ask the engine directly for a rule executor instead of fetching it through some other way.
(2) it introduces yet another extension point in the GEMOC Studio.
I'm opening this issue mostly to keep this situation in mind for a possible future breaking evolution of the `IExecutionEngine` interface, which would be the perfect opportunity to also introduce changes benefiting the event manager (among other changes).
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.