Model executability within the GEMOC Studio

34
Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/Benoit.Combemale [email protected] @bcombemale Model executability within the GEMOC Studio GDR GPL, GT GL/\CE May 10 th , 2016

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