Bug 405389 - [Moka] Papyrus shall provide a generic and extendible framework for execution and debugging of models
Summary: [Moka] Papyrus shall provide a generic and extendible framework for execution...
Status: NEW
Alias: None
Product: Papyrus
Classification: Modeling
Component: Moka (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Arnaud Cuccuru CLA
URL:
Whiteboard:
Keywords:
Depends on: 405391 405392 457941 481115 481117 482390 406407 412607 437918 438072 438725 439203 439321 439360 439639 452976 456677 482266
Blocks: 437807
  Show dependency tree
 
Reported: 2013-04-10 13:06 EDT by Arnaud Cuccuru CLA
Modified: 2017-09-12 10:21 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arnaud Cuccuru CLA 2013-04-10 13:06:23 EDT
The overall objective of this task concerns the definition of a framework for execution and debugging of models in the context of Papyrus. This includes aspects related to the control of a model execution (e.g., suspending/resuming execution after a breakpoint has been encountered) as well as to observing the state of the executed model at runtime (e.g., emphasizing a graphical element corresponding to a model element on which execution has suspended, retrieving and displaying any state information about the runtime manifestation of this model element). 

This framework is called Moka.

The basic idea underlying this framework is that Eclipse already defines a powerful Debug API, which must be used as a basis for satisfying execution and debugging needs in the context of Papyrus. The Eclipse Debug API is connected to a Debug perspective, which provides a template for controlling executions (e.g., suspend, resume and terminate buttons from the tool bar) and observing the state of an execution (e.g., with the debug tree view, showing processes, threads and corresponding stack frames).

Moka shall implement a generic contribution to the Eclipse Debug API, where elements to be executed are models instead of programs. It shall provide an extension point for registering particular execution engines, with some integration facilities for the case where these execution engines are themselves implemented as Eclipse plug-ins. Moka shall ease connection of an execution engine with the Eclipse Debug UI, by including the implementation of a generic communication protocol between the Eclipse UI and the actual execution engine registered through the extension point. Moka shall also include some additional facilities, including defining/launching launch configurations, defining and visualizing breakpoints, and emphasizing a graphical element in a diagram (opening the diagram if needed) according to some suspend events emitted by the execution engine.
Comment 1 Arnaud Cuccuru CLA 2013-04-15 05:38:43 EDT
r 10869 - First version commited in sandbox/Moka
Comment 2 Arnaud Cuccuru CLA 2013-04-18 13:54:38 EDT
r 10914 - Adjustements for management of multi-threaded executions
Comment 3 Arnaud Cuccuru CLA 2013-04-23 06:59:02 EDT
r 10936 - Further adjustements for management of multi-threaded executions
Comment 4 Arnaud Cuccuru CLA 2013-06-15 06:00:01 EDT
r 11479 - Simple (but efficient!) optimization in AnimationUtils.getDiagrams(semanticElement)