Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
SiriusCon 2017, Paris, FR.
Joint work with the DiverSE team (IRISA & Inria), Obeo, and the GEMOC Initiative at large
Model...
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
Model Execution: Why Should I care?
Various engineering: softwar...
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
Model Execution (/Animation): Activity diagram
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
Model Debugging: Why Should I care?
Intuitive model comprehensio...
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
Model Debugging: Arduino designer
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
Required Tools
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
Required Developments
Nous ne pouvons pas afficher
cette image po...
HOW TO GET YOUR
OWN DEBUGGER ?
How to provide omniscient debugging
support to any executable domain-
specific modeling lan...
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
DIY: Arduino Designer
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
Ecore Tools: Graphical Edition of Ecore Models
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
Ecore Tools: ALE
An Action Language for EMF
To complement an Eco...
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
Ecore Tools: ALE
open class arduino.Block {
def void execute() {...
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
Ecore Tools: Hello World!
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
Ecore Tools: Going Further…
https://youtu.be/x4viqEFN7PU
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
SiriusAnimator
Sirius to define the animator by extension of the...
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
SiriusAnimator
simulator.odesign customizing arduino.odesign: Co...
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
SiriusAnimator: Debugging in Arduino Designer
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
SiriusAnimator on SiriusLab
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
Take Away Messages
Model execution and debugging are key for beh...
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
Technology Maturity
EcoreTools/Ecore:
well-proven Eclipse techno...
LOOKING AHEAD
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
The GEMOC Studio
-
22
Design and integrate your
executable DSMLs...
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
The GEMOC Studio
-
23
http://gemoc.org/studio
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
Perspectives
Documentation, tutorials and pilot projects
Perform...
Model Simulation, Graphical Animation, and Omniscient Debugging with Sirius Animator
Abstract.
You have your shiny new mod...
Hack your own languages?
Join us in the SM@RT group of the CNRS IRIT lab, in
a freshly rebuilt campus of the warm city of ...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreTools and Sirius Animator
Prochain SlideShare
Chargement dans…5
×

Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreTools and Sirius Animator

627 vues

Publié le

You have your shiny new modeling language up and running thanks to the Eclipse Modeling Technologies and you built a powerful graphical editor with Sirius to support it. But how can you see what is going on when a model is executed? Don't you need to debug your design in some way? Wouldn't you want to see your editors being animated directly within your modeling environment based on execution traces or simulator results?

In this talk, we will present Sirius Animator, an add-on to Sirius that provides you a tool- supported approach to complement a modeling language with an execution semantics and a graphical description of an animation layer. The execution semantics is defined thanks to ALE, an Action Language for EMF integrated into Ecore Tools to modularly implement the bodies of your EOperations, and the graphical description of the animation layer is defined thanks to Sirius. From both inputs, Sirius Animator automatically provides an advanced and extensible environment for model simulation, animation and debugging, on top of the graphical editor of Sirius and the debug UI of Eclipse. To illustrate the overall approach, we will demonstrate the ability to seamlessly extend Arduino Designer, in order to provide an advanced debugging environment that includes graphical animation, forward/backward step-by-step, breakpoint definition, etc.

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreTools and Sirius Animator

  1. 1. SiriusCon 2017, Paris, FR. Joint work with the DiverSE team (IRISA & Inria), Obeo, and the GEMOC Initiative at large Model Simulation, Graphical Animation, and Omniscient Debugging with (EcoreTools and) Sirius Animator BENOIT COMBEMALE PROFESSOR, UNIV. TOULOUSE, FRANCE HTTP://COMBEMALE.FR BENOIT.COMBEMALE@IRIT.FR @BCOMBEMALE
  2. 2. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Model Execution: Why Should I care? Various engineering: software engineering, systems engineering, enterprise architecture, scientific modeling... Various domains: Business Processes, Orchestrations, Functional chains, Activities, Protocols, Scenarios... Various objectives: dynamic analysis, design-space exploration, tradeoff analysis, models@runtime breathe life into your (domain-specific) behavioral models
  3. 3. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Model Execution (/Animation): Activity diagram
  4. 4. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Model Debugging: Why Should I care? Intuitive model comprehension technique No abstraction gap Better turn-arounds Stepwise Debugging: find the cause of a defect by manually observing and controlling execution forward Omniscient Debugging includes backward time traveling typically rely on an execution trace to store previous states Resume Stop Pause Step into Step over Step out Visualization of the current state Breakpoints
  5. 5. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Model Debugging: Arduino designer
  6. 6. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Required Tools
  7. 7. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Required Developments Nous ne pouvons pas afficher cette image pour l’instant. Animator
  8. 8. HOW TO GET YOUR OWN DEBUGGER ? How to provide omniscient debugging support to any executable domain- specific modeling language?
  9. 9. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 DIY: Arduino Designer
  10. 10. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Ecore Tools: Graphical Edition of Ecore Models
  11. 11. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Ecore Tools: ALE An Action Language for EMF To complement an Ecore metamodel with Runtime Data and Eoperation impl. To define any Interpreter, compiler, model transformation, analysis tools, etc… → Implement an interpreter in the form of a visitor over the Ecore metamodel ALE extends AQL (Acceleo Query Language) Provides side effects and additional complex control structures Main characteristics: Interpreted (though, a compiler also exist) Static typing, type inference Open class support Integrated into EcoreTools Define behavior over an Ecore metamodel Modular specification (thanks to Sirius layers and open class) http://gemoc.org/ale-lang
  12. 12. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Ecore Tools: ALE open class arduino.Block { def void execute() { for (i in self.instructions) { i.execute(); } } } http://gemoc.org/ale-lang open class arduino.If { @step def void execute() { if (self.condition.evaluate()) { self.block.execute(); } else { if (self.elseBlock != null) { self.elseBlock.execute(); } } } }
  13. 13. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Ecore Tools: Hello World!
  14. 14. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Ecore Tools: Going Further… https://youtu.be/x4viqEFN7PU
  15. 15. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 SiriusAnimator Sirius to define the animator by extension of the tooling description A generative approach for the trace manager A generic execution engine Encapsulate step over/into/return in transactions Transmit events and requests A generic control panel and (multi-dimensional) timeline A Sirius Animation Runtime Bridge the Eclipse Debug APIs and the EMF APIs Initialize the tooling extension
  16. 16. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 SiriusAnimator simulator.odesign customizing arduino.odesign: Contributing actions: Adapting style:
  17. 17. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 SiriusAnimator: Debugging in Arduino Designer
  18. 18. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 SiriusAnimator on SiriusLab
  19. 19. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Take Away Messages Model execution and debugging are key for behavioral modeling Proposed approach EcoreTools/Ecore to edit domain Models EcoreTools/ALE to implement Eoperation’s bodies SiriusAnimator to design graphical animation layers Leverages on time-honored concepts from academia Motivated, supported, and maturated by established industries Distributed as Open-Source Software through Eclipse projects To Be Continued... Source code and documentation: http://gemoc.org/ale-lang and https://www.eclipse.org/sirius/lab.html Publications: http://gemoc.org/publications.html Get in touch!
  20. 20. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Technology Maturity EcoreTools/Ecore: well-proven Eclipse technology EcoreTools/ALE: under code review in EcoreTools ready for pilot projects SiriusAnimator: ready for pilot projects
  21. 21. LOOKING AHEAD
  22. 22. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 The GEMOC Studio - 22 Design and integrate your executable DSMLs http://gemoc.org/studio soon http://eclipse.org/gemoc Language Workbench Modeling Workbench Edit, simulate and animate your heterogeneous models
  23. 23. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 The GEMOC Studio - 23 http://gemoc.org/studio
  24. 24. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Perspectives Documentation, tutorials and pilot projects Performance evaluation (and improvement) Support of other metaprogramming approaches Contribute to LSP to standardize the protocol between dynamic language services. Live and collaborative (meta)modeling Minimize the round trip between the DSL specification, the model, and its application (interpretation/compilation) Model experiencing environments (MEEs): what-if/for scenarios, trade-off analysis, design-space exploration
  25. 25. Model Simulation, Graphical Animation, and Omniscient Debugging with Sirius Animator Abstract. You have your shiny new modeling language up and running thanks to the Eclipse Modeling Technologies and you built a powerful graphical editor with Sirius to support it. But how can you see what is going on when a model is executed? Don't you need to debug your design in some way? Wouldn't you want to see your editors being animated directly within your modeling environment based on execution traces or simulator results? In this talk, we will present Sirius Animator, an add-on to Sirius that provides you a tool- supported approach to complement a modeling language with an execution semantics and a graphical description of an animation layer. The execution semantics is defined thanks to ALE, an Action Language for EMF integrated into Ecore Tools to modularly implement the bodies of your EOperations, and the graphical description of the animation layer is defined thanks to Sirius. From both inputs, Sirius Animator automatically provides an advanced and extensible environment for model simulation, animation and debugging, on top of the graphical editor of Sirius and the debug UI of Eclipse. To illustrate the overall approach, we will demonstrate the ability to seamlessly extend Arduino Designer, in order to provide an advanced debugging environment that includes graphical animation, forward/backward step-by-step, breakpoint definition, etc. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017
  26. 26. Hack your own languages? Join us in the SM@RT group of the CNRS IRIT lab, in a freshly rebuilt campus of the warm city of Toulouse! Open Positions for PhD and Postdoc BENOIT COMBEMALE PROFESSOR, UNIV. TOULOUSE, FRANCE HTTP://COMBEMALE.FR BENOIT.COMBEMALE@IRIT.FR @BCOMBEMALE

×