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 ModelsERTS², January 29th, 2016
Complex Software-Intensive Systems
Software intensive systems
- 2A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
• Multi-engineering approach• Domain-specific modeling • Software as integration layer
Aerodynamics
Authorities
Avionics
SafetyRegulations
Airlines
PropulsionSystem
MechanicalStructure
EnvironmentalImpact
NavigationCommunications
Human-Machine
Interaction
3
Multipleconcerns,
stakeholders, tools and methods
4
Aerodynamics
Authorities
Avionics
SafetyRegulations
Airlines
PropulsionSystem
MechanicalStructure
EnvironmentalImpact
NavigationCommunications
Human-Machine
Interaction
Heterogeneous Modeling
- 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
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
xDSMLDevelopment
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
xDSML
7
Breakthrough #1: modular and explicit definition of the behavioralsemantics of modeling languages
Breakthrough #2: explicit mappingused as behavioral interface of modeling languages
Breakthrough #3: integration of modeling languages for heterogeneous model coordination
Semantics
ASDSAMoCC
Abstract Syntax
Exec. functionand data
ConcurrencyModel
xDSML Development and Composition
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
xDSML
8
Breakthrough #1: modular and explicit definition of the behavioralsemantics of modeling languages
Breakthrough #2: explicit mappingused as behavioral interface of modeling languages
Breakthrough #3: integration of modeling languages for heterogeneous model coordination
Semantics
ASDSAMoCC
DSE(Domain
Specific Event)
Event-driven behavioralinterface
Concurrent execution of homogeneous domain-specificmodels
• Data• Control• Communication
xDSML Development and Composition
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
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 behavioralsemantics of modeling languages
Breakthrough #2: explicit mappingused 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 behavioralinterface
AS DSA MoCC
DSE
Concurrent execution of heterogeneous domain-specificmodels
xDSML Development and Composition
Reifying Concurrency and Coordination in xDSML
- 10
Model of Concurrency & Communication
Domain-Specific Actions
Abstract Syntax
Domain-SpecificEvents
0..*
DSAMoCC
DSE
Concept0..*Concepts
(from Las)
ExecutionFunction(from Ldsa)
Las
Event(from Lmoc)
Ldsa
Ldse
Lmocc
Event0..*
* *
Constraint0..*
0..*
Legend
<<dependsOn>>
<<conformsTo>>
Property
type1Execution
State
0..*ExecutionFunction
0..*
0..*
EcoreKermetaMoccML
GEL/ECL
Composition Operator
CompositionOperator
Lcompo
MatchingRule
CoordinationRule
B-COoL
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
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
Activity Diagram Debugger
https://github.com/gemoc/activitydiagram
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
- 13
Activity Diagram Debugger
https://github.com/gemoc/activitydiagram
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
Coping with Semantic Variation Points
- 14
Florent Latombe, Xavier Crégut, Julien Deantoni, Marc Pantel, Benoit Combemale, "Coping withSemantic 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
Behavioral Model Coordination
- 15
https://github.com/gemoc/coordination
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
- 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
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
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
eXecutable Data flow
CoordinationSpecification
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
-19A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29 , 2016
Language Interface
Language Interface
Debugger
Trace manager
Timeline
parameterizes
MoCCML/CCSL
xCapella Mode Automata
Semantics
Melange (K3 AL)
Sirius Animator framework
Execution engine
GEL/ECL
-20A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
DSA
Exec. functionand data
ASModeAutomata.ecore
Mode Automata.xtend
Graphical specification
model Sirius
ModeAutomata.odesign
DSE
MoCClib.moc
ModeAutomata.ecl
Mode AutomataAnimator
Animation.odesign
ConcurrencyModel
Abstract Syntax
Explicit definition of the behavioral semantics of modeling languages
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
xCapella Mode Automata : DSE & MoCC
-22A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
MoCC
DSE
ModeAutomata.ecl
Mode automata Animator
-23A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
xCapella Mode Automata : Modelling Workbench
- 24A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016
Execution engine
Sirius Animator framework
eXecutable Data flow
parameterizes (Coordination model)
Timeline
B-COoL
CoordinationSpecification
parameterizes
MoCCML
eXecutable Mode Automata
Melange (K3 AL )
Data Flow Animator
Capella Mode Automata
Execution engine
Sirius Animator 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
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
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
Join us!
The GEMOC Initiativehttp://gemoc.org ~ @gemocinitiative
Advisory Board: Betty Cheng, Benoit Combemale, Jeff Gray, Jean-Marc Jézéquel and Bernhard Rumpe