eclipse-gemoc / eclipse-gemoc/gemoc-studio-modeldebugging

Rule executor: alter the Engine API instead of using (yet another) extension point?

Open
#191 0 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.