SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
LangDev Meeting, March, 2018, Amsterdam, NL.
Execution Framework of the GEMOC Studio
BENOIT COMBEMALE
PROFESSOR, UNIV. TOULOUSE, FRANCE
HTTP://COMBEMALE.FR
BENOIT.COMBEMALE@IRIT.FR
@BCOMBEMALE
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
The GEMOC Studio
- 2
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
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
The GEMOC Studio
- 3
http://gemoc.org/studio
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
The GEMOC Studio
- 4
Benoit Combemale, Julien Deantoni, Olivier Barais, Arnaud Blouin, Erwan Bousse, Cédric Brun, Thomas Degueule and Didier
Vojtisek, "A Solution to the TTC'15 Model Execution Case Using the GEMOC Studio," In 8th Transformation Tool Contest (TTC),
2015. Overall Winner
http://gemoc.org/studio
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
The GEMOC Execution Framework
- 5
Trace
metamodel
and
constructor
Model Animator
Execution Framework
Operational Semantics
Metaprogramming
Approach
(Kermeta/Xtend/Java,
MoCCML, xMOF, BCOoL)
Ecore
aRunning
Model
timeline, control
panel, omniscient
debugger, VCD
Concrete Syntax
Graphical
representation
Sirius
Graphical
representation
Interpreter Diagram
Model Editor
Diagram
Execution
Rules
Execution
State
Abstract Syntax
Domain Model
(Metamodel)
Legend
code generation
<<dependsOn>>
<<conformsTo>>
Language
Framework
Modeling
Framework
"Execution Framework of the GEMOC Studio (Tool Demo)", by Erwan Bousse, Thomas Degueule, Didier
Vojtisek, Tanja Mayerhofer, Julien Deantoni, and Benoit Combemale. Proceedings of the 2016 ACM SIGPLAN
International Conference on Software Language Engineering (SLE), Oct 2016, Amsterdam, NL.
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
Execution Engine
- 6
▸API
▸ initialize (load the xDSL/model, feed the initial parameters…)
▸ execute
▸ add or remove addons
▸ access the current stack of execution steps
▸ get or set the engine status (started, paused, stopped, etc.)
▸ access the execution context (e.g., the model, the execution mode)
▸ start/stop the engine
▸ create an execution step
▸Concrete implementations
▸ Java/Xtend/K3,
▸ ALE,
▸ xMOF
▸ MoCCML
▸ BCOoL
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
Addons
- 7
▸API (synchronously called by the execution framework)
▸ engineStarted / engineStopped
▸ aboutToExecuteStep / stepExecuted
▸Concrete implementations
▸ Graphical animator
▸ Execution trace manager
▸ Omniscient debugger
▸ VCD
▸ Stimuli manager
▸ Step decider
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
DIY: Arduino Designer
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
Ecore Tools: Graphical Edition of Ecore Models
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
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();
}
}
}
}
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
SiriusAnimator
simulator.odesign customizing arduino.odesign: Contributing actions:
Adapting style:
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
ArduinoDesigner
https://github.com/gemoc/arduinomodeling
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
PacMan!
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
ActivityDiagramDebugger
-
14
https://github.com/gemoc/activitydiagram
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
ActivityDiagramDebugger
-
15
Benoit Combemale, Julien Deantoni, Matias Vara Larsen, Frédéric Mallet, Olivier Barais, Benoit Baudry,
Robert France, "Reifying Concurrency for Executable Metamodeling," In Software Language
Engineering (SLE), 2013
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
Behavioral Model Coordination
-
16
Matias Ezequiel Vara Larsen, Julien Deantoni, Benoit Combemale, Frédéric Mallet, "A Behavioral
Coordination Operator Language (BCOoL)," In MODELS 2015
CONCLUSION AND PERSPECTIVES
Take Away Messages
▸GEMOC Studio for
▸ Modular and reusable language design and implementation
▸ Executable modeling, incl. simulation, animation and debugging
▸ DSL globalization, incl. concurrent execution, lg composition, etc.
▸ Further SLE R&T (community-wide research platform)
▸Main rationales for executability
▸ Set of dedicated and related meta-languages
▸ Explicit structural and behavioral language interfaces
▸ Execution Framework providing a behavioral protocol for
execution, simulation and debugging
▸ Generative approach for execution trace management
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
Ongoing Work
• Executability:
▸ Behavioral interface inference for executable DSLs (Leroy’s PhD, with TU Wien)
▸ Bus to bridge technological spaces (with CWI)
▸ Web-based, dynamically reconfigurable micro-service architecture for
modeling environment (Coulon’s PhD, with Obeo)
▸ Concurrent metaprogramming, applied to live modeling and design space
exploration (Megna’s PhD, with Safran)
☞ Investigate a new (event-based) metaprogramming model for executable
DSL Design & Implementation
• Reusability:
▸ Unified metaprogramming model for variability management,
customization and composition (Leduc’s PhD, with DGA)
Execution Framework of the GEMOC Studio
Abstract.
The development and evolution of an advanced IDE for a Domain-Specific
Language (DSL) is a tedious task. Recent efforts in language workbenches result in
frameworks that automatically provide syntactic tooling such as advanced editors.
However, defining the execution semantics of languages and their tooling remains
mostly hand crafted. Similarly to editors that share code completion or syntax
highlighting, the development of advanced debuggers, animators, and others
execution analysis tools shares common facilities, which should be reused among
various DSLs.
In this talk, I will present and make a demo of the execution framework offered by
the GEMOC studio, an Eclipse-based language and modeling workbench. The
framework provides a generic interface to plug-in different execution engines
associated to their specific metalanguages used to define the discrete-event
operational semantics of DSMLs (e.g., Kermeta/Xtend, xMOF, ALE…). It also
integrates generic runtime services that are shared among the approaches used to
implement the execution semantics, such as graphical animation and omniscient
debugging (provided by Sirius Animator).
Execution Framework of the GEMOC Studio
Benoit Combemale @ LangDev Meeting, March, 2018
Hack your own languages?
Join us in the SM@RT group of the CNRS IRIT lab!
Open Positions for
SE, PhD and Postdoc
BENOIT COMBEMALE
PROFESSOR, UNIV. TOULOUSE, FRANCE
HTTP://COMBEMALE.FR
BENOIT.COMBEMALE@IRIT.FR
@BCOMBEMALE

Weitere ähnliche Inhalte

Was ist angesagt?

PeterSels2016CV
PeterSels2016CVPeterSels2016CV
PeterSels2016CV
Peter Sels
 
Blake Xu Resume
Blake Xu ResumeBlake Xu Resume
Blake Xu Resume
Blake Xu
 
ResumeThomasV9
ResumeThomasV9ResumeThomasV9
ResumeThomasV9
Thomas Yeh
 

Was ist angesagt? (17)

Quality of Experience in Smart Environments
Quality of Experience in Smart EnvironmentsQuality of Experience in Smart Environments
Quality of Experience in Smart Environments
 
Modeling for Sustainability
Modeling for SustainabilityModeling for Sustainability
Modeling for Sustainability
 
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...
 
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
 
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
 
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
 
PeterSels2016CV
PeterSels2016CVPeterSels2016CV
PeterSels2016CV
 
DAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - IntroductionDAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - Introduction
 
Practical Aggregate Programming with Protelis @ SASO2017
Practical Aggregate Programming with Protelis @ SASO2017Practical Aggregate Programming with Protelis @ SASO2017
Practical Aggregate Programming with Protelis @ SASO2017
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-op
 
Blake Xu Resume
Blake Xu ResumeBlake Xu Resume
Blake Xu Resume
 
Metamodeling - Advanced Software Engineering Course 2014/2015
Metamodeling - Advanced Software Engineering Course 2014/2015Metamodeling - Advanced Software Engineering Course 2014/2015
Metamodeling - Advanced Software Engineering Course 2014/2015
 
IRJET- Sign Language Converter using OpenCV
IRJET- Sign Language Converter using OpenCVIRJET- Sign Language Converter using OpenCV
IRJET- Sign Language Converter using OpenCV
 
CV_MinarPetr
CV_MinarPetrCV_MinarPetr
CV_MinarPetr
 
ResumeThomasV9
ResumeThomasV9ResumeThomasV9
ResumeThomasV9
 
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
 
An LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsAn LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model Transformations
 

Ähnlich wie Execution Framework of the GEMOC Studio

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
 
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Benoit Combemale
 
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
Amanuel Alemayehu
 
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
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
SIVAJISADHANA
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
SIVAJISADHANA
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
SIVAJISADHANA
 

Ähnlich wie Execution Framework of the GEMOC Studio (20)

Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDE
 
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!
 
Evaluation of meta modeling tools for domain specific modeling language chnjl
Evaluation of meta modeling   tools for domain specific modeling language chnjlEvaluation of meta modeling   tools for domain specific modeling language chnjl
Evaluation of meta modeling tools for domain specific modeling language chnjl
 
STATICMOCK : A Mock Object Framework for Compiled Languages
STATICMOCK : A Mock Object Framework for Compiled Languages STATICMOCK : A Mock Object Framework for Compiled Languages
STATICMOCK : A Mock Object Framework for Compiled Languages
 
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
 
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
 
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWare
 
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...
 
The Economics of OptimJ
The Economics of OptimJThe Economics of OptimJ
The Economics of OptimJ
 
QSOUL/Aop
QSOUL/AopQSOUL/Aop
QSOUL/Aop
 
Katalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio - Successful Test Automation for both Testers and DevelopersKatalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio - Successful Test Automation for both Testers and Developers
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platform
 
One Dsl4negotiations Presented
One Dsl4negotiations PresentedOne Dsl4negotiations Presented
One Dsl4negotiations Presented
 
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!
 
Collaborative modeling and metamodeling
Collaborative modeling and metamodelingCollaborative modeling and metamodeling
Collaborative modeling and metamodeling
 
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
 

Mehr von Benoit 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 Models
Benoit Combemale
 

Mehr von Benoit Combemale (14)

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
 
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
 
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
 
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
 
The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)
 
Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)
 
Formally Defining and Iterating Infinite Models (MODELS 2012)
Formally Defining and Iterating Infinite Models (MODELS 2012)Formally Defining and Iterating Infinite Models (MODELS 2012)
Formally Defining and Iterating Infinite Models (MODELS 2012)
 
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-TimeHyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
 
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
 
A Journey Through MDE, DSL and SLE (July 2nd, 2015)
A Journey Through MDE, DSL and SLE (July 2nd, 2015)A Journey Through MDE, DSL and SLE (July 2nd, 2015)
A Journey Through MDE, DSL and SLE (July 2nd, 2015)
 

Kürzlich hochgeladen

Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 

Kürzlich hochgeladen (20)

%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 

Execution Framework of the GEMOC Studio

  • 1. LangDev Meeting, March, 2018, Amsterdam, NL. Execution Framework of the GEMOC Studio BENOIT COMBEMALE PROFESSOR, UNIV. TOULOUSE, FRANCE HTTP://COMBEMALE.FR BENOIT.COMBEMALE@IRIT.FR @BCOMBEMALE
  • 2. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 The GEMOC Studio - 2 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
  • 3. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 The GEMOC Studio - 3 http://gemoc.org/studio
  • 4. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 The GEMOC Studio - 4 Benoit Combemale, Julien Deantoni, Olivier Barais, Arnaud Blouin, Erwan Bousse, Cédric Brun, Thomas Degueule and Didier Vojtisek, "A Solution to the TTC'15 Model Execution Case Using the GEMOC Studio," In 8th Transformation Tool Contest (TTC), 2015. Overall Winner http://gemoc.org/studio
  • 5. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 The GEMOC Execution Framework - 5 Trace metamodel and constructor Model Animator Execution Framework Operational Semantics Metaprogramming Approach (Kermeta/Xtend/Java, MoCCML, xMOF, BCOoL) Ecore aRunning Model timeline, control panel, omniscient debugger, VCD Concrete Syntax Graphical representation Sirius Graphical representation Interpreter Diagram Model Editor Diagram Execution Rules Execution State Abstract Syntax Domain Model (Metamodel) Legend code generation <<dependsOn>> <<conformsTo>> Language Framework Modeling Framework "Execution Framework of the GEMOC Studio (Tool Demo)", by Erwan Bousse, Thomas Degueule, Didier Vojtisek, Tanja Mayerhofer, Julien Deantoni, and Benoit Combemale. Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering (SLE), Oct 2016, Amsterdam, NL.
  • 6. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 Execution Engine - 6 ▸API ▸ initialize (load the xDSL/model, feed the initial parameters…) ▸ execute ▸ add or remove addons ▸ access the current stack of execution steps ▸ get or set the engine status (started, paused, stopped, etc.) ▸ access the execution context (e.g., the model, the execution mode) ▸ start/stop the engine ▸ create an execution step ▸Concrete implementations ▸ Java/Xtend/K3, ▸ ALE, ▸ xMOF ▸ MoCCML ▸ BCOoL
  • 7. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 Addons - 7 ▸API (synchronously called by the execution framework) ▸ engineStarted / engineStopped ▸ aboutToExecuteStep / stepExecuted ▸Concrete implementations ▸ Graphical animator ▸ Execution trace manager ▸ Omniscient debugger ▸ VCD ▸ Stimuli manager ▸ Step decider
  • 8. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 DIY: Arduino Designer
  • 9. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 Ecore Tools: Graphical Edition of Ecore Models
  • 10. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 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(); } } } }
  • 11. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 SiriusAnimator simulator.odesign customizing arduino.odesign: Contributing actions: Adapting style:
  • 12. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 ArduinoDesigner https://github.com/gemoc/arduinomodeling
  • 13. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 PacMan!
  • 14. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 ActivityDiagramDebugger - 14 https://github.com/gemoc/activitydiagram
  • 15. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 ActivityDiagramDebugger - 15 Benoit Combemale, Julien Deantoni, Matias Vara Larsen, Frédéric Mallet, Olivier Barais, Benoit Baudry, Robert France, "Reifying Concurrency for Executable Metamodeling," In Software Language Engineering (SLE), 2013
  • 16. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 Behavioral Model Coordination - 16 Matias Ezequiel Vara Larsen, Julien Deantoni, Benoit Combemale, Frédéric Mallet, "A Behavioral Coordination Operator Language (BCOoL)," In MODELS 2015
  • 18. Take Away Messages ▸GEMOC Studio for ▸ Modular and reusable language design and implementation ▸ Executable modeling, incl. simulation, animation and debugging ▸ DSL globalization, incl. concurrent execution, lg composition, etc. ▸ Further SLE R&T (community-wide research platform) ▸Main rationales for executability ▸ Set of dedicated and related meta-languages ▸ Explicit structural and behavioral language interfaces ▸ Execution Framework providing a behavioral protocol for execution, simulation and debugging ▸ Generative approach for execution trace management Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018
  • 19. Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018 Ongoing Work • Executability: ▸ Behavioral interface inference for executable DSLs (Leroy’s PhD, with TU Wien) ▸ Bus to bridge technological spaces (with CWI) ▸ Web-based, dynamically reconfigurable micro-service architecture for modeling environment (Coulon’s PhD, with Obeo) ▸ Concurrent metaprogramming, applied to live modeling and design space exploration (Megna’s PhD, with Safran) ☞ Investigate a new (event-based) metaprogramming model for executable DSL Design & Implementation • Reusability: ▸ Unified metaprogramming model for variability management, customization and composition (Leduc’s PhD, with DGA)
  • 20. Execution Framework of the GEMOC Studio Abstract. The development and evolution of an advanced IDE for a Domain-Specific Language (DSL) is a tedious task. Recent efforts in language workbenches result in frameworks that automatically provide syntactic tooling such as advanced editors. However, defining the execution semantics of languages and their tooling remains mostly hand crafted. Similarly to editors that share code completion or syntax highlighting, the development of advanced debuggers, animators, and others execution analysis tools shares common facilities, which should be reused among various DSLs. In this talk, I will present and make a demo of the execution framework offered by the GEMOC studio, an Eclipse-based language and modeling workbench. The framework provides a generic interface to plug-in different execution engines associated to their specific metalanguages used to define the discrete-event operational semantics of DSMLs (e.g., Kermeta/Xtend, xMOF, ALE…). It also integrates generic runtime services that are shared among the approaches used to implement the execution semantics, such as graphical animation and omniscient debugging (provided by Sirius Animator). Execution Framework of the GEMOC Studio Benoit Combemale @ LangDev Meeting, March, 2018
  • 21. Hack your own languages? Join us in the SM@RT group of the CNRS IRIT lab! Open Positions for SE, PhD and Postdoc BENOIT COMBEMALE PROFESSOR, UNIV. TOULOUSE, FRANCE HTTP://COMBEMALE.FR BENOIT.COMBEMALE@IRIT.FR @BCOMBEMALE