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

Post on 15-Apr-2017

360 views 0 download

transcript

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