SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
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
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
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 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
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 pour l’instant.
Animator
HOW TO GET YOUR
OWN DEBUGGER ?
How to provide omniscient debugging
support to any executable domain-
specific modeling language?
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 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
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();
}
}
}
}
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 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
SiriusAnimator
Benoit Combemale @ SiriusCon’17, Nov. 2017
SiriusAnimator
simulator.odesign customizing arduino.odesign: Contributing actions:
Adapting style:
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 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!
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
LOOKING AHEAD
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
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
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
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
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

Más contenido relacionado

La actualidad más candente

Dive into POOSL : Simulate your systems!
Dive into POOSL : Simulate your systems!Dive into POOSL : Simulate your systems!
Dive into POOSL : Simulate your systems!Obeo
 
Incremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsIncremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsÁkos Horváth
 
Persistent world-scale AR experiences with ARCore Cloud Anchors and AR Founda...
Persistent world-scale AR experiences with ARCore Cloud Anchors and AR Founda...Persistent world-scale AR experiences with ARCore Cloud Anchors and AR Founda...
Persistent world-scale AR experiences with ARCore Cloud Anchors and AR Founda...Unity Technologies
 
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseEclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseÁbel Hegedüs
 
Connecting Capella to IBM ELM platform (IBM Jazz)
Connecting Capella to IBM ELM platform (IBM Jazz)Connecting Capella to IBM ELM platform (IBM Jazz)
Connecting Capella to IBM ELM platform (IBM Jazz)Obeo
 

La actualidad más candente (6)

Dive into POOSL : Simulate your systems!
Dive into POOSL : Simulate your systems!Dive into POOSL : Simulate your systems!
Dive into POOSL : Simulate your systems!
 
Incremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsIncremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical Systems
 
Complexity 1
Complexity 1Complexity 1
Complexity 1
 
Persistent world-scale AR experiences with ARCore Cloud Anchors and AR Founda...
Persistent world-scale AR experiences with ARCore Cloud Anchors and AR Founda...Persistent world-scale AR experiences with ARCore Cloud Anchors and AR Founda...
Persistent world-scale AR experiences with ARCore Cloud Anchors and AR Founda...
 
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseEclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
 
Connecting Capella to IBM ELM platform (IBM Jazz)
Connecting Capella to IBM ELM platform (IBM Jazz)Connecting Capella to IBM ELM platform (IBM Jazz)
Connecting Capella to IBM ELM platform (IBM Jazz)
 

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

Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and FutureBenoit Combemale
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!melbats
 
Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioBenoit Combemale
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...Benoit Combemale
 
Eclipse DemoCamp Toulouse 2017 - Mr. Robot : The modeling Society
Eclipse DemoCamp Toulouse 2017 - Mr. Robot : The modeling SocietyEclipse DemoCamp Toulouse 2017 - Mr. Robot : The modeling Society
Eclipse DemoCamp Toulouse 2017 - Mr. Robot : The modeling Societymelbats
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!melbats
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDEBenoit Combemale
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Luciano Resende
 
[SriusCon 2020] Sirius to the Web with Obeo Cloud Platform
[SriusCon 2020] Sirius to the Web with Obeo Cloud Platform[SriusCon 2020] Sirius to the Web with Obeo Cloud Platform
[SriusCon 2020] Sirius to the Web with Obeo Cloud PlatformObeo
 
SiriusCon 2020 - Sirius to the Web with Obeo Cloud Platform
SiriusCon 2020 - Sirius to the Web with Obeo Cloud PlatformSiriusCon 2020 - Sirius to the Web with Obeo Cloud Platform
SiriusCon 2020 - Sirius to the Web with Obeo Cloud Platformmelbats
 
Using Elyra for COVID-19 Analytics
Using Elyra for COVID-19 AnalyticsUsing Elyra for COVID-19 Analytics
Using Elyra for COVID-19 AnalyticsLuciano Resende
 
Roadmap - SiriusCon2016
Roadmap - SiriusCon2016Roadmap - SiriusCon2016
Roadmap - SiriusCon2016Cédric Brun
 
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionPut the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionObeo
 
ETR2013 - Obeo Designer/Sirius
ETR2013 - Obeo Designer/SiriusETR2013 - Obeo Designer/Sirius
ETR2013 - Obeo Designer/Siriusmelbats
 
Open frameworks 101_fitc
Open frameworks 101_fitcOpen frameworks 101_fitc
Open frameworks 101_fitcbenDesigning
 
#SiriusCon 2015: Sirius Roadmap
#SiriusCon 2015: Sirius Roadmap#SiriusCon 2015: Sirius Roadmap
#SiriusCon 2015: Sirius RoadmapObeo
 
Sirius : origins, present, future
Sirius : origins, present, futureSirius : origins, present, future
Sirius : origins, present, futureCédric Brun
 
ECMFA 2018 - Keynote : The future of modeling tools
ECMFA 2018 - Keynote : The future of modeling toolsECMFA 2018 - Keynote : The future of modeling tools
ECMFA 2018 - Keynote : The future of modeling toolsmelbats
 
Hithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxyHithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxyglefur
 
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
Sirius Role Playing Game  - Build diagram, table and tree editors in 20 minutesSirius Role Playing Game  - Build diagram, table and tree editors in 20 minutes
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutesCédric Brun
 

Similar a Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreTools and Sirius Animator (20)

Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and Future
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!
 
Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC Studio
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
 
Eclipse DemoCamp Toulouse 2017 - Mr. Robot : The modeling Society
Eclipse DemoCamp Toulouse 2017 - Mr. Robot : The modeling SocietyEclipse DemoCamp Toulouse 2017 - Mr. Robot : The modeling Society
Eclipse DemoCamp Toulouse 2017 - Mr. Robot : The modeling Society
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDE
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
 
[SriusCon 2020] Sirius to the Web with Obeo Cloud Platform
[SriusCon 2020] Sirius to the Web with Obeo Cloud Platform[SriusCon 2020] Sirius to the Web with Obeo Cloud Platform
[SriusCon 2020] Sirius to the Web with Obeo Cloud Platform
 
SiriusCon 2020 - Sirius to the Web with Obeo Cloud Platform
SiriusCon 2020 - Sirius to the Web with Obeo Cloud PlatformSiriusCon 2020 - Sirius to the Web with Obeo Cloud Platform
SiriusCon 2020 - Sirius to the Web with Obeo Cloud Platform
 
Using Elyra for COVID-19 Analytics
Using Elyra for COVID-19 AnalyticsUsing Elyra for COVID-19 Analytics
Using Elyra for COVID-19 Analytics
 
Roadmap - SiriusCon2016
Roadmap - SiriusCon2016Roadmap - SiriusCon2016
Roadmap - SiriusCon2016
 
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionPut the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight Session
 
ETR2013 - Obeo Designer/Sirius
ETR2013 - Obeo Designer/SiriusETR2013 - Obeo Designer/Sirius
ETR2013 - Obeo Designer/Sirius
 
Open frameworks 101_fitc
Open frameworks 101_fitcOpen frameworks 101_fitc
Open frameworks 101_fitc
 
#SiriusCon 2015: Sirius Roadmap
#SiriusCon 2015: Sirius Roadmap#SiriusCon 2015: Sirius Roadmap
#SiriusCon 2015: Sirius Roadmap
 
Sirius : origins, present, future
Sirius : origins, present, futureSirius : origins, present, future
Sirius : origins, present, future
 
ECMFA 2018 - Keynote : The future of modeling tools
ECMFA 2018 - Keynote : The future of modeling toolsECMFA 2018 - Keynote : The future of modeling tools
ECMFA 2018 - Keynote : The future of modeling tools
 
Hithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxyHithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxy
 
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
Sirius Role Playing Game  - Build diagram, table and tree editors in 20 minutesSirius Role Playing Game  - Build diagram, table and tree editors in 20 minutes
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
 

Más de Benoit Combemale

When Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software EngineeringWhen Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software EngineeringBenoit Combemale
 
Table ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciencesTable ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciencesBenoit Combemale
 
Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Benoit Combemale
 
SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019Benoit Combemale
 
Smart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering ModelsSmart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering ModelsBenoit Combemale
 
Introduction of the SLE'17 conference
Introduction of the SLE'17 conferenceIntroduction of the SLE'17 conference
Introduction of the SLE'17 conferenceBenoit Combemale
 
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSEXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSBenoit Combemale
 
Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Benoit Combemale
 
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of ViewSound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of ViewBenoit Combemale
 
Modeling for Sustainability
Modeling for SustainabilityModeling for Sustainability
Modeling for SustainabilityBenoit Combemale
 
Dynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented ModelingDynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented ModelingBenoit Combemale
 
Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC StudioBenoit Combemale
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...Benoit Combemale
 
Concurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLConcurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLBenoit Combemale
 
Experimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCExperimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCBenoit Combemale
 
The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)Benoit Combemale
 
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...Benoit Combemale
 
Wrap-up of the ANR project GEMOC
Wrap-up of the ANR project GEMOCWrap-up of the ANR project GEMOC
Wrap-up of the ANR project GEMOCBenoit Combemale
 
Reifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specificationsReifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specificationsBenoit Combemale
 
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...Benoit Combemale
 

Más de Benoit Combemale (20)

When Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software EngineeringWhen Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software Engineering
 
Table ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciencesTable ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciences
 
Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)
 
SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019
 
Smart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering ModelsSmart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering Models
 
Introduction of the SLE'17 conference
Introduction of the SLE'17 conferenceIntroduction of the SLE'17 conference
Introduction of the SLE'17 conference
 
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSEXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
 
Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)
 
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of ViewSound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
 
Modeling for Sustainability
Modeling for SustainabilityModeling for Sustainability
Modeling for Sustainability
 
Dynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented ModelingDynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented Modeling
 
Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC Studio
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
 
Concurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLConcurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCML
 
Experimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCExperimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOC
 
The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)
 
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
 
Wrap-up of the ANR project GEMOC
Wrap-up of the ANR project GEMOCWrap-up of the ANR project GEMOC
Wrap-up of the ANR project GEMOC
 
Reifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specificationsReifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specifications
 
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...
 

Último

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 

Último (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 

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

  • 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. 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. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Model Execution (/Animation): Activity diagram
  • 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. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Model Debugging: Arduino designer
  • 6. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Required Tools
  • 7. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Required Developments Nous ne pouvons pas afficher cette image pour l’instant. Animator
  • 8. HOW TO GET YOUR OWN DEBUGGER ? How to provide omniscient debugging support to any executable domain- specific modeling language?
  • 9. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 DIY: Arduino Designer
  • 10. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Ecore Tools: Graphical Edition of Ecore Models
  • 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. 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. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Ecore Tools: Hello World!
  • 14. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 Ecore Tools: Going Further… https://youtu.be/x4viqEFN7PU
  • 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. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 SiriusAnimator simulator.odesign customizing arduino.odesign: Contributing actions: Adapting style:
  • 17. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 SiriusAnimator: Debugging in Arduino Designer
  • 18. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 SiriusAnimator on SiriusLab
  • 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. 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
  • 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. SiriusAnimator Benoit Combemale @ SiriusCon’17, Nov. 2017 The GEMOC Studio - 23 http://gemoc.org/studio
  • 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.
  • 26. 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
  • 27. 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