Model executability within the GEMOC Studio
-
Upload
benoit-combemale -
Category
Software
-
view
91 -
download
1
Transcript of Model executability within the GEMOC Studio
Benoit Combemale (Inria & Univ. Rennes 1)http://people.irisa.fr/[email protected]@bcombemale
Model executability within the GEMOC StudioGDR GPL, GT GL/\CEMay 10th, 2016
- 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
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
Aerodynamics
Authorities
Avionics
SafetyRegulations
Airlines
PropulsionSystem
MechanicalStructure
EnvironmentalImpact
NavigationCommunications
Human-Machine
Interaction
4
Multipleconcerns,
stakeholders, tools and methods
5
Aerodynamics
Authorities
Avionics
SafetyRegulations
Airlines
PropulsionSystem
MechanicalStructure
EnvironmentalImpact
NavigationCommunications
Human-Machine
Interaction
Heterogeneous Modeling
Globalization of Modeling Languages
- 6
• DSMLs are developed in an independent mannerto meet the specific needs of domain experts,
• DSMLs should also have an associatedframework 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)
Globalization of Modeling Languages
- 7
Supporting coordinated use of modelinglanguages leads to what we call the globalizationof modeling languages, that is, the use of multiple modeling languages to support coordinateddevelopment 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
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.
The GEMOC Initiative
- 9
An open and international initiative to• coordinate (between members)• disseminate (on behalf the members)
worldwide R&D effortson the globalization of modeling languages
http://gemoc.org
@gemocinitiative
Model executability within the GEMOC Studio – GT GL/\CE (May, 2016), B. Combemale (Inria/UR1)
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/studioLanguageWorkbench
ModelingWorkbench
Edit, simulate and animate your heterogeneous models
The GEMOC Community
- 11Model executability within the GEMOC Studio – GT GL/\CE (May, 2016), B. Combemale (Inria/UR1)
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 permanent staff 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 of ComplexSoftware-Intensive Systems
• Partners: Inria (DiverSE), I3S (Aoste), IRIT, ENSTA-Bretagne, Thales, Obeo• Cf. http://gemoc.org/ins
ANR INS GEMOC2012-2016
• Promote the sharing of foundations, techniques, and tools and to provideeducational resources, to both academia and industry
• Cf. http://www.cost.eu/COST_Actions/ict/Actions/IC1404
ICT COST Action MPM4CPS2014-2018
- 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
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
xDSMLDesign 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)
xDSML
15
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
Model executability within the GEMOC Studio – GT GL/\CE (May, 2016), B. Combemale (Inria/UR1)
xDSML
16
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
Model executability within the GEMOC Studio – GT GL/\CE (May, 2016), B. Combemale (Inria/UR1)
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 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
- 18
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
MoccML
Composition Operator
CompositionOperator
Lcompo
MatchingRule
CoordinationRule
B-COoL
Model executability within the GEMOC Studio – GT GL/\CE (May, 2016), B. Combemale (Inria/UR1)
The GEMOC Studio
- 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)
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
MetamodelingLanguagesKermeta 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>>
- 21
Activity Diagram Debugger
https://github.com/gemoc/activitydiagram
Model executability within the GEMOC Studio – GT GL/\CE (May, 2016), B. Combemale (Inria/UR1)
- 22
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.)
Model executability within the GEMOC Studio – GT GL/\CE (May, 2016), B. Combemale (Inria/UR1)
- 23
Arduino Designer (& 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).
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)
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 usualway of thinking about them based on the standard model."
Model executability within the GEMOC Studio – GT GL/\CE (May, 2016), B. Combemale (Inria/UR1)
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
MetamodelingLanguagesMoCCML Kermeta Ecore
Concurrency Constraints
Domain-Specific Events
aModelomniscient 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>>
- 27
Activity Diagram Debugger
https://github.com/gemoc/activitydiagram
Model executability within the GEMOC Studio – GT GL/\CE (May, 2016), B. Combemale (Inria/UR1)
Coping with Semantic Variation Points
- 28
Florent Latombe, Xavier Crégut, Julien Deantoni, Marc Pantel, Benoit Combemale, "Coping withSemantic 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)
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, concurrencyanalysis and behavioral coordination
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]
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)
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
Join us!
The GEMOC Initiativehttp://gemoc.org ~ @gemocinitiative
Advisory Board: Betty Cheng, Benoit Combemale, Jeff Gray, Jean-Marc Jézéquel and Bernhard Rumpe