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

offer an improved generic modelIdentifier and associated debug services in GEMOC framework #131

Open
dvojtise opened this issue Nov 7, 2019 · 0 comments

Comments

@dvojtise
Copy link
Contributor

dvojtise commented Nov 7, 2019

Several debug services offered by the simulation and model animation framework rely on the concept of ModelIdentifier.

Having different ids for this modelIdentifier allows, for example, to get a presentation in the debug stack that is specific to an engine. This also ensures to get the current breakpoint only for a given engine.

For this reason, the current engines (java, moccl and ale) uses different ids. (actually, ale is reusing id of the java engine to the cost of introducing an unwanted dependency to it ! ) This is making sense if the displayed information in the stack are different for each of these engines. But this is achieved with some coding complexity cost: in the plugin.xml declaring the launchconfiguration for the engine, but also in the debugService class for any Sirius design in the language workbench (ex: https://github.com/eclipse/gemoc-studio/blob/6fc7270df6bd2e633ac29a4c331012d41974c857/official_samples/K3FSM/language_workbench/org.eclipse.gemoc.example.k3fsm.design/src/org/eclipse/gemoc/example/k3fsm/design/services/FsmDebugServices.java#L38) if a sirius .design is used by several engines, the service must be duplicated (and the action in the .design must be duplicated too)

However, now, the trace metamodel is being used for both concurrent and sequential based engines a generic presentation is probably possible.
It would be useful to offer such generic services in the GEMOC framework (to not be confused with debug and model animation framework )
image for engines accepting to share the generic modelIdentifier.
such as generic presentation, generic breakpoint

This would get several benefits for engines sharing the same modelIdentifier:

  • most engine implementations would be simplified. (can share some classes such as DebugModelPresentation and SourceLocator)
  • the toggleBreakpoint sirius action will be general to all engines sharing the same modelIdentifier (instead of been applicable to only a given engine)
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

No branches or pull requests

1 participant