Upload
benoit-combemale
View
304
Download
0
Embed Size (px)
Citation preview
Benoit Combemale (Inria & Univ. Rennes 1)http://people.irisa.fr/[email protected]@bcombemale
Engineering Executable DSMLs (xDSMLs )for model executability, animation and debuggingFinal workshop of the ANR project GEMOCMarch 17th, 2016
(Domain-Specific) Behavioral models
- 2
• Various engineering: software engineering, systems engineering, enterprise architecture, scientificmodeling...
• Various domains: Business Processes, Orchestrations, Functional chains, Activities, Protocoles, Scenarios...
• Various analysis techniques for checking behavioral properties (earlyV&V)
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016)
Stepwise debugging
- 3
• Stepwise Debugging: find the cause of a defect by manuallyobserving and controlling execution
• Central dynamic V&V activity
Resume
StopPause
Step intoStep over
Step out
Visualization ofthe current state
Breakpoints
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016)
Stepwise debugging
- 4
• Intuitive model comprehension technique• No abstraction gap• Better turn-arounds
⇒ Fast convergence towards an acceptable designResume
StopPause
Step intoStep over
Step out
Visualization ofthe current state
Breakpoints
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016)
Omniscient debugging
- 5
• Stepwise debuggers only go forward
• Omniscient debuggers go forward and backward
• Omniscient debuggers typically rely on an execution tracestoring previous states.
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016)
Expected Result for Activity Diagram
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016) - 6
HOW TO PROVIDE EXECUTION, ANIMATION ANDDEBUGGING FACILITIES FOR ANY EXECUTABLEDOMAIN-SPECIFIC MODELING LANGUAGE (XDSML)?
- 7Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016)
Required Tools
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016) - 8
Required Tools
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016) - 9
Proposed Approach
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016) - 10
• Xtend/Kermeta to define the interpreter
• Sirius to define the animator by extension of the tooling
description
• A generative approach for the trace manager
• A generic execution engine
• A generic control panel and timeline
Proposed Approach
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016) - 11
• Leverage the GEMOC Execution Framework• Start the execution (@main), and initialize the model (@initialize)• Encapsulate stepwise execution in transactions, and control the
execution (step-by-step, pause, resume)• Integration with the trace manager
• Leverage the Sirius Animation Runtime• Bridge the Eclipse Debug APIs and the EMF APIs, incl. the
control panel with step (back) over/into/return• Transmit events and requests• Initialize the tooling extension• Provide off-the-shelf ecore model for runtime data
Animating Arduino Designer
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016) - 12
Animating Arduino Designer
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016) - 13
Animating Arduino Designer
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016) - 14
• fr.obeo.dsl.arduino.simulatorØ Interpreter, incl. execution functions and data
• fr.obeo.dsl.arduino.simulator.designØ Animator (representation of the execution data)
Animating Arduino Designer
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016) - 15
• fr.obeo.dsl.arduino.simulatorØ Interpreter, incl. execution functions and data
Animating Arduino Designer
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016) - 16
• fr.obeo.dsl.arduino.simulator.designØ Animator (representation of the execution data)
Animating Arduino Designer
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016) - 17
https://github.com/gemoc/arduinomodeling
Animating Arduino Designer
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016) - 18
https://github.com/gemoc/arduinomodeling
Wrap-up
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016) - 19
• Execution functions and data (execution semantics) weavedinto Ecore model (using Xtend/Kermeta)
• Representation of the execution data as extension of the editor (using Sirius)
> Graphical animator, omnicient debugger, trace manager and timeline
Design only the features related to a given domain (executionfunctions and data + representation), and get for free an
advanced execution, animation and debugging environment=> Sirius Animator