1. Benoit Combemale (Inria & Univ. Rennes 1)
http://people.irisa.fr/Benoit.Combemale
benoit.combemale@irisa.fr
@bcombemale
Model executability within the GEMOC Studio
GDR GPL, GT GL/CE
May 10th, 2016
2. - 2Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
Overview of the ANR project GEMOC (2013-2016)
https://youtu.be/Tk5DecseYOg
3. Complex Software-Intensive Systems
Software
intensive
systems
- 3Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
• Multi-engineering approach
• Domain-specific modeling
• Software as integration layer
• Openness and dynamicity
6. Globalization of Modeling Languages
- 6
• DSMLs are developed in an independent manner
to meet the specific needs of domain experts,
• DSMLs should also have an associated
framework that regulates interactions needed to
support collaboration and work coordination
across different system domains.
Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel,
Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 2014
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
7. Globalization of Modeling Languages
- 7
Supporting coordinated use of modeling
languages leads to what we call the globalization
of modeling languages, that is, the use of multiple
modeling languages to support coordinated
development of diverse aspects of a system.
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel,
Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 2014
8. Globalization of Modeling Language
- 8
• Context: new emerging DSML in open world
⇒ impossible a priori unification
⇒ require a posteriori globalization
• Objective: socio-technical coordination to support interactions
across different system aspects
⇒ Language-based support for technical integration of
multiples domains
⇒ Language-based support for social translucence
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
"Globalizing Domain-Specific Languages," Combemale, B., Cheng, B.H.C., France, R.B.,
Jézéquel, J.-M., Rumpe, B. (Eds.). Springer, Programming and Software Engineering,
Vol. 9400, 2015.
9. The GEMOC Initiative
- 9
An open and international initiative to
• coordinate (between members)
• disseminate (on behalf the members)
worldwide R&D efforts
on the globalization of modeling languages
http://gemoc.org
@gemocinitiative
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
10. The GEMOC Studio
- 10Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
Design and compose
your executable DSMLs
http://gemoc.org/studio
Language
Workbench
Modeling
Workbench
Edit, simulate and animate
your heterogeneous models
11. The GEMOC Community
- 11Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
12. GEMOC: The Projects
- 12Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
• Survey of the techniques and tools to compose DSMLs and their respectives
MoCs
• Partners: IRISA (Triskell), I3S (Aoste)
• Cf. http://gemoc.org/as2011
CNRS GDR GPL
Specific Action 2011
• Travel funds for permanentstaff and PhD students
• Partners: IRISA (DiverSE), CSU
• Cf. http://gemoc.org/mbsar
CNRS PICS MBSAR
2013-2015
• A Language Workbench for Heterogeneous Modeling and Analysis ofComplex
Software-Intensive Systems
• Partners: Inria (DiverSE),I3S (Aoste), IRIT, ENSTA-Bretagne, Thales, Obeo
• Cf. http://gemoc.org/ins
ANR INS GEMOC
2012-2016
• Promote the sharing of foundations,techniques,and tools and to provide
educational resources,to both academia and industry
• Cf. http://www.cost.eu/COST_Actions/ict/Actions/IC1404
ICT COST Action
MPM4CPS
2014-2018
13. - 13
Le nouveau défis de la coordination des langages de modélisation. Gestion de
l'hétérogénéité des modèles dans le développement et l'exécution de systèmes
logiciels complexes (Benoit Combemale, Julien Deantoni, Ali Koudri, Jérôme Le
Noir), In Génie logiciel et ingénierie de système (GL & IS), 2013.
Concurrent Execution of Heterogeneous Models
• complex domain-specific behaviors
• highly communicating each others
• deployed on distributed platforms
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
14. - 14
Breakthroughs:
• modular and explicit definition of the behavioral semantics of modeling
languages, incl. concurrency [APSEC’12, SLE’12, SLE’13, SLE’15 (x3),
ECMFA’15, DATE’15, SoSyM’15]
• explicit behavioral interface of modeling languages [GEMOC’13]
• reification of the coordination concerns at the language level
[MODELS’15, Computer'14, Dagstuhl #14412]
•Domain model
•Graphical representation
•Domain actions
•Model of concurrency
•Behavioral composition
xDSML
Design and
Composition
•Model debugging
•Model concurrency
•Model coordination
Heterogeneous
Modeling and
Simulation
Visit http://gemoc.org/ins
Concurrent Execution of Heterogeneous Models
(ANR Project GEMOC, #ANR-12-INSE-0011)
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
15. xDSML
15
Breakthrough #1: modular and
explicit definition of the behavioral
semantics of modeling languages
Breakthrough #2: explicit mapping
used as behavioral interface of
modeling languages
Breakthrough #3: integration of
modeling languages for
heterogeneous model coordination
Semantics
ASDSAMoCC
Abstract
Syntax
Exec. function
and data
Concurrency
Model
xDSML Development and Composition
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
16. xDSML
16
Breakthrough #1: modular and
explicit definition of the behavioral
semantics of modeling languages
Breakthrough #2: explicit mapping
used as behavioral interface of
modeling languages
Breakthrough #3: integration of
modeling languages for
heterogeneous model coordination
Semantics
ASDSAMoCC
DSE
(Domain
Specific Event)
Event-driven behavioral
interface
Concurrent execution of
homogeneous domain-specific
models
• Data
• Control
• Communication
xDSML Development and Composition
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
17. Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
xDSML’
xDSML
17
Breakthrough #1: modular and
explicit definition of the behavioral
semantics of modeling languages
Breakthrough #2: explicit mapping
used as behavioral interface of
modeling languages
Breakthrough #3: integration of
modeling languages for
heterogeneous model coordination
Semantics
ASDSAMoCC
DSE
(Domain
Specific Event)
• Data
• Control
• Communication
Event-driven behavioral
interface
AS DSA MoCC
DSE
Concurrent execution of
heterogeneous domain-specific
models
xDSML Development and Composition
18. Reifying Concurrency and Coordination in xDSML
- 18
Model of
Concurrency &
Communication
Domain-Specific
Actions
Abstract
Syntax
Domain-Specific
Events
0..*
DSAMoCC
DSE
Concept0..*
Concepts
(from Las)
Execution
Function
(from Ldsa)
Las
Event
(from Lmoc)
Ldsa
Ldse
Lmocc
Event
0..*
* *
Constraint
0..*
0..*
Legend
<<dependsOn>>
<<conformsTo>>
Property
type
1Execution
State
0..*
Execution
Function
0..*
0..*
EcoreKermetaMoccML
MoccML
Composition
Operator
Composition
Operator
Lcompo
Matching
Rule
Coordination
Rule
B-COoL
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
19. TheGEMOCStudio
- 19
http://gemoc.org/studio/
Benoit Combemale, Julien Deantoni, Olivier Barais, Arnaud Blouin, Erwan Bousse, Cédric Brun,
Thomas Degueule and Didier Vojtisek, "A Solution to the TTC'15 Model Execution Case Using the
GEMOC Studio," In 8th Transformation Tool Contest (TTC), 2015. Overall Winner
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
20. Breathe Life Into Your Designer!
- 20Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
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>>
22. - 22
ArduinoDesigner(&Debugger)
https://github.com/gemoc/arduinomodeling
• Graphical animation
• Breakpoint definition on model element
• Multi-dimensional and efficient trace
management
• Model debugging facilities (incl., timeline,
step backward, stimuli management, etc.)
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
23. - 23
ArduinoDesigner(&Debugger)
https://github.com/gemoc/arduinomodeling
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
• Graphical animation
• Breakpoint definition on model element
• Multi-dimensional and efficient trace
management
• Model debugging facilities (incl., timeline,
step backward, stimuli management, etc.)
• Concurrency simulation and formal analysis
Modern platforms are
highly parallel (e.g.,
many-core, GPGPU,
distributed platform).
Complex software systems are
highly concurrent systems per
se (e.g., IoT, CPS).
24. Reifying Concurrency in xDSML: Limitations
- 24
• Concurrency remains implicit and ad-hoc in language design
and implementation:
• Design: implicitly inherited from the meta-language used
• Implementation: mostly embedded in the underlying execution
environment
• The lack of an explicit concurrency specification in language
design prevents:
• leveraging the concurrency concern of a particular domain or platform
• a complete understanding of the behavioral semantics
• effective concurrency-aware analysis techniques
• effective techniques for producing semantic variants
• analysis of the deployment on parallel architectures
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
25. Reifying Concurrency in xDSML: Grand Challenge
- 25
Cross fertilization in languages of
the algorithm theory and the
concurrency theory
Leslie Lamport, “Turing Lecture: The Computer Science of Concurrency: The
Early Years,” Com. ACM, vol. 58, no. 6, 2015, pp. 71–76.
"Concurrency models were generally event-based, and avoided the
use of state. They did not easily describe algorithms or the usual
way of thinking about them based on the standard model."
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
26. Weave Concurrency Constraints Into Your DSL!
- 26Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
Model Animator
Operational Semantics
Model of Concurrency
and Communication
(executable)
Model
(executable)
Modeling
Language
Metamodeling
LanguagesMoCCML Kermeta Ecore
Concurrency
Constraints
Domain-Specific
Events
aModel
omniscient
debugger,
concurrency
explorer.
Concrete Syntax
Graphical
representation
Sirius
Graphical
representation
MOCC Solver DSA Executor
Execution
Model
Interpreter
Diagram
Model Editor
Diagram
Domain-Specific
Actions
Execution
Functions
Execution
Data
Abstract Syntax
Domain Model
(Metamodel)
Legend
code generation
<<dependsOn>>
<<conformsTo>>
28. Coping with Semantic Variation Points
- 28
Florent Latombe, Xavier Crégut, Julien Deantoni, Marc Pantel, Benoit Combemale, "Coping with
Semantic Variation Points in Domain-Specific Modeling Languages", In EXE@MoDELS 2015.
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1)
29. Conclusion
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1) - 29
• Scientific breakthroughs:
• A concurrent and modular executable metamodeling approach
Ø Cross-fertilization of the algorithm theory and the concurrency theory
• An efficient and advanced execution trace management
approach for xDSML
Ø Omniscient debugging
• An explicit behavioral language interface
• The reification of the coordination concerns at the language level
• Technological breakthroughs:
• Dedicated meta-languages integrated into the GEMOC Studio,
atop Eclipse Modeling
• Execution environment integrated within the Eclipse debug UI,
incl. graphical animation, omniscient debugging, concurrency
analysis and behavioral coordination
30. Conclusion
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1) - 30
• Software components:
• Sirius Animator: execution engine, animator designer/runtime, omniscient debugger, and
trace/event managers
• Host on Sirius lab for maturation as an Eclipse plugin (Obeo/INRIA)
Ø https://github.com/SiriusLab/ModelDebugging
• MoccML
• will be diffused as an open source project (I3S/ENSTA Bretagne)
Ø https://github.com/gemoc/concurrency
• BCOoL and heterogeneous engine coordination
• will be diffused as an open source project (I3S/INRIA)
Ø https://github.com/gemoc/coordination
• GEMOC studio: language and modeling workbench, wizard/dashboard, documentation and
examples
Ø https://github.com/gemoc/gemoc-studio
• Experimentations:
• fUML: execution, animation, debugging and concurrency analysis of activity diagrams
[TTC’15] (overall winner)
• xCapella: executable extension of Capella (model-based systems engineering
workbench) for model debugging, concurrency analysis, and behavioral coordination
[ERTS’16]
• Smart farming: water management system for smart farming [ICCS’15, EclipseCon-
NA’16]
31. Further Developments
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1) - 31
• Maturation of the generic tools (debugging env., concurrency
env. and heterogeneous coordination env.)
• Maintenance of the GEMOC Studio
• Domain-specific property language, incl. for breakpoint
definition
• Domain-specific debugging services
• Support external stimuli / concurrency in operational semantics
• Plug in other execution engines (xMOF)
32. Perspectives
Model executability within the GEMOC Studio – GT GL/CE (May, 2016), B. Combemale (Inria/UR1) - 32
• Deep investigation of the notion of language interface
(viewpoint engineering, etc.)
• Formal analysis of model coordination
• Leveraging the execution trace of, possibly heterogeneous,
coordinated executable models
• Simulation, model explorer, model checking
• Coordination of discrete and continuous models
• Co-simulation (incl., FMI)
• Adaptable MoC at the language level
• @design/compile time: design space exploration, optimizing
compilers
• @runtime: code adaptation, code obfuscation
• Live and collaborative modeling (e.g., for sustainability
systems)
• SLE in Education
33. Join us!
The GEMOC Initiative
http://gemoc.org ~ @gemocinitiative
Advisory Board: Betty Cheng, BenoitCombemale, Jeff Gray, Jean-Marc Jézéquel and Bernhard Rumpe