a tool-supported approach for concurrent execution of heterogeneous models (erts 2016)

28
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 29 th , 2016

Upload: benoit-combemale

Post on 15-Apr-2017

365 views

Category:

Software


0 download

TRANSCRIPT

Page 1: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 2016)

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

Page 2: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 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

Page 3: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 2016)

Aerodynamics

Authorities

Avionics

SafetyRegulations

Airlines

PropulsionSystem

MechanicalStructure

EnvironmentalImpact

NavigationCommunications

Human-Machine

Interaction

3

Multipleconcerns,

stakeholders, tools and methods

Page 4: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 2016)

4

Aerodynamics

Authorities

Avionics

SafetyRegulations

Airlines

PropulsionSystem

MechanicalStructure

EnvironmentalImpact

NavigationCommunications

Human-Machine

Interaction

Heterogeneous Modeling

Page 5: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 2016)

- 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

Page 6: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 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

Page 7: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 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

Page 8: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 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

Page 9: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 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

Page 10: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 2016)

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

Page 11: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 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

Page 12: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 2016)

- 12

Activity Diagram Debugger

https://github.com/gemoc/activitydiagram

A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016

Page 13: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 2016)

- 13

Activity Diagram Debugger

https://github.com/gemoc/activitydiagram

A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016

Page 14: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 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

Page 15: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 2016)

Behavioral Model Coordination

- 15

https://github.com/gemoc/coordination

A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016

Page 16: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 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

Page 17: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 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

Page 18: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 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

Page 19: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 2016)

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

Page 20: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 2016)

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

Page 21: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 2016)

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

Page 22: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 2016)

xCapella Mode Automata : DSE & MoCC

-22A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016

MoCC

DSE

ModeAutomata.ecl

Page 23: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 2016)

Mode automata Animator

-23A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016

Page 24: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 2016)

xCapella Mode Automata : Modelling Workbench

- 24A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models – ERTS², Jan. 29th, 2016

Page 25: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 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

Page 26: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 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

Page 27: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 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

Page 28: A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (ERTS 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