+ All Categories
Home > Software > Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreTools and Sirius Animator

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

Date post: 22-Jan-2018
Category:
Upload: benoit-combemale
View: 302 times
Download: 2 times
Share this document with a friend
27
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 [email protected] @BCOMBEMALE
Transcript
Page 1: Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreTools and Sirius Animator

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 COMBEMALEPROFESSOR, UNIV. TOULOUSE, FRANCE

HTTP://COMBEMALE.FR [email protected]@BCOMBEMALE

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

SiriusAnimatorBenoit 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

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

SiriusAnimatorBenoit Combemale @ SiriusCon’17, Nov. 2017

Model Execution (/Animation): Activity diagram

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

SiriusAnimatorBenoit 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

PauseStep into

Step overStep out

Visualization ofthe current state

Breakpoints

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

SiriusAnimatorBenoit Combemale @ SiriusCon’17, Nov. 2017

Model Debugging: Arduino designer

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

SiriusAnimatorBenoit Combemale @ SiriusCon’17, Nov. 2017

Required Tools

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

SiriusAnimatorBenoit Combemale @ SiriusCon’17, Nov. 2017

Required DevelopmentsNous ne pouvons pas afficher cette image pour l’instant.

Animator

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

HOW TO GET YOUROWN DEBUGGER ?

How to provide omniscient debuggingsupport to any executable domain-specific modeling language?

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

SiriusAnimatorBenoit Combemale @ SiriusCon’17, Nov. 2017

DIY: Arduino Designer

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

SiriusAnimatorBenoit Combemale @ SiriusCon’17, Nov. 2017

Ecore Tools: Graphical Edition of Ecore Models

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

SiriusAnimatorBenoit 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

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

SiriusAnimatorBenoit 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 {@stepdef void execute() {

if (self.condition.evaluate()) {self.block.execute();

} else {if (self.elseBlock != null) {

self.elseBlock.execute();}

}}

}

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

SiriusAnimatorBenoit Combemale @ SiriusCon’17, Nov. 2017

Ecore Tools: Hello World!

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

SiriusAnimatorBenoit Combemale @ SiriusCon’17, Nov. 2017

Ecore Tools: Going Further…

https://youtu.be/x4viqEFN7PU

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

SiriusAnimatorBenoit 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

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

SiriusAnimatorBenoit Combemale @ SiriusCon’17, Nov. 2017

SiriusAnimator

simulator.odesign customizing arduino.odesign: Contributing actions:

Adapting style:

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

SiriusAnimatorBenoit Combemale @ SiriusCon’17, Nov. 2017

SiriusAnimator: Debugging in Arduino Designer

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

SiriusAnimatorBenoit Combemale @ SiriusCon’17, Nov. 2017

SiriusAnimator on SiriusLab

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

SiriusAnimatorBenoit 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!

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

SiriusAnimatorBenoit 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

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

LOOKING AHEAD

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

SiriusAnimatorBenoit Combemale @ SiriusCon’17, Nov. 2017

The GEMOC Studio

-22

Design and integrate your executable DSMLs

http://gemoc.org/studio

soonhttp://eclipse.org/gemoc

LanguageWorkbench

ModelingWorkbench

Edit, simulate and animate your heterogeneous models

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

SiriusAnimatorBenoit Combemale @ SiriusCon’17, Nov. 2017

The GEMOC Studio

-23

http://gemoc.org/studio

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

SiriusAnimatorBenoit 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

Page 25: Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreTools and Sirius Animator
Page 26: Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreTools and Sirius Animator

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

Abstract.

You have your shiny new modeling language up and running thanks to the EclipseModeling 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 debugyour design in some way? Wouldn't you want to see your editors being animated directlywithin 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 anda graphical description of an animation layer. The execution semantics is defined thanks toALE, an Action Language for EMF integrated into Ecore Tools to modularly implement thebodies of your EOperations, and the graphical description of the animation layer is definedthanks to Sirius. From both inputs, Sirius Animator automatically provides an advanced andextensible environment for model simulation, animation and debugging, on top of thegraphical editor of Sirius and the debug UI of Eclipse. To illustrate the overall approach, wewill demonstrate the ability to seamlessly extend Arduino Designer, in order to provide anadvanced debugging environment that includes graphical animation, forward/backwardstep-by-step, breakpoint definition, etc.

SiriusAnimatorBenoit Combemale @ SiriusCon’17, Nov. 2017

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

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 COMBEMALEPROFESSOR, UNIV. TOULOUSE, FRANCE

HTTP://COMBEMALE.FR [email protected]@BCOMBEMALE


Recommended