Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/Benoit.Combemale [email protected]@bcombemale Engineering Executable DSMLs (xDSMLs ) for model executability, animation and debugging Final workshop of the ANR project GEMOC March 17 th , 2016
20
Embed
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and debugging
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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
Engineering xDSMLs for model executability, animation and debugging – GEMOC Workshop (Mar., 2016) - 20