Benoit Combemale, Cédric Brun, Joël Champeau, Xavier Crégut, Julien Deantoni, Jérome Le Noir, (& Marc Pantel)
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS2, January 29th, 2016
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Concurrent Execution of Heterogeneous Models Using GEMOC
1. Benoit Combemale, Cédric Brun, Joël Champeau, Xavier Crégut,
Julien Deantoni, Jérome Le Noir, (& Marc Pantel)
A Tool-Supported Approach for Concurrent
Execution of Heterogeneous Models
ERTS², January 29th, 2016
5. - 5
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
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
6. - 6
Breakthroughs:
• modular and explicit definition of the behavioral semantics of modeling
languages, incl. concurrency [APSEC’12, SLE’12, SLE’13, SLE’15 (x3),
DATE’15, EXE@MODELS’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
•Domain actions
•Model of concurrency
•Behavioral composition
xDSML
Development
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)
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
7. xDSML
7
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
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
8. xDSML
8
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
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
9. A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
xDSML’
xDSML
9
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
10. Reifying Concurrency and Coordination in xDSML
- 10
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
GEL/ECL
Composition
Operator
Composition
Operator
Lcompo
Matching
Rule
Coordination
Rule
B-COoL
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
11. The GEMOC Studio
- 11
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
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
12. - 12
Activity Diagram Debugger
https://github.com/gemoc/activitydiagram
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
13. - 13
Activity Diagram Debugger
https://github.com/gemoc/activitydiagram
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
14. Coping with Semantic Variation Points
- 14
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.
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
15. Behavioral Model Coordination
- 15
https://github.com/gemoc/coordination
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
16. - 16
Arduino Designer (& 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.)
• Concurrency simulation and formal analysis
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
17. Introducing life into an industrial modeling
workbench with GEMOC
- 17
• Industrial Context
• Integration of modeling languages for heterogeneous model
coordination (xCapella overview)
• explicit definition of the behavioral semantics of modeling
languages & explicit mapping used as behavioral interface of
modeling languages (xCapella ModeAutomata)
• Coordination Specification
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
18. Industrial Context
-18A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
Can we coordinate these heterogeneous models ?
https://www.polarsys.org/capella/arcadia.html
19. eXecutable Data flow
Coordination
Specification
eXecutable Mode Automata
Data Flow
Animator
Capella Mode
Automata
Capella Data
flow
Mode
Automata
Animator
xCapella
Semantics Semantics
Integration of modeling languages for heterogeneous
models coordination
Language
Interface
Language
Interface
20. Debugger
Trace manager
Timeline
parameterizes
MoCCML/CCSL
xCapella Mode Automata
Semantics
Melange (K3AL)
SiriusAnimator
framework
Execution engine
GEL/ECL
-20
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
DSA
Exec. function
and data
AS
ModeAutomata.ecore
Mode
Automata.xtend
Graphical
specification
model
Sirius
ModeAutomata.odesign
DSE
MoCC
lib.moc
Mode
Automata.ecl
Mode
Automata
Animator
Animation.odesign
Concurrency
Model
Abstract
Syntax
Explicit definition of the behavioral semantics of
modeling languages
21. Mode.xtend
xCapella Mode Automata : AS & DSA
-21A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
Exec.
function
Exec. data
DSA
AS
ModeAutomata.ecore
Abstract
Syntax
25. Execution engine
SiriusAnimator
framework
eXecutable Data flow
parameterizes
(Coordination model)
Timeline
B-COoL
Coordination
Specification
parameterizes
MoCCML
eXecutable Mode Automata
Melange (K3
AL )
Data FlowAnimator
Capella Mode
Automata
Execution engine
SiriusAnimator
framework
Language
Interface
Capella Data
flow
Heterogeneous
Coordination engine
Language
Interface
Timeline
Mode
Automata
Animator
parameterizes parameterizes
xCapella
GEL/ECL
parameterizes
Semantics Semantics
-25A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
26. Conclusion
- 26
• Scientific breakthroughs:
• A concurrent and modular executable metamodeling approach
• An explicit behavioral language interface
• A behavioral coordination operator language
• Technological breakthroughs:
• Model debugging (Sirius Animator)
• Model concurrency (MoccML, ECL, GEL)
• Model coordination (BCOoL)
• The GEMOC studio
Ø https://github.com/gemoc
• Experimentations:
• fUML (cf. TTC’15 at http://gemoc.org/ttc15)
• Arduino Debugger (cf. https://github.com/gemoc/arduinomodeling)
• xCapella, an executable extension of Capella
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
27. Perspectives
- 27
• Coordination of discrete and continuous models
• Co-simulation
• Formal analysis of model concurrency and coordination
• Adaptable MoC at the language level
• @design/compile time: design space exploration, optimizing
compilers
• @runtime: code adaptation, code obfuscation
• Live and collaborative modeling
• SLE in Education
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
28. Join us!
The GEMOC Initiative
http://gemoc.org ~ @gemocinitiative
Advisory Board: Betty Cheng, BenoitCombemale, Jeff Gray, Jean-Marc Jézéquel and Bernhard Rumpe