SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
LANGDEV MEETUP, MARCH 21-22, 2019, AMSTERDAM, NL
BREATHE LIFE INTO YOUR IDE
BENOIT COMBEMALE
PROFESSOR, UNIV. TOULOUSE, FRANCE
HTTP://COMBEMALE.FR
BENOIT.COMBEMALE@IRIT.FR
@BCOMBEMALE
BENOIT COMBEMALE
PROFESSOR, UNIV. TOULOUSE & INRIA, FRANCE
HTTP://COMBEMALE.FR
BENOIT.COMBEMALE@INRIA.FR
@BCOMBEMALE
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019
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
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019
Model Execution: Main Challenges
• A behavioral model is a structural description of an intended
behavior
• Challenge: how to support modelers in bridging the gap between
the model structure and the corresponding behavior, over the
time
• (some) Expected facilities ?
• debug the execution results (i.e. runtime state) instead of the model itself
• consider the dimension of time natively (if not already reified in the
model, e.g. message sequence charts)
• bridge the gap between the model execution and its interpretation within
a particular domain (e.g., moldable debugger [Chis et al.])
• ease the understanding of the impact of a model change
3
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019
Model Execution: Main Challenges
• A behavioral model is a structural description of an intended
behavior
• Challenge: how to support modelers in bridging the gap between
the model structure and the corresponding behavior, over the
time
• (some) Expected facilities ?
• debug the execution results (i.e. runtime state) instead of the model itself
• consider the dimension of time natively (if not already reified in the
model, e.g. message sequence charts)
• bridge the gap between the model execution and its interpretation within
a particular domain (e.g., moldable debugger [Chis et al.])
• ease the understanding of the impact of a model change
4
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019
The GEMOC Studio
5
Model Animator
Operational Semantics
(executable)
Model
(executable)
Modeling
Language
Metamodeling
LanguagesKermeta Ecore
aModel
trace
manager,
timeline,
control
panel,
omniscient
debugger
Concrete Syntax
Graphical
representation
Sirius
Graphical
representation
DSA Executor
Interpreter
Diagram
Model Editor
Diagram
Domain-Specific
Actions
Execution
Functions
Execution
Data
Abstract Syntax
Domain Model
(Metamodel)
Legend
code generation
<<dependsOn>>
<<conformsTo>>
ALE
https://eclipse.org/gemoc
ALE
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019 6
▸ An Action Language for EMF [EclipseCon’17]
▸ To complement an Ecore metamodel with Runtime Data and Eoperation impl.
▸ To define any Interpreter, compiler, model transformation, analysis tools…
▸ 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
▸ Contributed to Eclipse EcoreTools
▸ Define behavior over an Ecore metamodel
▸ Modular specification (thanks to Sirius layers and open class)
▸ Integrated into the Eclipse GEMOC Studio
▸ Binding to the debug UI, control panel and trace manager
Coulon’s PhD,
Obeo & Inria
https://github.com/gemoc/ale-lang
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();
}
}
}
}
LANGDEV’18
SiriusAnimator
Animator
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019
LANGDEV’18
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019
https://github.com/gemoc/arduinomodeling
ArduinoDebugger
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019
ActivityDiagramDebugger
https://github.com/gemoc/activitydiagram
9
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019
PacMan!
10
- 11
HIGH PERFORMANCE COMPUTING
in collaboration with
Fostering metamodels and grammars within a dedicated environment for HPC: the NabLab environment
Benoît Lelandais, Marie-Pierre Oudot, Benoît Combemale
In International Conference on Software Language Engineering (SLE), 2018
- 12
HIGH PERFORMANCE COMPUTING
in collaboration with
- 13
HIGH PERFORMANCE COMPUTING
in collaboration with
in collaboration with
Current technical limitations:
• technical integration of Monaco, JupyterLab and the
language server
• Integration of Monaco in notebook’s cells
• syntax highlighting not supported by LSP
• collaborative editing
Ongoing work:
• automatic generation of REPL language servers
• graphical representation based on Sirius on the web
- 14
WATER FLOOD PREDICTION
in collaboration with
A. Cheron, Master Thesis, 2017
- 15
WATER FLOOD PREDICTION
in collaboration with
J. Sallou, PhD, 2018-…
Description / documentation of
the simulation process
Code of one step of the
simulation process
Visualization of the simulation
results
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019
Towards Live Modeling
• Model execution and debugging ease the
understanding of the actual behavior that
describes a given model
• But are limited for understanding the impact of a
model change in the resulting behavior
17
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019
Some Scenarios for Live Modeling
Live coding
Design Space
Exploration
Tradeoff analysis &
Decision making
Arts
Computational
Sciences
Engineering
Digital twins
Rationales for Live Modeling
▸ Focus on executable modeling, where:
▸ the model(s) gathers the data and the behavior
▸ the model(s) conforms to a gray box operational semantics
▸ Live modeling should support the following main scenarios:
▸ Immediate feedback: changes at runtime of the model structure
(data or behavior)
▸ Direct manipulation: changes at runtime of the model state
▸ Additional scenarios: change at runtime of the input scenario, the
language semantics…
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019 19
Live Modeling: Towards a Conceptual Model
▸3 dimensions of abstraction:
▸ structure (data/behavior)
▸ state
▸ time
▸Immediately observe the impact on the model state
▸ surimposition on top of the running model
▸ through specific views of the model state, and over the time
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019 20
(BretVictor,http://worrydream.com)
Live Modeling: Processes
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019 21
GEMOC Engine
(executable)
Model
(executable)
Modeling
Language
Metamodeling
Languages
ALE Ecore
MyDSML
.ale
MyDSML
.ecore
aRunningModel
VM
Model
State
AST
aRunningModel
Model
State
AST
Change on the model (AST):
• Compute the delta
• Check delta validity (e.g.,
conformity)
• Reconcile delta (i.e., compute
how to apply it to the static
model, and apply it)
• Reflect the syntactic delta in
the model state
Change on the model state:
• Compute the delta
• Check delta validity (e.g.,
conformity)
• Reconcile delta
NB: checking vs. reconciliation?
Breathe life into your…
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019 22
▸ Operational Semantics
▸ Static introduction
with open classes
▸ Kermeta v1, v2, v3 and
ALE
metamodel
model execution
designer
animation and debug
IDE
live modeling
2005 2012 2018
▸ Execution trace
management
▸ Forward/backard step-
by-step execution
▸ GEMOC Studio
▸ Immediate feedback &
direct manipulation
▸ Reconciliation operators
▸ Extending LSP, GSP &
DAP
Pierre-Alain Muller, Franck Fleurey,
Jean-Marc Jézéquel: Weaving
Executability into Object-Oriented Meta-
languages. MoDELS 2005: 264-278
Erwan Bousse, Thomas Degueule, Didier
Vojtisek, Tanja Mayerhofer, Julien DeAntoni,
Benoît Combemale: Execution framework of the
GEMOC studio (tool demo). SLE 2016: 84-89
Jean-Marc Jézéquel, Benoît Combemale, Olivier Barais, Martin
Monperrus, François Fouquet: Mashup of metalanguages and
its implementation in the Kermeta language workbench.
Software and System Modeling 14(2): 905-920 (2015) …
Live Modeling: (some) Open Challenges
▸Model change:
▸ what to open to modification in the model and the model state?
▸ explicit language interfaces (similarly to debugging)
▸ how to ensure the validity of the changes?
▸Reconciliation operators:
▸ Pattern, techniques and heuristics for reconciliation operators?
▸ when can we reconcile or restart?
▸Impact visualization:
▸ what to open to visualization?
▸ Live modeling over related, heterogeneous, models
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019 23
Breathe life into your IDE
Abstract.
Live modeling brings facilities to enhance modeling environments with immediate feedback
(from changes on the model to the runtime state, and possibly the execution trace), and direct
manipulation (from changes on the runtime state to the model). Such facilities are helpful in
tuning specific solutions, exploring design spaces, or performing tradeoff analysis. Hence, live
modeling have a growing appeal among very different stakeholders, ranging from software
and systems engineers, to scientists, decision makers, artists or the general public.
After a brief introduction of several case studies illustrating the different scenarios expected by
language users, I explore in this talk live modeling from the point of view of a language
engineer. I describe a general approach to bring this new concern in the specification of
domain-specific languages. Then I explore the underlying challenges, review the current
initiatives, and propose a research roadmap.
As take away messages, the audience will learn about live modeling and how to support it in
the development of domain-specific languages. A description of the current initiatives, the
open challenges and an associated research roadmap is given to help the community in future
investigations.
LangDev Meetup @ Amazon
Benoit Combemale, March, 2019

Weitere ähnliche Inhalte

Was ist angesagt?

Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Modeling For Sustainability: Or How to Make Smart CPS Smarter?Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Benoit Combemale
 
What do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A SurveyWhat do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A Survey
Obeo
 
Model driven software engineering in practice book - chapter 7 - Developing y...
Model driven software engineering in practice book - chapter 7 - Developing y...Model driven software engineering in practice book - chapter 7 - Developing y...
Model driven software engineering in practice book - chapter 7 - Developing y...
Marco Brambilla
 

Was ist angesagt? (20)

Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems Modeling
 
Smart Built-Environments for People Living with Dementia_Crimson Publishers
Smart Built-Environments for People Living with Dementia_Crimson PublishersSmart Built-Environments for People Living with Dementia_Crimson Publishers
Smart Built-Environments for People Living with Dementia_Crimson Publishers
 
Temporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformTemporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platform
 
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
 
Modeling for Sustainability
Modeling for SustainabilityModeling for Sustainability
Modeling for Sustainability
 
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
 
Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Modeling For Sustainability: Or How to Make Smart CPS Smarter?Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Modeling For Sustainability: Or How to Make Smart CPS Smarter?
 
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
 
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
 
The secret life of rules in Software Engineering
The secret life of rules in Software EngineeringThe secret life of rules in Software Engineering
The secret life of rules in Software Engineering
 
Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?
 
What do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A SurveyWhat do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A Survey
 
Towards a UML and IFML mapping to GraphQL
Towards a UML and IFML mapping to GraphQLTowards a UML and IFML mapping to GraphQL
Towards a UML and IFML mapping to GraphQL
 
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)
 
020523+the+programmers+apprentice.ppt
020523+the+programmers+apprentice.ppt020523+the+programmers+apprentice.ppt
020523+the+programmers+apprentice.ppt
 
Measuring Computational Complexity the qualitative and quantitative intertwin...
Measuring Computational Complexity the qualitative and quantitative intertwin...Measuring Computational Complexity the qualitative and quantitative intertwin...
Measuring Computational Complexity the qualitative and quantitative intertwin...
 
Some words about me 2012
Some words about me 2012Some words about me 2012
Some words about me 2012
 
Model driven software engineering in practice book - chapter 7 - Developing y...
Model driven software engineering in practice book - chapter 7 - Developing y...Model driven software engineering in practice book - chapter 7 - Developing y...
Model driven software engineering in practice book - chapter 7 - Developing y...
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
 
Workshop8 18 12 09 Ingles
Workshop8   18 12 09 InglesWorkshop8   18 12 09 Ingles
Workshop8 18 12 09 Ingles
 

Ähnlich wie 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!
melbats
 
Stream SQL eventflow visual programming for real programmers presentation
Stream SQL eventflow visual programming for real programmers presentationStream SQL eventflow visual programming for real programmers presentation
Stream SQL eventflow visual programming for real programmers presentation
streambase
 
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Ectel nods v2
Ectel nods v2Ectel nods v2
Ectel nods v2
nodenot
 

Ähnlich wie Breathe Life Into Your IDE (20)

Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC Studio
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and Future
 
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
 
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!
 
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
 
Msr2021 tutorial-di penta
Msr2021 tutorial-di pentaMsr2021 tutorial-di penta
Msr2021 tutorial-di penta
 
GPSS interactive learning environment
GPSS interactive learning environmentGPSS interactive learning environment
GPSS interactive learning environment
 
Scalable architectures for phenotype libraries
Scalable architectures for phenotype librariesScalable architectures for phenotype libraries
Scalable architectures for phenotype libraries
 
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...
 
DAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - IntroductionDAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - Introduction
 
GPSS interactive learning environment
GPSS interactive learning environmentGPSS interactive learning environment
GPSS interactive learning environment
 
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...
Lean Model-Driven Development through  Model-Interpretation: the CPAL design ...Lean Model-Driven Development through  Model-Interpretation: the CPAL design ...
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...
 
DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...
DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...
DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...
 
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
 
Stream SQL eventflow visual programming for real programmers presentation
Stream SQL eventflow visual programming for real programmers presentationStream SQL eventflow visual programming for real programmers presentation
Stream SQL eventflow visual programming for real programmers presentation
 
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...
 
Put Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and HowPut Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and How
 
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
 
Ectel nods v2
Ectel nods v2Ectel nods v2
Ectel nods v2
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 

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

Mehr von Benoit Combemale (19)

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
 
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...
 
Introduction of the SLE'17 conference
Introduction of the SLE'17 conferenceIntroduction of the SLE'17 conference
Introduction of the SLE'17 conference
 
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
 
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
 
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

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Kürzlich hochgeladen (20)

10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
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
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
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
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
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
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
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
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
%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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 

Breathe Life Into Your IDE

  • 1. LANGDEV MEETUP, MARCH 21-22, 2019, AMSTERDAM, NL BREATHE LIFE INTO YOUR IDE BENOIT COMBEMALE PROFESSOR, UNIV. TOULOUSE, FRANCE HTTP://COMBEMALE.FR BENOIT.COMBEMALE@IRIT.FR @BCOMBEMALE BENOIT COMBEMALE PROFESSOR, UNIV. TOULOUSE & INRIA, FRANCE HTTP://COMBEMALE.FR BENOIT.COMBEMALE@INRIA.FR @BCOMBEMALE
  • 2. LangDev Meetup @ Amazon Benoit Combemale, March, 2019 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. LangDev Meetup @ Amazon Benoit Combemale, March, 2019 Model Execution: Main Challenges • A behavioral model is a structural description of an intended behavior • Challenge: how to support modelers in bridging the gap between the model structure and the corresponding behavior, over the time • (some) Expected facilities ? • debug the execution results (i.e. runtime state) instead of the model itself • consider the dimension of time natively (if not already reified in the model, e.g. message sequence charts) • bridge the gap between the model execution and its interpretation within a particular domain (e.g., moldable debugger [Chis et al.]) • ease the understanding of the impact of a model change 3
  • 4. LangDev Meetup @ Amazon Benoit Combemale, March, 2019 Model Execution: Main Challenges • A behavioral model is a structural description of an intended behavior • Challenge: how to support modelers in bridging the gap between the model structure and the corresponding behavior, over the time • (some) Expected facilities ? • debug the execution results (i.e. runtime state) instead of the model itself • consider the dimension of time natively (if not already reified in the model, e.g. message sequence charts) • bridge the gap between the model execution and its interpretation within a particular domain (e.g., moldable debugger [Chis et al.]) • ease the understanding of the impact of a model change 4
  • 5. LangDev Meetup @ Amazon Benoit Combemale, March, 2019 The GEMOC Studio 5 Model Animator Operational Semantics (executable) Model (executable) Modeling Language Metamodeling LanguagesKermeta Ecore aModel trace manager, timeline, control panel, omniscient debugger Concrete Syntax Graphical representation Sirius Graphical representation DSA Executor Interpreter Diagram Model Editor Diagram Domain-Specific Actions Execution Functions Execution Data Abstract Syntax Domain Model (Metamodel) Legend code generation <<dependsOn>> <<conformsTo>> ALE https://eclipse.org/gemoc
  • 6. ALE LangDev Meetup @ Amazon Benoit Combemale, March, 2019 6 ▸ An Action Language for EMF [EclipseCon’17] ▸ To complement an Ecore metamodel with Runtime Data and Eoperation impl. ▸ To define any Interpreter, compiler, model transformation, analysis tools… ▸ 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 ▸ Contributed to Eclipse EcoreTools ▸ Define behavior over an Ecore metamodel ▸ Modular specification (thanks to Sirius layers and open class) ▸ Integrated into the Eclipse GEMOC Studio ▸ Binding to the debug UI, control panel and trace manager Coulon’s PhD, Obeo & Inria https://github.com/gemoc/ale-lang 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(); } } } } LANGDEV’18
  • 7. SiriusAnimator Animator LangDev Meetup @ Amazon Benoit Combemale, March, 2019 LANGDEV’18
  • 8. LangDev Meetup @ Amazon Benoit Combemale, March, 2019 https://github.com/gemoc/arduinomodeling ArduinoDebugger
  • 9. LangDev Meetup @ Amazon Benoit Combemale, March, 2019 ActivityDiagramDebugger https://github.com/gemoc/activitydiagram 9
  • 10. LangDev Meetup @ Amazon Benoit Combemale, March, 2019 PacMan! 10
  • 11. - 11 HIGH PERFORMANCE COMPUTING in collaboration with Fostering metamodels and grammars within a dedicated environment for HPC: the NabLab environment Benoît Lelandais, Marie-Pierre Oudot, Benoît Combemale In International Conference on Software Language Engineering (SLE), 2018
  • 12. - 12 HIGH PERFORMANCE COMPUTING in collaboration with
  • 13. - 13 HIGH PERFORMANCE COMPUTING in collaboration with in collaboration with Current technical limitations: • technical integration of Monaco, JupyterLab and the language server • Integration of Monaco in notebook’s cells • syntax highlighting not supported by LSP • collaborative editing Ongoing work: • automatic generation of REPL language servers • graphical representation based on Sirius on the web
  • 14. - 14 WATER FLOOD PREDICTION in collaboration with A. Cheron, Master Thesis, 2017
  • 15. - 15 WATER FLOOD PREDICTION in collaboration with J. Sallou, PhD, 2018-… Description / documentation of the simulation process Code of one step of the simulation process Visualization of the simulation results
  • 16. LangDev Meetup @ Amazon Benoit Combemale, March, 2019 Towards Live Modeling • Model execution and debugging ease the understanding of the actual behavior that describes a given model • But are limited for understanding the impact of a model change in the resulting behavior 17
  • 17. LangDev Meetup @ Amazon Benoit Combemale, March, 2019 Some Scenarios for Live Modeling Live coding Design Space Exploration Tradeoff analysis & Decision making Arts Computational Sciences Engineering Digital twins
  • 18. Rationales for Live Modeling ▸ Focus on executable modeling, where: ▸ the model(s) gathers the data and the behavior ▸ the model(s) conforms to a gray box operational semantics ▸ Live modeling should support the following main scenarios: ▸ Immediate feedback: changes at runtime of the model structure (data or behavior) ▸ Direct manipulation: changes at runtime of the model state ▸ Additional scenarios: change at runtime of the input scenario, the language semantics… LangDev Meetup @ Amazon Benoit Combemale, March, 2019 19
  • 19. Live Modeling: Towards a Conceptual Model ▸3 dimensions of abstraction: ▸ structure (data/behavior) ▸ state ▸ time ▸Immediately observe the impact on the model state ▸ surimposition on top of the running model ▸ through specific views of the model state, and over the time LangDev Meetup @ Amazon Benoit Combemale, March, 2019 20 (BretVictor,http://worrydream.com)
  • 20. Live Modeling: Processes LangDev Meetup @ Amazon Benoit Combemale, March, 2019 21 GEMOC Engine (executable) Model (executable) Modeling Language Metamodeling Languages ALE Ecore MyDSML .ale MyDSML .ecore aRunningModel VM Model State AST aRunningModel Model State AST Change on the model (AST): • Compute the delta • Check delta validity (e.g., conformity) • Reconcile delta (i.e., compute how to apply it to the static model, and apply it) • Reflect the syntactic delta in the model state Change on the model state: • Compute the delta • Check delta validity (e.g., conformity) • Reconcile delta NB: checking vs. reconciliation?
  • 21. Breathe life into your… LangDev Meetup @ Amazon Benoit Combemale, March, 2019 22 ▸ Operational Semantics ▸ Static introduction with open classes ▸ Kermeta v1, v2, v3 and ALE metamodel model execution designer animation and debug IDE live modeling 2005 2012 2018 ▸ Execution trace management ▸ Forward/backard step- by-step execution ▸ GEMOC Studio ▸ Immediate feedback & direct manipulation ▸ Reconciliation operators ▸ Extending LSP, GSP & DAP Pierre-Alain Muller, Franck Fleurey, Jean-Marc Jézéquel: Weaving Executability into Object-Oriented Meta- languages. MoDELS 2005: 264-278 Erwan Bousse, Thomas Degueule, Didier Vojtisek, Tanja Mayerhofer, Julien DeAntoni, Benoît Combemale: Execution framework of the GEMOC studio (tool demo). SLE 2016: 84-89 Jean-Marc Jézéquel, Benoît Combemale, Olivier Barais, Martin Monperrus, François Fouquet: Mashup of metalanguages and its implementation in the Kermeta language workbench. Software and System Modeling 14(2): 905-920 (2015) …
  • 22. Live Modeling: (some) Open Challenges ▸Model change: ▸ what to open to modification in the model and the model state? ▸ explicit language interfaces (similarly to debugging) ▸ how to ensure the validity of the changes? ▸Reconciliation operators: ▸ Pattern, techniques and heuristics for reconciliation operators? ▸ when can we reconcile or restart? ▸Impact visualization: ▸ what to open to visualization? ▸ Live modeling over related, heterogeneous, models LangDev Meetup @ Amazon Benoit Combemale, March, 2019 23
  • 23. Breathe life into your IDE Abstract. Live modeling brings facilities to enhance modeling environments with immediate feedback (from changes on the model to the runtime state, and possibly the execution trace), and direct manipulation (from changes on the runtime state to the model). Such facilities are helpful in tuning specific solutions, exploring design spaces, or performing tradeoff analysis. Hence, live modeling have a growing appeal among very different stakeholders, ranging from software and systems engineers, to scientists, decision makers, artists or the general public. After a brief introduction of several case studies illustrating the different scenarios expected by language users, I explore in this talk live modeling from the point of view of a language engineer. I describe a general approach to bring this new concern in the specification of domain-specific languages. Then I explore the underlying challenges, review the current initiatives, and propose a research roadmap. As take away messages, the audience will learn about live modeling and how to support it in the development of domain-specific languages. A description of the current initiatives, the open challenges and an associated research roadmap is given to help the community in future investigations. LangDev Meetup @ Amazon Benoit Combemale, March, 2019