Skip to main content

Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Papyrus » [Moka] State machine-based concurrent execution simulation using (Current state of maturity of Moka)
[Moka] State machine-based concurrent execution simulation using [message #1771702] Tue, 29 August 2017 16:22 Go to next message
Nicolas Hili is currently offline Nicolas HiliFriend
Messages: 40
Registered: March 2017

I am currently working on implementing an action language for UML-RT supported by Papyrus for real-time (Papyrus-RT). The action language is based on the message passing paradigm where messages are sent by one active class (capsule) to another one through interconnected ports.

I would like to use Moka for simulating UML-RT models and have several questions to know whether Moka is mature enough to do it.

1) Does Moka support the simulation of concurrent execution based on message passing? I noticed that there is the org.eclipse.papyrus.moka.async.fuml engine but could not manage to make it work.

2) Is there any model example for using the state machine execution engine?

3) Is Moka mature enough to be extended with a specific action semantics? My first try was to extend the org.eclipse.papyrus.moka.fuml.statemachines execution engine by registering my extension through the org.eclipse.papyrus.moka.engine. Then, I overrode the instantiateOpaqueBehaviorExecution method of SM_ExecutionFactory to give my own implementation extending OpaqueBehaviorExecution. From there, I plan to parse my action language (that is defined by a Xtext grammar) to tell Moka what to do next. Is it the correct approach?

Thank you very much for your answers,

Re: [Moka] State machine-based concurrent execution simulation using [message #1773344 is a reply to message #1771702] Tue, 26 September 2017 14:59 Go to previous message
Jeremie Tatibouet is currently offline Jeremie TatibouetFriend
Messages: 10
Registered: April 2014
Junior Member
Hi Nicolas -

1] Moka does support concurrent executions. However the Moka execution engines rely on a sequential implementation (i.e., the implementation does not use a threading API). The only execution engine that was multi-threaded was oep.moka.fuml.async which was a prototype implementation of the fUML execution engine relying on Java threads. Please note that this execution engine is no longer available in our 3.0.0 release.

2] There is a model to use the state machine execution engine. This model is a test suite defined to assess the semantics implemented in that engine. You can find it in: oep.moka.fuml.statemachines under the folder resources/tests.

3] I am not sure about what you mean by "to be extended with a specific action semantics", however the approach you proposed looks realizable if you need to have the capability to execute opaque behavior whose body is specified using your language.


Previous Topic:Issues installing Moka in Papyrus Oxygen
Next Topic:Time Observation notation
Goto Forum:

Current Time: Mon Jul 13 09:38:25 GMT 2020

Powered by FUDForum. Page generated in 0.03402 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top