SlideShare a Scribd company logo
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

More Related Content

What's hot

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
Jordi Cabot
 
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
Advancements in Civil Engineering & Technology (ACET)
 
Temporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformTemporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platform
Jordi Cabot
 
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
Benoit Combemale
 
Modeling for Sustainability
Modeling for SustainabilityModeling for Sustainability
Modeling for Sustainability
Benoit Combemale
 
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...
Università degli Studi dell'Aquila
 
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
 
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 ...
Marc Pantel
 
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
Benoit Combemale
 
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
Jordi Cabot
 
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?
Jordi Cabot
 
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
 
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
Jordi Cabot
 
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
 
020523+the+programmers+apprentice.ppt
020523+the+programmers+apprentice.ppt020523+the+programmers+apprentice.ppt
020523+the+programmers+apprentice.ppt
Yann-Gaël Guéhéneuc
 
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...
Federico Gobbo
 
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
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 

What's hot (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
 

Similar to Breathe Life Into Your IDE

Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC Studio
Benoit Combemale
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and Future
Benoit Combemale
 
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
ijseajournal
 
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
 
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
lbergmans
 
Msr2021 tutorial-di penta
Msr2021 tutorial-di pentaMsr2021 tutorial-di penta
Msr2021 tutorial-di penta
Massimiliano Di Penta
 
GPSS interactive learning environment
GPSS interactive learning environmentGPSS interactive learning environment
GPSS interactive learning environment
Servicio de Difusión de la Creación Intelectual (SEDICI)
 
Scalable architectures for phenotype libraries
Scalable architectures for phenotype librariesScalable architectures for phenotype libraries
Scalable architectures for phenotype libraries
Martin Chapman
 
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
 
DAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - IntroductionDAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - Introduction
Dragan Nikolić
 
GPSS interactive learning environment
GPSS interactive learning environmentGPSS interactive learning environment
GPSS interactive learning environment
Servicio de Difusión de la Creación Intelectual (SEDICI)
 
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 ...
Nicolas Navet
 
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...
ijcsit
 
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
PG Scholar
 
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
 
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
 
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
Massimiliano Di Penta
 
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 v2nodenot
 

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

More from 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 Engineering
Benoit 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 sciences
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 2019
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
 
Introduction of the SLE'17 conference
Introduction of the SLE'17 conferenceIntroduction of the SLE'17 conference
Introduction of the SLE'17 conference
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 View
Benoit 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 MoCCML
Benoit 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 GEMOC
Benoit 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 GEMOC
Benoit 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 specifications
Benoit Combemale
 
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)
Benoit Combemale
 
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)
Benoit Combemale
 
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
Benoit Combemale
 
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,...
Benoit Combemale
 
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)
Benoit Combemale
 

More from 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)
 

Recently uploaded

Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 

Recently uploaded (20)

Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 

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