Skip to content
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

Add pomfirst build + add K3FSM example MEP server #207

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

dvojtise
Copy link
Contributor

@dvojtise dvojtise commented May 18, 2020

This PR contributes to the addition of a Model Execution Protocol implementation in GEMOC.

The generic part of the MEP framework is contained in eclipse-gemoc/gemoc-studio-modeldebugging#169 and a specific implementation for K3 is contained in eclipse-gemoc/gemoc-studio-execution-java#7.

This PR :

Signed-off-by: Didier Vojtisek <[email protected]>

Improvements

Signed-off-by: Pierre Jeanjean <[email protected]>

Deployment

Signed-off-by: Didier Vojtisek <[email protected]>
Signed-off-by: Didier Vojtisek <[email protected]>
these pom are used to recreate a more reliable dependency tree of a
subset of gemoc components when used from pure maven project

Signed-off-by: Didier Vojtisek <[email protected]>
Signed-off-by: Didier Vojtisek <[email protected]>
Signed-off-by: Didier Vojtisek <[email protected]>
makes sure that xtext.ide doesn't grab inconsistent components

Signed-off-by: Didier Vojtisek <[email protected]>
Signed-off-by: Didier Vojtisek <[email protected]>
Signed-off-by: Didier Vojtisek <[email protected]>
Signed-off-by: Didier Vojtisek <[email protected]>
Signed-off-by: Didier Vojtisek <[email protected]>
Signed-off-by: Didier Vojtisek <[email protected]>
@ebousse
Copy link
Contributor

ebousse commented Jun 12, 2020

What I don't get is why is the title "Initial version of Model Execution Protocol framework for GEMOC" while the first sentence states "This PR adds a Model Execution Protocol server to the K3FSM official example"?

Does the PR add the generic protocol, or simply a PoC specific to K3FSM?

@dvojtise
Copy link
Contributor Author

You're right this work is currently more a POC than an API introduction. This is because only one engine is offered, and I (and @pjeanjean) have questions about how to further deploy this to other engine.
Actually, this works raises several questions (at least even me who provided it, have some questions about it) about our strategy and future work to improve it.

1/ First point, the MEP engine is NOT the same as the one used in the gemoc modeling workbench for the same task.

2/ one of the requirement was to have a pure java (non osgi based) implementation (smaller footprint and faster startup time). We may consider the relation with the previous headless studio (osgi based) that is also without UI. The pure java version seems to work but is quite fragile about version management. Additionally, managing jar with maven dependencies also add some complexity to the development (even if only some jars are handled that way)
However, this PR is a start for a subset of GEMOC components that can be used without OSGI.

3/ what about adding MEP capabilities to every engine ? In future work, we may consider removing the debug addon and replace it completely by MEP so the entire UI would just connect to it.
This would remove the need of having 2 engines per metaprog approach

4/ current MEP doesn't support backward navigation because there is no trace management in the pure maven (current trace management is implemented as addon) we probably need either choose to stay in osgi or find another injection mechanism for the core features (debug and trace) that would work in both modes.

Depending on the direction we chose, several of these points may require some major development effort...

@dvojtise
Copy link
Contributor Author

dvojtise commented Jun 12, 2020

I'll open a thread in the gemoc-dev mailing list about the above points.

About your question about the title, may be just rename it

"Initial version of a Model Execution Protocol framework and implementation for GEMOC" ?

@ebousse
Copy link
Contributor

ebousse commented Jun 12, 2020

I'll open a thread in the gemoc-dev mailing list about the above points.

Sounds good.

About your question about the title, may be just rename it

"Initial version of a Model Execution Protocol framework and implementation for GEMOC" ?

My problem is more about the fact that the PR says it's about "K3FSM", hence a single xDSL, while the title of the PR is about the whole GEMOC Studio.

@dvojtise
Copy link
Contributor Author

dvojtise commented Jun 12, 2020

A part is generic and can be reused for every approach (content of eclipse-gemoc/gemoc-studio-modeldebugging#169 , and enabling the build management as pomfirst in this PR), and the current assembly of all 3 PRs which contains only one complete implementation (in eclipse-gemoc/gemoc-studio-execution-java#7 + this PR with the concrete example)

@dvojtise dvojtise changed the title Initial version of Model Execution Protocol framework for GEMOC Initial version of a Model Execution Protocol framework for GEMOC Jun 12, 2020
@dvojtise
Copy link
Contributor Author

I've refined the general description, tell me if its cleared

@ebousse
Copy link
Contributor

ebousse commented Jun 12, 2020

Much better, thanks! :)

but then it's the title of the PR that should be changed, no? Maybe something like:

Add pomfirst build + add K3FSM example MEP server

@dvojtise dvojtise changed the title Initial version of a Model Execution Protocol framework for GEMOC Add pomfirst build + add K3FSM example MEP server Jun 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants