In GEMOC, we use Ale Sirius service in order to create layers dedicated to animation and debug (using ale: as expression language in fields accepting expression see left part of the following screenshot)
The current way of dealing with engine is not satisfying since it doesn't really deal with multiple running ALE engines at the same time. (a cleanup of previous engines is done before launching a new one, so only one engine is valid)
Additionally, since Sirius 6.3.x (was working differently with sirius 6.1.3 ) when no engine is registered, the ale: query is handled by org.eclipse.sirius.common.tools.internal.interpreter.DefaultInterpreterProvider that uses org.eclipse.sirius.common.tools.internal.interpreter.DefaultConverter . this converter now returns true for these unsupported ale: query
In edition mode, the diagram ends up with wrong results such as the one in the figure below (in this FSM, all states are considered as current state) (cf. https://github.com/gemoc/ale-lang/issues/150 )
Expected behavior
the Ale Sirius service should be available in edition in order to not fall back to the DefaultInterpreterProvider
the service should be able to exist for several ALE engine running at the same time and thus allowing to dispatch the queries to the correct engines
Bug description
In GEMOC, we use Ale Sirius service in order to create layers dedicated to animation and debug (using
ale:
as expression language in fields accepting expression see left part of the following screenshot)The registration is currently done only in the ALE launcher (https://github.com/eclipse/gemoc-studio-execution-ale/blob/4b086be62c645e241f892c4ee7d1c0b7b06f28b1/plugins/org.eclipse.gemoc.ale.interpreted.engine.ui/src/org/eclipse/gemoc/ale/interpreted/engine/ui/launcher/Launcher.java#L66)
The current way of dealing with engine is not satisfying since it doesn't really deal with multiple running ALE engines at the same time. (a cleanup of previous engines is done before launching a new one, so only one engine is valid)
Additionally, since Sirius 6.3.x (was working differently with sirius 6.1.3 ) when no engine is registered, the ale: query is handled by
org.eclipse.sirius.common.tools.internal.interpreter.DefaultInterpreterProvider
that usesorg.eclipse.sirius.common.tools.internal.interpreter.DefaultConverter
. this converter now returnstrue
for these unsupported ale: queryIn edition mode, the diagram ends up with wrong results such as the one in the figure below (in this FSM, all states are considered as current state) (cf. https://github.com/gemoc/ale-lang/issues/150 )
Expected behavior
Screeshot