SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
WORKSHOP EXE @ MODELS, OCTOBER, 2018
MODEL EXECUTION: PAST, PRESENT AND FUTURE
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
Disclaimers
• Landscape given from the view point of a software /
systems engineering researcher
• Focus on event-based paradigm (excl. numerical solvers)
• I will take self contributions as examples for the sake
of correctness
• I will argue for a roadmap based on my own vision
• A following discussion must be engaged for
strengthening the landscape and the relevant
roadmap
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 2
Model-Driven Engineering
Distribution
« Service Provider
Manager »
Notification
Alternate Manager
« Recovery Block
Manager »
Complaint
Recovery Block
Manager
« Service
Provider
Manager »
Notification
Manager
« Service Provider
Manager »
Complaint Alternate
Manager
« Service
Provider
Manager »
Complaint
Manager
« Acceptance
Test Manager »
Notification
Acceptance Test
Manager
« Acceptance
Test Manager »
Complaint
Acceptance Test
Manager
« Recovery
Block Manager »
Notification
Recovery Block
Manager
« Client »
User Citizen
Manager
Fault tolerance Roles
Activities
Views
Contexts
Security
Functional behavior
Book
state : StringUser
borrow
return
deliver
setDamaged
res
erv
e
Use case
Platform
Model Design
Model
Code
Model
Change one Aspect and
Automatically Re-Weave:
From Software Product Lines…
..to Dynamically Adaptive Systems
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 3
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018
Model Execution: Why Should I care?
▸ Various engineering: software engineering, systems
engineering, enterprise architecture, scientific modeling...
▸ Various formalisms: Business Processes, Orchestrations,
Functional chains, Activities, Protocols, Scenarios...
▸ Various objectives: early validation & verification, design-
space exploration, tradeoff analysis, simulation,
models@runtime
breathe life into your
(domain-specific) behavioral models
Model Execution: Historical Landscape
• Scientific computing
• Hardware design
• VHDL (with env., e.g., Active-HDL)
• Software and systems design, analysis and development
• Statemate (Harel et al.)
• Ptolemy II (Lee et al.)
• Executable UML models (e.g., state machine, activity diagram):
• xtUML/Scrall (formerly the Shlaer–Mellor method), cf.
https://executableuml.org
• fUML and ALF at OMG
• Various workflow languages (BPEL, etc.)
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 5
Main current initiatives
• Matlab Simulink, cf.
https://www.mathworks.com/products/simulink.html
• LabView, cf. www.ni.com/labview
• xtUML
• xtUML days @ MODELS’18: https://xtuml.org/xtuml-days-2018-
copenhagen
• Blog post series by Leon Starr on modeling-languages.org:
https://modeling-languages.com/author/leon-starr
• BridgePoint, by Cortland Starrett @ OneFact Inc., cf.
https://xtuml.org
• UML-RT
• Papyrus-RT: https://www.eclipse.org/papyrus-rts
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 6
Model-Driven Engineering
Distribution
« Service Provider
Manager »
Notification
Alternate Manager
« Recovery Block
Manager »
Complaint
Recovery Block
Manager
« Service
Provider
Manager »
Notification
Manager
« Service Provider
Manager »
Complaint Alternate
Manager
« Service
Provider
Manager »
Complaint
Manager
« Acceptance
Test Manager »
Notification
Acceptance Test
Manager
« Acceptance
Test Manager »
Complaint
Acceptance Test
Manager
« Recovery
Block Manager »
Notification
Recovery Block
Manager
« Client »
User Citizen
Manager
Fault tolerance Roles
Activities
Views
Contexts
Security
Functional behavior
Book
state : StringUser
borrow
return
deliver
setDamaged
res
erv
e
Use case
Platform
Model Design
Model
Code
Model
Change one Aspect and
Automatically Re-Weave:
From Software Product Lines…
..to Dynamically Adaptive Systems
J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model-
Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85.
"Perhaps surprisingly, the majority of MDE examples in our study
followed domain-specific modeling paradigms"
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 7
Towards Language-Oriented Modeling
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 8
Engineering Modeling Languages: Turning Domain Knowledge into Tools, by
Benoit Combemale, Robert B. France, Jean-Marc Jézéquel, Bernhard Rumpe, Jim R.H. Steel, and
Didier Vojtisek. Chapman and Hall/CRC, pp.398, 2016.
Companion website: http://mdebook.irisa.fr
Towards Language-Oriented Modeling
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 9
Engineering Modeling Languages: Turning Domain Knowledge into Tools, by
Benoit Combemale, Robert B. France, Jean-Marc Jézéquel, Bernhard Rumpe, Jim R.H. Steel, and
Didier Vojtisek. Chapman and Hall/CRC, pp.398, 2016.
Companion website: http://mdebook.irisa.fr
Software Language Engineering (SLE)
• Application of systematic, disciplined, and measurable approaches to
the development, deployment, use, and maintenance of software
(domain-specific) languages
• Supported by various kind of "language workbench"
• Eclipse EMF, xText, Sirius, Melange, GEMOC, Papyrus
• Jetbrain’s MPS
• MetaEdit+, MS DSL Tools
• Etc.
• Various shapes and ways to implement software languages
• External, internal or embedded DSLs, Profile, etc.
• Grammar, metamodel, ontology, etc.
• More and more literature and University courses, a dedicated Intl.
conference (ACM SLE, cf. http://www.sleconf.org), an upcoming
SLEBoK (cf. https://github.com/slebok/slebok)…
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 10
DSL Design & Implementation
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 11
Abstract
Syntax
(AS)
Concrete
Syntax
(CS)
Semantics
Domain
(SD)
Mac
Mas
Compilation or
interpretation to get a
full-fledge editor
Compilation or interpretation to get a
full-fledge execution environment
(debugger, animator, simulator,
runtime monitor…)
▸ Axiomatic
▸ Denotational/translational
▸ Operational
Definition of the Behavioral Semantics of DSL
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018
decr()
x : Int
System
decr
x
Abstract
Concrete
int x;
void decr () {
if ( x>0 )
x = x-1;
}
context System::decr() post :
self .x = if ( self .x@pre>0 )
then self.x@pre - 1
else self.x@pre
endif
operation decr () is do
if x>0 then x = x - 1 end
AXIOMATIC
TRANSLATIONAL
OPERATIONAL
Definition of the Behavioral Semantics of DSL
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018
Implement your own interpreter
▸ Visitor-based approach:
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018
Concrete
Element
Concrete
Element metamodel
.ecore
metamodel
.ecoremetamode_
visitable
.ecore
compiler1
.java
compiler2
.java
compiler1
.kmt
compiler2
.kmt
MyCompiler
main()
root 1
1 MyCompiler
main()
root
1 "Compiling " +
e.name
Simu1
.java
Simu1
.kmt
Concrete
Visitor
visit(e : VisitableElement)
"Compiling " +
e.name
<<require>>
<<require>>
<<require>>
<<require>>
<<require>>
<<require>>
Ecore-to-
EcoreVisitable
<<Abstract>>
Visitor
visit(e : VisitableElement)
<<Abstract>>
Visitable
Element
accept(v : Visitor)
"Visiting " +
e.name + "!!"
v.visit(self)
accept(v : Visitor)
compile()
Fig.: Interpreter pattern vs. static introduction (aka. open class)
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018
From Kermeta to Ecore Tools ALE
open class arduino.Block {
def void execute() {
for (i in self.instructions) {
i.execute();
}
}
}
http://gemoc.org/ale-lang
open class arduino.If {
@step
def void execute() {
if (self.condition.evaluate()) {
self.block.execute();
} else {
if (self.elseBlock != null) {
self.elseBlock.execute();
}
}
}
}
▸ An Action Language for EMF
▸ To complement an Ecore model with Runtime Data and Eoperation impl.
▸ To define any Interpreter, compiler, model transformation, analysis tools…
→ Implement an interpreter in the form of a visitor over the Ecore
metamodel
▸ From Kermeta (based on Xtend), to ALE (AQL
extension)
▸ Main characteristics:
▸ Interpreted and compiled
▸ Static typing, type inference
▸ Open class support
▸ Integrated into EcoreTools
▸ Define behavior over an Ecore metamodel
▸ Modular specification (thanks to Sirius layers and open class)
Jean-Marc Jézéquel, Benoit Combemale, Olivier Barais,
Martin Monperrus, François Fouquet, “Mashup of
metalanguages and its implementation in the Kermeta
language workbench,” SoSyM, 2014.
Model Execution: Landscape
• Language workbench to build tool-supported executable
languages
• Action Language: Kermeta [Jézéquel et al., SoSyM 14(2), 2015],
xMOF [Mayerhofer et al., SLE'13]
• Model Simulation: Topcased [Combemale et al., ERTS’08]
• Formal framework: Coq4MDE [Combemale et al., FAC 28(3),
2016], Constelle [Tikhonova et al., MoDELS’17], TraceBack
[Combemale et al., ECMFA’11]
• Pattern-based approach: declarative approach (rule-based
paradigm), enhanced by advanced rule application engines
[ATOM3, AGG, TGG community]
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 16
Main current initiatives
• Language workbenches such as EMF, MPS and MetaEdit+
provide facilities for defining behaviors
• e.g., EMF provides a built-in mechanism to implement visitors (EMF switch)
over domain models
• Other academic tools: KMF, Spoofax, Rascal, Neverlang,
Monticore, AToM3…
• The Eclipse GEMOC Studio (http://eclipse.org/gemoc)
• Main characteristics: language reuse and customization, model debugging,
co-simulation, deployment to the web / cloud, live modeling
• Integrate Kermeta, ALE, xMOF…
• Modular and formal concurrency model with MoCCML [DeAntoni et al., 2015]
• Advanced management of execution trace [Bousse et al., 2015]
• Ongoing work on JIT Compilers based on Graal / Truffle
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 17
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018
The GEMOC Studio
- 18
Design and integrate your
executable DSLs
Language
Workbench
Modeling
Workbench
Edit, simulate and animate your
heterogeneous models
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018
ActivityDiagramDebugger
- 19
https://github.com/gemoc/activitydiagram
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018
ActivityDiagramDebugger
- 20
Benoit Combemale, Julien Deantoni, Matias Vara Larsen, Frédéric Mallet, Olivier Barais, Benoit Baudry,
Robert France, "Reifying Concurrency for Executable Metamodeling," In Software Language
Engineering (SLE), 2013
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018
ArduinoDesigner
https://github.com/gemoc/arduinomodeling
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018
PacMan!
How Model Execution Is Actually Used?
• No scientific evidence (opportunity?) , but model
execution seems to
• be used in niche application domains
• remain rare in mainstream developments
• Models are mostly intended to document
• even behavioral models are mostly used statically
• execution is often get by code generation on the targeted
execution environment
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 23
Looking ahead…
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 24
“Modeling, in the broadest sense, is the cost-effective use of something
in place of something else for some cognitive purpose. It allows
us to use something that is simpler, safer or cheaper than reality instead
of reality for some purpose.”
Jeff Rothenberg
The Nature of Modeling
John Wiley & Sons, Inc., August 1989
Looking ahead…
Do the current model execution
approaches support the intended
cognitive purpose of the users?
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 25
Overall vision
• A behavioral model is a structural description of an intended
behavior
• Objective: how to support modelers in bridging the gap
between the model structure and the corresponding behavior
over the time
• Challenges wrt. to the expected facilities ?
• debug the execution results (i.e. runtime state) instead of the model
itself
• consider the additional 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.])
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 26
- 27
HIGH PERFORMANCE COMPUTING
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th
, 2016
- 28
HIGH PERFORMANCE COMPUTING
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th
, 2016
FARMING SYSTEM MODELING
- 29
https://github.com/gemoc/farmingmodeling
- 30
WATER FLOOD PREDICTION
in collaboration with
Execution model: looking ahead…
Heuristics-Laws
Scientists
Open Data
General Public
(e.g., individuals)
Policy Makers
(e.g., mayor)
MEEs
("what-if" scenarios)
Scientific Models / Physical Laws
(economic, environmental, social)
SEER
Sustainability System
(e.g., smart farm)
(
Context
sensors actuators
Production/
Consumption
System
(e.g. farm)
Software
<<controls>><<senses>>Communities
(e.g., farmers)
<<adapt>>
<<supplement
field data>>
<<provide configuration,
preferences, questions>>
<<present possible future
and variable indicators>>
<<feed>>
<<integrate>>
<<explore model
relations (tradeoff,
impact and conflict)>>
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 31
MDE in Practice for Computational Science
Jean-Michel Bruel, Benoit Combemale, Ileana Ober, Hélène Raynal
In International Conference on Computational Science (ICCS), 2015
Looking ahead…
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 32
Model Edition and
Consistency
Model Composition
Model
Validation & Verification
Model / System
integration
Design-Space
Exploration
(what-if/for scenarios)
Data Analysis, Model Discovery and
Execution Trace Analysis
Model Execution
and Reconfiguration
Allocation and Deployment
Model
Ops
(Models at Run-time)
Dev
(Models at Design-time)
Conclusion
▸While modeling techniques are widely adopted in various
guises (incl. behavioral modeling), model execution is still
under used
▸Rethink our model execution tools to support
▸ immediate feedback (from the runtime state)
▸ direct manipulation (of the runtime state)
▸ reasoning over the time (on the runtime state)
=> live modeling and time travelling should be at the core
of model execution
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 33
(some) Open Challenges
▸ Live and collaborative (meta)modeling
▸ minimize the round trip between the DSL specification, the model,
and its execution (interpretation/compilation)
▸ model experiencing environments (MEEs): what-if/how-to
scenarios, trade-off analysis, design-space exploration
▸ Diversity/complexity of DSL relationships
▸ far beyond structural/behavioral alignment, refinement,
decomposition
▸ separation of concerns vs. Zoom-in/Zoom-out
▸ integration of analysis and predictive models into DSL semantics
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 34
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018
Model Execution: Past, Present and Future
Abstract.
In this talk I review some of the current initiatives regarding executable modeling,
including their objectives and current actual facilities. After this brief review of the
state of the art and practice, I jump into important challenges the community is
currently facing to scale up the adoption of executable modeling, and to draw up a
future where it meets its initial expectations. For this, I argue that modeling is more
a human endeavor than a technical one, though most of the current approaches
focus on technical facilities. Then I discuss open minding facilities that executable
modeling should support, and why this is currently challenging. I conclude the talk
providing a possible research roadmap for the community to address such
challenges.
35
Complex Software-Intensive Systems
Software
intensive
systems
▸ Multi-engineering approach
▸ Domain-specific modeling
▸ High variability and customization
▸ Software as integration layer
▸ Openness and dynamicity
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018 36
Aerodynamics
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impact
Navigation
Communications
Human-
Machine
Interaction
37
Multiple
concerns, stakeholders,
tools and methods
38
Aerodynamics
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impact
Navigation
Communications
Human-
Machine
Interaction
Heterogeneous
Modeling
Model Execution: Past, Present and Future
Benoit Combemale @ EXE’18, October, 2018
"Software Languages
are Software Too"
J-M. Favre, D. Gasevic, R. Lämmel, and E. Pek. "Empirical language analysis
in software linguistics," In Software Language Engineering, volume 6563 of
LNCS, pages 316–326. Springer, 2011.
39

Más contenido relacionado

La actualidad más candente

Modeling for Sustainability
Modeling for SustainabilityModeling for Sustainability
Modeling for SustainabilityBenoit Combemale
 
Creating a textual domain specific language
Creating a textual domain specific languageCreating a textual domain specific language
Creating a textual domain specific languageVicente García Díaz
 
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
 
Dynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented ModelingDynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented ModelingBenoit Combemale
 
Experimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCExperimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCBenoit Combemale
 
Reifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specificationsReifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specificationsBenoit Combemale
 
Blake Xu Resume
Blake Xu ResumeBlake Xu Resume
Blake Xu ResumeBlake Xu
 
DAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - IntroductionDAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - IntroductionDragan Nikolić
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling WorldsIstvan Rath
 
OWF14 - Big Data : The State of Machine Learning in 2014
OWF14 - Big Data : The State of Machine  Learning in 2014OWF14 - Big Data : The State of Machine  Learning in 2014
OWF14 - Big Data : The State of Machine Learning in 2014Paris Open Source Summit
 
Model-Driven Engineering: a bottom-up approach based on meta-programming (ELA...
Model-Driven Engineering: a bottom-up approach based on meta-programming (ELA...Model-Driven Engineering: a bottom-up approach based on meta-programming (ELA...
Model-Driven Engineering: a bottom-up approach based on meta-programming (ELA...Jean-Michel Bruel
 
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-oplbergmans
 
ResumeThomasV9
ResumeThomasV9ResumeThomasV9
ResumeThomasV9Thomas Yeh
 
Practical Aggregate Programming with Protelis @ SASO2017
Practical Aggregate Programming with Protelis @ SASO2017Practical Aggregate Programming with Protelis @ SASO2017
Practical Aggregate Programming with Protelis @ SASO2017Danilo Pianini
 
Software Technologies for the Interoperability, Reusability and Adaptability...
Software Technologies for the Interoperability,  Reusability and Adaptability...Software Technologies for the Interoperability,  Reusability and Adaptability...
Software Technologies for the Interoperability, Reusability and Adaptability...Daniele Gianni
 
Yet another DSL for cross platforms mobile development
Yet another DSL for cross platforms mobile developmentYet another DSL for cross platforms mobile development
Yet another DSL for cross platforms mobile developmentOlivier Le Goaër
 

La actualidad más candente (18)

Modeling for Sustainability
Modeling for SustainabilityModeling for Sustainability
Modeling for Sustainability
 
Creating a textual domain specific language
Creating a textual domain specific languageCreating a textual domain specific language
Creating a textual domain specific language
 
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...
 
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
 
Experimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCExperimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOC
 
Reifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specificationsReifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specifications
 
Blake Xu Resume
Blake Xu ResumeBlake Xu Resume
Blake Xu Resume
 
DAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - IntroductionDAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - Introduction
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
 
OWF14 - Big Data : The State of Machine Learning in 2014
OWF14 - Big Data : The State of Machine  Learning in 2014OWF14 - Big Data : The State of Machine  Learning in 2014
OWF14 - Big Data : The State of Machine Learning in 2014
 
CV_MinarPetr
CV_MinarPetrCV_MinarPetr
CV_MinarPetr
 
Model-Driven Engineering: a bottom-up approach based on meta-programming (ELA...
Model-Driven Engineering: a bottom-up approach based on meta-programming (ELA...Model-Driven Engineering: a bottom-up approach based on meta-programming (ELA...
Model-Driven Engineering: a bottom-up approach based on meta-programming (ELA...
 
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
 
ResumeThomasV9
ResumeThomasV9ResumeThomasV9
ResumeThomasV9
 
Practical Aggregate Programming with Protelis @ SASO2017
Practical Aggregate Programming with Protelis @ SASO2017Practical Aggregate Programming with Protelis @ SASO2017
Practical Aggregate Programming with Protelis @ SASO2017
 
Software Technologies for the Interoperability, Reusability and Adaptability...
Software Technologies for the Interoperability,  Reusability and Adaptability...Software Technologies for the Interoperability,  Reusability and Adaptability...
Software Technologies for the Interoperability, Reusability and Adaptability...
 
Yet another DSL for cross platforms mobile development
Yet another DSL for cross platforms mobile developmentYet another DSL for cross platforms mobile development
Yet another DSL for cross platforms mobile development
 
Abhishek Mittal Resume
Abhishek Mittal ResumeAbhishek Mittal Resume
Abhishek Mittal Resume
 

Similar a Model Execution: Past, Present and Future

Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDEBenoit Combemale
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!melbats
 
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...Benoit Combemale
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!melbats
 
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSEXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSBenoit Combemale
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !Cédric Brun
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceAntonio García-Domínguez
 
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLeveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLuca Berardinelli
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWareMichael Vorburger
 
Precise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the VisionPrecise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the VisionEd Seidewitz
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformNuxeo
 
Wrap-up of the ANR project GEMOC
Wrap-up of the ANR project GEMOCWrap-up of the ANR project GEMOC
Wrap-up of the ANR project GEMOCBenoit Combemale
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Luciano Resende
 
MODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in PracticeMODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in PracticeHussein Alshkhir
 
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseEclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseÁbel Hegedüs
 
The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]Ivano Malavolta
 

Similar a Model Execution: Past, Present and Future (20)

Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDE
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!
 
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...
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!
 
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
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
 
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLeveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWare
 
Precise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the VisionPrecise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the Vision
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platform
 
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
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
 
An Introduction to OMNeT++ 5.4
An Introduction to OMNeT++ 5.4An Introduction to OMNeT++ 5.4
An Introduction to OMNeT++ 5.4
 
MODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in PracticeMODEL-DRIVEN ENGINEERING (MDE) in Practice
MODEL-DRIVEN ENGINEERING (MDE) in Practice
 
An Introduction to OMNeT++ 6.0
An Introduction to OMNeT++ 6.0An Introduction to OMNeT++ 6.0
An Introduction to OMNeT++ 6.0
 
Mini-Training: TypeScript
Mini-Training: TypeScriptMini-Training: TypeScript
Mini-Training: TypeScript
 
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 releaseEclipse Neon Democamp Budapest - VIATRA 1.3 release
Eclipse Neon Democamp Budapest - VIATRA 1.3 release
 
The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]
 
How to setup MateriApps LIVE!
How to setup MateriApps LIVE!How to setup MateriApps LIVE!
How to setup MateriApps LIVE!
 

Más de Benoit Combemale

When Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software EngineeringWhen Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software EngineeringBenoit Combemale
 
Table ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciencesTable ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciencesBenoit Combemale
 
SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019Benoit Combemale
 
Smart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering ModelsSmart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering ModelsBenoit Combemale
 
Introduction of the SLE'17 conference
Introduction of the SLE'17 conferenceIntroduction of the SLE'17 conference
Introduction of the SLE'17 conferenceBenoit Combemale
 
Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Benoit Combemale
 
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of ViewSound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of ViewBenoit Combemale
 
Concurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLConcurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLBenoit Combemale
 
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
 
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
 
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-TimeBenoit 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
 

Más de Benoit Combemale (15)

When Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software EngineeringWhen Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software Engineering
 
Table ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciencesTable ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciences
 
SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019
 
Smart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering ModelsSmart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering Models
 
Introduction of the SLE'17 conference
Introduction of the SLE'17 conferenceIntroduction of the SLE'17 conference
Introduction of the SLE'17 conference
 
Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)
 
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of ViewSound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
 
Concurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLConcurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCML
 
The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)
 
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...
 
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)
 

Último

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 

Último (20)

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 

Model Execution: Past, Present and Future

  • 1. WORKSHOP EXE @ MODELS, OCTOBER, 2018 MODEL EXECUTION: PAST, PRESENT AND FUTURE 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. Disclaimers • Landscape given from the view point of a software / systems engineering researcher • Focus on event-based paradigm (excl. numerical solvers) • I will take self contributions as examples for the sake of correctness • I will argue for a roadmap based on my own vision • A following discussion must be engaged for strengthening the landscape and the relevant roadmap Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 2
  • 3. Model-Driven Engineering Distribution « Service Provider Manager » Notification Alternate Manager « Recovery Block Manager » Complaint Recovery Block Manager « Service Provider Manager » Notification Manager « Service Provider Manager » Complaint Alternate Manager « Service Provider Manager » Complaint Manager « Acceptance Test Manager » Notification Acceptance Test Manager « Acceptance Test Manager » Complaint Acceptance Test Manager « Recovery Block Manager » Notification Recovery Block Manager « Client » User Citizen Manager Fault tolerance Roles Activities Views Contexts Security Functional behavior Book state : StringUser borrow return deliver setDamaged res erv e Use case Platform Model Design Model Code Model Change one Aspect and Automatically Re-Weave: From Software Product Lines… ..to Dynamically Adaptive Systems Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 3
  • 4. Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 Model Execution: Why Should I care? ▸ Various engineering: software engineering, systems engineering, enterprise architecture, scientific modeling... ▸ Various formalisms: Business Processes, Orchestrations, Functional chains, Activities, Protocols, Scenarios... ▸ Various objectives: early validation & verification, design- space exploration, tradeoff analysis, simulation, models@runtime breathe life into your (domain-specific) behavioral models
  • 5. Model Execution: Historical Landscape • Scientific computing • Hardware design • VHDL (with env., e.g., Active-HDL) • Software and systems design, analysis and development • Statemate (Harel et al.) • Ptolemy II (Lee et al.) • Executable UML models (e.g., state machine, activity diagram): • xtUML/Scrall (formerly the Shlaer–Mellor method), cf. https://executableuml.org • fUML and ALF at OMG • Various workflow languages (BPEL, etc.) Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 5
  • 6. Main current initiatives • Matlab Simulink, cf. https://www.mathworks.com/products/simulink.html • LabView, cf. www.ni.com/labview • xtUML • xtUML days @ MODELS’18: https://xtuml.org/xtuml-days-2018- copenhagen • Blog post series by Leon Starr on modeling-languages.org: https://modeling-languages.com/author/leon-starr • BridgePoint, by Cortland Starrett @ OneFact Inc., cf. https://xtuml.org • UML-RT • Papyrus-RT: https://www.eclipse.org/papyrus-rts Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 6
  • 7. Model-Driven Engineering Distribution « Service Provider Manager » Notification Alternate Manager « Recovery Block Manager » Complaint Recovery Block Manager « Service Provider Manager » Notification Manager « Service Provider Manager » Complaint Alternate Manager « Service Provider Manager » Complaint Manager « Acceptance Test Manager » Notification Acceptance Test Manager « Acceptance Test Manager » Complaint Acceptance Test Manager « Recovery Block Manager » Notification Recovery Block Manager « Client » User Citizen Manager Fault tolerance Roles Activities Views Contexts Security Functional behavior Book state : StringUser borrow return deliver setDamaged res erv e Use case Platform Model Design Model Code Model Change one Aspect and Automatically Re-Weave: From Software Product Lines… ..to Dynamically Adaptive Systems J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model- Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85. "Perhaps surprisingly, the majority of MDE examples in our study followed domain-specific modeling paradigms" Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 7
  • 8. Towards Language-Oriented Modeling Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 8 Engineering Modeling Languages: Turning Domain Knowledge into Tools, by Benoit Combemale, Robert B. France, Jean-Marc Jézéquel, Bernhard Rumpe, Jim R.H. Steel, and Didier Vojtisek. Chapman and Hall/CRC, pp.398, 2016. Companion website: http://mdebook.irisa.fr
  • 9. Towards Language-Oriented Modeling Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 9 Engineering Modeling Languages: Turning Domain Knowledge into Tools, by Benoit Combemale, Robert B. France, Jean-Marc Jézéquel, Bernhard Rumpe, Jim R.H. Steel, and Didier Vojtisek. Chapman and Hall/CRC, pp.398, 2016. Companion website: http://mdebook.irisa.fr
  • 10. Software Language Engineering (SLE) • Application of systematic, disciplined, and measurable approaches to the development, deployment, use, and maintenance of software (domain-specific) languages • Supported by various kind of "language workbench" • Eclipse EMF, xText, Sirius, Melange, GEMOC, Papyrus • Jetbrain’s MPS • MetaEdit+, MS DSL Tools • Etc. • Various shapes and ways to implement software languages • External, internal or embedded DSLs, Profile, etc. • Grammar, metamodel, ontology, etc. • More and more literature and University courses, a dedicated Intl. conference (ACM SLE, cf. http://www.sleconf.org), an upcoming SLEBoK (cf. https://github.com/slebok/slebok)… Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 10
  • 11. DSL Design & Implementation Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 11 Abstract Syntax (AS) Concrete Syntax (CS) Semantics Domain (SD) Mac Mas Compilation or interpretation to get a full-fledge editor Compilation or interpretation to get a full-fledge execution environment (debugger, animator, simulator, runtime monitor…)
  • 12. ▸ Axiomatic ▸ Denotational/translational ▸ Operational Definition of the Behavioral Semantics of DSL Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 decr() x : Int System decr x Abstract Concrete int x; void decr () { if ( x>0 ) x = x-1; } context System::decr() post : self .x = if ( self .x@pre>0 ) then self.x@pre - 1 else self.x@pre endif operation decr () is do if x>0 then x = x - 1 end AXIOMATIC TRANSLATIONAL OPERATIONAL
  • 13. Definition of the Behavioral Semantics of DSL Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018
  • 14. Implement your own interpreter ▸ Visitor-based approach: Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 Concrete Element Concrete Element metamodel .ecore metamodel .ecoremetamode_ visitable .ecore compiler1 .java compiler2 .java compiler1 .kmt compiler2 .kmt MyCompiler main() root 1 1 MyCompiler main() root 1 "Compiling " + e.name Simu1 .java Simu1 .kmt Concrete Visitor visit(e : VisitableElement) "Compiling " + e.name <<require>> <<require>> <<require>> <<require>> <<require>> <<require>> Ecore-to- EcoreVisitable <<Abstract>> Visitor visit(e : VisitableElement) <<Abstract>> Visitable Element accept(v : Visitor) "Visiting " + e.name + "!!" v.visit(self) accept(v : Visitor) compile() Fig.: Interpreter pattern vs. static introduction (aka. open class)
  • 15. Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 From Kermeta to Ecore Tools ALE open class arduino.Block { def void execute() { for (i in self.instructions) { i.execute(); } } } http://gemoc.org/ale-lang open class arduino.If { @step def void execute() { if (self.condition.evaluate()) { self.block.execute(); } else { if (self.elseBlock != null) { self.elseBlock.execute(); } } } } ▸ An Action Language for EMF ▸ To complement an Ecore model with Runtime Data and Eoperation impl. ▸ To define any Interpreter, compiler, model transformation, analysis tools… → Implement an interpreter in the form of a visitor over the Ecore metamodel ▸ From Kermeta (based on Xtend), to ALE (AQL extension) ▸ Main characteristics: ▸ Interpreted and compiled ▸ Static typing, type inference ▸ Open class support ▸ Integrated into EcoreTools ▸ Define behavior over an Ecore metamodel ▸ Modular specification (thanks to Sirius layers and open class) Jean-Marc Jézéquel, Benoit Combemale, Olivier Barais, Martin Monperrus, François Fouquet, “Mashup of metalanguages and its implementation in the Kermeta language workbench,” SoSyM, 2014.
  • 16. Model Execution: Landscape • Language workbench to build tool-supported executable languages • Action Language: Kermeta [Jézéquel et al., SoSyM 14(2), 2015], xMOF [Mayerhofer et al., SLE'13] • Model Simulation: Topcased [Combemale et al., ERTS’08] • Formal framework: Coq4MDE [Combemale et al., FAC 28(3), 2016], Constelle [Tikhonova et al., MoDELS’17], TraceBack [Combemale et al., ECMFA’11] • Pattern-based approach: declarative approach (rule-based paradigm), enhanced by advanced rule application engines [ATOM3, AGG, TGG community] Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 16
  • 17. Main current initiatives • Language workbenches such as EMF, MPS and MetaEdit+ provide facilities for defining behaviors • e.g., EMF provides a built-in mechanism to implement visitors (EMF switch) over domain models • Other academic tools: KMF, Spoofax, Rascal, Neverlang, Monticore, AToM3… • The Eclipse GEMOC Studio (http://eclipse.org/gemoc) • Main characteristics: language reuse and customization, model debugging, co-simulation, deployment to the web / cloud, live modeling • Integrate Kermeta, ALE, xMOF… • Modular and formal concurrency model with MoCCML [DeAntoni et al., 2015] • Advanced management of execution trace [Bousse et al., 2015] • Ongoing work on JIT Compilers based on Graal / Truffle Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 17
  • 18. Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 The GEMOC Studio - 18 Design and integrate your executable DSLs Language Workbench Modeling Workbench Edit, simulate and animate your heterogeneous models
  • 19. Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 ActivityDiagramDebugger - 19 https://github.com/gemoc/activitydiagram
  • 20. Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 ActivityDiagramDebugger - 20 Benoit Combemale, Julien Deantoni, Matias Vara Larsen, Frédéric Mallet, Olivier Barais, Benoit Baudry, Robert France, "Reifying Concurrency for Executable Metamodeling," In Software Language Engineering (SLE), 2013
  • 21. Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 ArduinoDesigner https://github.com/gemoc/arduinomodeling
  • 22. Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 PacMan!
  • 23. How Model Execution Is Actually Used? • No scientific evidence (opportunity?) , but model execution seems to • be used in niche application domains • remain rare in mainstream developments • Models are mostly intended to document • even behavioral models are mostly used statically • execution is often get by code generation on the targeted execution environment Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 23
  • 24. Looking ahead… Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 24 “Modeling, in the broadest sense, is the cost-effective use of something in place of something else for some cognitive purpose. It allows us to use something that is simpler, safer or cheaper than reality instead of reality for some purpose.” Jeff Rothenberg The Nature of Modeling John Wiley & Sons, Inc., August 1989
  • 25. Looking ahead… Do the current model execution approaches support the intended cognitive purpose of the users? Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 25
  • 26. Overall vision • A behavioral model is a structural description of an intended behavior • Objective: how to support modelers in bridging the gap between the model structure and the corresponding behavior over the time • Challenges wrt. to the expected facilities ? • debug the execution results (i.e. runtime state) instead of the model itself • consider the additional 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.]) Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 26
  • 27. - 27 HIGH PERFORMANCE COMPUTING Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th , 2016
  • 28. - 28 HIGH PERFORMANCE COMPUTING Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th , 2016
  • 29. FARMING SYSTEM MODELING - 29 https://github.com/gemoc/farmingmodeling
  • 30. - 30 WATER FLOOD PREDICTION in collaboration with
  • 31. Execution model: looking ahead… Heuristics-Laws Scientists Open Data General Public (e.g., individuals) Policy Makers (e.g., mayor) MEEs ("what-if" scenarios) Scientific Models / Physical Laws (economic, environmental, social) SEER Sustainability System (e.g., smart farm) ( Context sensors actuators Production/ Consumption System (e.g. farm) Software <<controls>><<senses>>Communities (e.g., farmers) <<adapt>> <<supplement field data>> <<provide configuration, preferences, questions>> <<present possible future and variable indicators>> <<feed>> <<integrate>> <<explore model relations (tradeoff, impact and conflict)>> Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 31 MDE in Practice for Computational Science Jean-Michel Bruel, Benoit Combemale, Ileana Ober, Hélène Raynal In International Conference on Computational Science (ICCS), 2015
  • 32. Looking ahead… Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 32 Model Edition and Consistency Model Composition Model Validation & Verification Model / System integration Design-Space Exploration (what-if/for scenarios) Data Analysis, Model Discovery and Execution Trace Analysis Model Execution and Reconfiguration Allocation and Deployment Model Ops (Models at Run-time) Dev (Models at Design-time)
  • 33. Conclusion ▸While modeling techniques are widely adopted in various guises (incl. behavioral modeling), model execution is still under used ▸Rethink our model execution tools to support ▸ immediate feedback (from the runtime state) ▸ direct manipulation (of the runtime state) ▸ reasoning over the time (on the runtime state) => live modeling and time travelling should be at the core of model execution Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 33
  • 34. (some) Open Challenges ▸ Live and collaborative (meta)modeling ▸ minimize the round trip between the DSL specification, the model, and its execution (interpretation/compilation) ▸ model experiencing environments (MEEs): what-if/how-to scenarios, trade-off analysis, design-space exploration ▸ Diversity/complexity of DSL relationships ▸ far beyond structural/behavioral alignment, refinement, decomposition ▸ separation of concerns vs. Zoom-in/Zoom-out ▸ integration of analysis and predictive models into DSL semantics Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 34
  • 35. Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 Model Execution: Past, Present and Future Abstract. In this talk I review some of the current initiatives regarding executable modeling, including their objectives and current actual facilities. After this brief review of the state of the art and practice, I jump into important challenges the community is currently facing to scale up the adoption of executable modeling, and to draw up a future where it meets its initial expectations. For this, I argue that modeling is more a human endeavor than a technical one, though most of the current approaches focus on technical facilities. Then I discuss open minding facilities that executable modeling should support, and why this is currently challenging. I conclude the talk providing a possible research roadmap for the community to address such challenges. 35
  • 36. Complex Software-Intensive Systems Software intensive systems ▸ Multi-engineering approach ▸ Domain-specific modeling ▸ High variability and customization ▸ Software as integration layer ▸ Openness and dynamicity Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 36
  • 39. Model Execution: Past, Present and Future Benoit Combemale @ EXE’18, October, 2018 "Software Languages are Software Too" J-M. Favre, D. Gasevic, R. Lämmel, and E. Pek. "Empirical language analysis in software linguistics," In Software Language Engineering, volume 6563 of LNCS, pages 316–326. Springer, 2011. 39