On the Globalization of Modeling Languages (June 8th, 2015)

63
Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/Benoit.Combemale [email protected] @bcombemale On the Globalization of Modeling Languages

Transcript of On the Globalization of Modeling Languages (June 8th, 2015)

Page 1: On the Globalization of Modeling Languages (June 8th, 2015)

Benoit Combemale (Inria & Univ. Rennes 1)http://people.irisa.fr/[email protected]@bcombemale

On the Globalization of Modeling Languages

Page 2: On the Globalization of Modeling Languages (June 8th, 2015)

THE DIVERSE TEAM

- 2GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

Page 3: On the Globalization of Modeling Languages (June 8th, 2015)

Software intensive systems

3

Software intensive systems

Page 4: On the Globalization of Modeling Languages (June 8th, 2015)

Software intensive systems

4

Software intensive systems

Multiple dimensions of software diversity

Page 5: On the Globalization of Modeling Languages (June 8th, 2015)

DiverSE

5

Model driven engineering

Functional diversity

Language diversity

Failure diversity

Execution diversity

Page 6: On the Globalization of Modeling Languages (June 8th, 2015)

DiverSE

6

Model driven engineering

Functional diversity

Language diversity

Failure diversity

Execution diversity

Page 7: On the Globalization of Modeling Languages (June 8th, 2015)

DiverSE

•DIVERSE• 8 faculty members

• ~ 30 PhD students, postdocs, and engineers

7

Page 8: On the Globalization of Modeling Languages (June 8th, 2015)

Outline

GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 8

1. From Model Driven Engineering to Software Language Engineering

2. The GEMOC Initiative

3. The GEMOC ANR Project1. Explicit and Formal Concurrency in Executable DSML

2. Behavioral Coordination of Heterogeneous Models

4. Conclusion and Perspectives

Page 9: On the Globalization of Modeling Languages (June 8th, 2015)

FROM MODEL (DRIVEN) ENGINEERING…… TO LANGUAGE (DRIVEN) ENGINEERING

- 9GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

Page 10: On the Globalization of Modeling Languages (June 8th, 2015)

Applications Domains

Software intensive systems

- 10GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

Page 11: On the Globalization of Modeling Languages (June 8th, 2015)

Aerodynamics

Authorities

Avionics

SafetyRegulations

Airlines

PropulsionSystem

MechanicalStructure

EnvironmentalImpact

NavigationCommunications

Human-Machine

Interaction

11

MultipleConcerns

Page 12: On the Globalization of Modeling Languages (June 8th, 2015)

12

Aerodynamics

Authorities

Avionics

SafetyRegulations

Airlines

PropulsionSystem

MechanicalStructure

EnvironmentalImpact

NavigationCommunications

Human-Machine

Interaction

Heterogeneous Modeling

Page 13: On the Globalization of Modeling Languages (June 8th, 2015)

Model-Driven Engineering (MDE)

Distribution

« Service Provider Manager »

Notification Alternate Manager

« Recovery Block Manager »

ComplaintRecovery Block

Manager

« Service Provider

Manager »

Notification Manager

« Service Provider Manager »

Complaint Alternate Manager

« Service Provider

Manager »

Complaint Manager

« Acceptance Test Manager »

Notification Acceptance Test

Manager

« Acceptance Test Manager »

Complaint Acceptance Test

Manager

« Recovery Block Manager »

NotificationRecovery Block

Manager

« Client »

User Citizen Manager

Fault tolerance Roles

ActivitiesViews

Contexts

Security

Functional behavior

Bookstate : StringUser

borrow

return

deliver

setDamagedreserve

Use case

PlatformModel Design

ModelCode

Model

Change one Aspect and Automatically Re-Weave:From Software Product Lines…..to Dynamically Adaptive Systems

- 13GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

Page 14: On the Globalization of Modeling Languages (June 8th, 2015)

Model-Driven Engineering (MDE)

- 14

J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model-Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85.

GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

"Perhaps surprisingly, the majority of MDE examples in our study followed domain-specific modeling paradigms"

Distribution

« Service Provider Manager »

Notification Alternate Manager

« Recovery Block Manager »

ComplaintRecovery Block

Manager

« Service Provider

Manager »

Notification Manager

« Service Provider Manager »

Complaint Alternate Manager

« Service Provider

Manager »

Complaint Manager

« Acceptance Test Manager »

Notification Acceptance Test

Manager

« Acceptance Test Manager »

Complaint Acceptance Test

Manager

« Recovery Block Manager »

NotificationRecovery Block

Manager

« Client »

User Citizen Manager

Fault tolerance Roles

ActivitiesViews

Contexts

Security

Functional behavior

Bookstate : StringUser

borrow

return

deliver

setDamagedreserve

Use case

PlatformModel Design

ModelCode

Model

Change one Aspect and Automatically Re-Weave:From Software Product Lines…..to Dynamically Adaptive Systems

Page 15: On the Globalization of Modeling Languages (June 8th, 2015)

Domain-Specific Languages (DSLs)

GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 15

• Targeted to a particular kind of problem, with dedicatednotations (textual or graphical), support (editor, checkers, etc.)

• Promises: more « efficient » languages for resolving a set of specific problems in a domain

Page 16: On the Globalization of Modeling Languages (June 8th, 2015)

« Another lesson we should have learned from the recent past isthat the development of 'richer' or 'more powerful' programminglanguages was a mistake in the sense that these baroque monstrosities, these conglomerations of idiosyncrasies, are reallyunmanageable, both mechanically and mentally.

I see a great future for very systematic and very modest programming languages »

ACM Turing Lecture, « The Humble Programmer » Edsger W. Dijkstra 16

aka Domain-SpecificLanguages

aka General-PurposeLanguages

1972

Page 17: On the Globalization of Modeling Languages (June 8th, 2015)

17

2011« Domain-specificlanguages are far more prevalent thananticipated »

Page 18: On the Globalization of Modeling Languages (June 8th, 2015)

Language Design and Implementation

- 18GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

J-M. Favre, D. Gasevic, R. Lämmel, and E. Pek. "Empirical language analysisin software linguistics," In Software Language Engineering, volume 6563 of LNCS, pages 316–326. Springer, 2011.

"Software languages are software too"

Page 19: On the Globalization of Modeling Languages (June 8th, 2015)

Software Language Engineering (SLE)

GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 19

• Application of systematic, disciplined, and measurable approaches to the development, deployment, use, and maintenance of software languages

• Supported by various kind of "language workbench"• Eclipse EMF, xText, Sirius, GEMOC, Papyrus• Jetbrain’s MPS• MS DSL Tools• Etc.

• Various shapes and ways to implement software languages• External, internal or embedded DSLs, Profile, etc.• Grammar, metamodel, ontology, etc.

• More and more literature, a dedicated Intl. conference (ACM SLE, cf. http://www.sleconf.org)…

Page 20: On the Globalization of Modeling Languages (June 8th, 2015)

The Kermeta Workbench (since 2005)

- 20GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

Jean-Marc Jézéquel, Benoit Combemale, Olivier Barais, Martin Monperrus, François Fouquet, “Mashup of metalanguages and its implementation in the Kermeta language workbench,” SoSyM, 2014.

@aspect(class=Transition)operation fire() : String {

source.owningFSM.currentState := targetresult := output

}

Page 21: On the Globalization of Modeling Languages (June 8th, 2015)

The Kermeta Workbench (since 2005)• Modular design of DSMLs

• One meta-language per language concern (merge/weave)• Ecore, OCL, Xtend• But also: QVTo, fUML, Alf, Ket, Xsd…

• Static introduction mechanism (aspect)

• Provides a model oriented action language to support common model manipulation tasks

• to implement (E)Operation’s bodies• Imperative, statically typed, object-oriented, aspect-oriented

(aspect/context, require), model-oriented, DbC, Unit testing• Java and Xtend compliant, and based on EMF• Run as Eclipse plugin or as standard Java application

• Efficient implementation of DSMLs• Mashup of the meta-languages to Java code• Integrated with third-party tools (EMF compliant)

- 21GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

Jean-Marc Jézéquel, Benoit Combemale, Olivier Barais, Martin Monperrus, François Fouquet, “Mashup of metalanguages and its implementation in the Kermeta language workbench,” SoSyM, 2014.

Page 22: On the Globalization of Modeling Languages (June 8th, 2015)

Software Language Engineering (SLE)

- 22

J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model-Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85.

GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

"A clear challenge, then, is how to integrate multiple DSLs."

"Rather than attempting to formalize a wide-ranging domain (such as financial applications), practitioners should write small, easy-to-maintain DSLs and code generators. In practice, however, multiple DSLs are usually required, which brings its own challenges in terms

of integration."

Page 23: On the Globalization of Modeling Languages (June 8th, 2015)

Software Language Engineering (SLE)

Jean-Marc Jézéquel, David Mendez, Thomas Degueule, Benoit Combemale, Olivier Barais, "When Systems Engineering Meets Software Language Engineering," In Complex Systems Design & Management (CSD&M'14), Springer, 2014.

All about “family of languages”!! J

Core

QueryLanguage

ActionLanguage

ConstraintLanguageFSM

H FSM System

ODE

FSM

Activity

Language InheritanceSubtyping, Model Viewpoint, Generic metaprogramming Globalization of DSLs

HFSM

UML

Rhapsody

Stateflow

HT FSM

Language Modularization and Composition, Language Variability Management

GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

Page 24: On the Globalization of Modeling Languages (June 8th, 2015)

THE GEMOC INITIATIVE

- 24GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

Page 25: On the Globalization of Modeling Languages (June 8th, 2015)

Globalization of Modeling Languages

- 25

• 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

The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)

Page 26: On the Globalization of Modeling Languages (June 8th, 2015)

Globalization of Modeling Languages

- 26

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.

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

The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)

Page 27: On the Globalization of Modeling Languages (June 8th, 2015)

Globalization of Modeling Language

- 27

• 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

The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)

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

Page 28: On the Globalization of Modeling Languages (June 8th, 2015)

GEMOC: The Initiative

- 28

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

The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)

Page 29: On the Globalization of Modeling Languages (June 8th, 2015)

GEMOC: The Studio

- 29The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)

Design and compose your executable DSMLs

http://gemoc.org/studioLanguageWorkbench

ModelingWorkbench

Edit, simulate and animate your heterogeneous models

Page 30: On the Globalization of Modeling Languages (June 8th, 2015)

GEMOC: The Community

- 30

United States

Canada

The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)

Page 31: On the Globalization of Modeling Languages (June 8th, 2015)

GEMOC: The Events

- 31

• The GEMOC workshop series co-located with the MODELS conference:• 3rd International Workshop on the Globalization of Modeling Languages (GEMOC’15)• 2nd International Workshop on the Globalization of Modeling Languages (GEMOC’14)• 1st International Workshop on the Globalization of Modeling Languages (GEMOC’13)

• Dagstuhl Seminar #14412 on “Globalizing Domain-Specific Languages”, October , 2014.• A book to be published soon (Springer edition)!

• International Workshop on the Globalization of Domain Specific Languages (GlobalDSL’13),

co-located with ECMFA, ECOOP and ECSA 2013

• Official launch of The GEMOC Initiative at the Research-Project Symposium of

ECMFA/ECOOP/ECSA’13 (July 1st, 2013)

The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)

Page 32: On the Globalization of Modeling Languages (June 8th, 2015)

GEMOC: The Projects

- 32The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)

• 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

• 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

• Travel funds for permanent staff and PhD students• Partners: IRISA (DiverSE), CSU• Cf. http://gemoc.org/mbsar

CNRS PICS MBSAR 2013-2015

• 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

Page 33: On the Globalization of Modeling Languages (June 8th, 2015)

Concurrent execution of heterogeneousmodels (ANR Project, #ANR-12-INSE-0011)

- 33

Breakthroughs: • modular and explicit definition of the behavioral semantics of modeling

languages, incl. concurrency [APSEC’12, SLE’12, SLE’13]• dedicated meta-languages [DATE’15]• explicit behavioral interface of modeling languages [GEMOC’13]• integration of modeling languages for heterogeneous model

coordination [Computer'14, Dagstuhl #14412]

• Abstract syntax (domain model)

• Concrete syntax (static and dynamic)

• Operational semantics• Composition operators

DSMLSpecification

and Coordination

• Graphical and textual modeling

• Concurrent execution• Trace management• Graphical animation

Heterogeneous Modeling and Simulation/Ani

mation

Visit http://gemoc.org/ins

The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)

Page 34: On the Globalization of Modeling Languages (June 8th, 2015)

THE GEMOC ANR PROJECT#ANR-12-INSE-0011 (2012-2016)

- 34GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

Page 35: On the Globalization of Modeling Languages (June 8th, 2015)

ANR GEMOC: Identification

- 35

• Scientific Coordinator: Benoit Combemale (INRIA)• Consortium: Inria, CNRS I3S, INPT IRIT, ENSTA Bretagne,

Thales, Obeo• External Partner: Supélec

• Date: 01.12.12 – 30.03.16 (40 months)• Budget: 2 700 000 €

• Supported by the French Agency for Research (ANR)• Program Ingénierie Numérique et Sécurité (INS 2012)• Grant n°ANR-12-INSE-0011• ANR Funding: 982 720€

• Competitiveness clusters: Image & Réseaux, Aerospace Valley and Systematic

GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

Page 36: On the Globalization of Modeling Languages (June 8th, 2015)

- 36GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

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.

ANR GEMOC: Challenges

Page 37: On the Globalization of Modeling Languages (June 8th, 2015)

- 37GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

ANR GEMOC: Key Facts

2013% 2014% 2015%

(  Valida.on%of%the%challenges%[Génie%Logiciel’13,%Computer’14]%and%the%vision%[APSEC’12,%SLE’12,%SLE’13]%

(  Integrated%studio:%the%GEMOC%Studio%(  Launch%of%the%interna.onal%GEMOC%ini.a.ve%(  Interna.onal%dissemina.on%(GlobalDSL@ECOOP’13%and%GEMOC@MoDELS’13)%

(  Development%of%the%solu.on%(K3,%GEL,%MoccML%[DATE’15],%Sirius%Anima.on,%B(COol)%(  First%experiments%with%the%GEMOC%studio%and%first%official%release%v0.1%(  Interna.onal%dissemina.on%(EclipseCon%France,%MDD4DRES’14,%SLE’14,%

GEMOC@MoDELS’14%and%Dagstuhl%Seminar%#14412)%

Dec.,&2012&T0&

(project&kickoff)&

March,&2016&T0+40&

(project&end)&

June, 2014 T0+18

(mid-term review)

(  Consolida.on%and%evalua.on%of%the%solu.on%(  Advanced%scenarios%with%the%GEMOC%studio.%Releases%v1%and%v2%(  Interna.onal%dissemina.on%(EclipseCon%France,%SLE’15,%GEMOC@MoDELS’15)%(  Establishment%of%the%exploita.on%plan,%open(source%transfer%(  Explora.on%of%the%perspec.ves:%V&V,%op.mizing%compilers,%so_ware%

adapta.on,%cybersecurity%

ANR-12-INSE-0011

Page 38: On the Globalization of Modeling Languages (June 8th, 2015)

- 38GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

ANR GEMOC: Breakthroughs

• A modular executable metamodeling approach for concurrent behavioral semantics specification, implementation, reuse and variability

• Well-defined language interfaces:• Structural: for language, model transformation and model reuse• Behavioral: for language behavioral coordination

• Language coordination patterns for concurrent execution of heterogeneous models

Page 39: On the Globalization of Modeling Languages (June 8th, 2015)

- 39GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

ANR GEMOC: Breakthroughs

1. A modular executable metamodeling approach for concurrent behavioral semantics specification, implementation, reuse and variability

• Well-defined language interfaces:• Structural: for language, model transformation and model reuse• Behavioral: for language behavioral coordination

2. Language coordination patterns for concurrent execution of heterogeneous models

Page 40: On the Globalization of Modeling Languages (June 8th, 2015)

EXPLICIT AND FORMAL CONCURRENCY IN EXECUTABLE DSML

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 40

Page 41: On the Globalization of Modeling Languages (June 8th, 2015)

Motivations

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 41

• Concurrency is at the heart of modern software-intensive systems and platforms

• Complex systems (e.g., IoT, CPS) are highly concurrent systems per se.

• Modern platforms (e.g., many-core, GPGPU, distributed platforms) are providing more and more parallelism.

⇒ Require correct specification of concurrency for leveraging the unique characteristics of these systems and their deployment on these platforms.

Page 42: On the Globalization of Modeling Languages (June 8th, 2015)

Motivations

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 42

• 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

Page 43: On the Globalization of Modeling Languages (June 8th, 2015)

Grand Challenge

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 43

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."

Page 44: On the Globalization of Modeling Languages (June 8th, 2015)

Approach

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 44

Kermeta

ModHel'X

AbstractSyntax(AS)

ConcreteSyntax(CS)

Mas�cs Mas�sd

SemanticDomain(SD)

AbstractSyntax(AS)

ConcreteSyntax(CS)

MoC

Domain-SpecificActions

Mas�cs

Benoit Combemale, Cécile Hardebolle, Christophe Jacquet, Frédéric Boulanger, Benoit Baudry, "Bridging the Chasm between Executable Metamodeling and Models of Computation," In SLE 2012.

Page 45: On the Globalization of Modeling Languages (June 8th, 2015)

Approach

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 45

Semantics

AS DSA MOC

Static Introduction

Delegation Pattern

Domain Model

Exec. function and data

Concurrency Model

The MoCC serves as a (family of) scheduler(s) of the executionfunctions that manipulate the execution data (i.e. program state)

Benoit Combemale, Cécile Hardebolle, Christophe Jacquet, Frédéric Boulanger, Benoit Baudry, "Bridging the Chasm between Executable Metamodeling and Models of Computation," In SLE 2012.

Page 46: On the Globalization of Modeling Languages (June 8th, 2015)

Approach

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 46

Benoit Combemale, Julien Deantoni, Matias Vara Larsen, Frédéric Mallet, Olivier Barais, Benoit Baudry, Robert France, "Reifying Concurrency for ExecutableMetamodeling," In SLE 2013

Semantics

AS DSA MOC

DSE (Domain Specific

Event) • Data • Control • Communication

The DSE serve as a mapping between the MOC and the DSA

Page 47: On the Globalization of Modeling Languages (June 8th, 2015)

Contribution

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 47

Model of Concurrency & Communication

Domain-Specific Actions

Abstract Syntax

Domain-SpecificEvents

Page 48: On the Globalization of Modeling Languages (June 8th, 2015)

Contribution

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 48

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..*

EcoreKermetaMoccM

L

GEL/ECL

Page 49: On the Globalization of Modeling Languages (June 8th, 2015)

(executable)Model

(executable)ModelingLanguage

MetamodelingLanguages

MoccML Kermeta Ecore

MoC.lib.moc(MoC)

MyDSML.xtend (DSA)

MyDSML.ecore(AS)

GEL/ECL

DSE4MyDSML.gel

(MoC<->DSA)

aModelMyDSMLDSA-AS.jar

MyDSMLConcurrencyModel.mocLegend

code generation

<<dependsOn>>

<<conformsTo>>

Contribution

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 49

Page 50: On the Globalization of Modeling Languages (June 8th, 2015)

Result: model execution environment

- 50Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)

Page 51: On the Globalization of Modeling Languages (June 8th, 2015)

Result: model execution environment

- 51Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)

• 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

Page 52: On the Globalization of Modeling Languages (June 8th, 2015)

Result: semantic variation points

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 52

Page 53: On the Globalization of Modeling Languages (June 8th, 2015)

BEHAVIORAL COORDINATION OF HETEROGENEOUS MODELS

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 53

Page 54: On the Globalization of Modeling Languages (June 8th, 2015)

Towards a behavioral language interface

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 54

• The application of the MOC to a given model results in an event structure

• Consequently, the MOC define a symbolic event structure, whose the events mapped to the DSA correspond to the visible model state changes

⇒ This mapping can serve as a behavioral language interface used to define patterns that will coordinate conforming models

Page 55: On the Globalization of Modeling Languages (June 8th, 2015)

Approach

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 55

xDSML Semantics

AS DSA MoCC

DSE (Domain Specific

Event)

Event-driven behavioral interface

Concurrent execution of homogeneous domain-specific models

• Data • Control • Communication

Page 56: On the Globalization of Modeling Languages (June 8th, 2015)

Approach

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 56

xDSML’

xDSML Semantics

AS DSA MoCC

DSE (Domain Specific

Event) • Data • Control • Communication

Event-driven behavioral interface

AS DSA MoCC

DSE

Concurrent execution of heterogeneous domain-specific models

Page 57: On the Globalization of Modeling Languages (June 8th, 2015)

Contribution

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 57

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..*

EcoreKermetaMoccM

L

GEL/ECL

Composition Operator

CompositionOperator

Lcompo

MatchingRule

CoordinationRule

B-COoL

Page 58: On the Globalization of Modeling Languages (June 8th, 2015)

Towards an execution engine

Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 58

Page 59: On the Globalization of Modeling Languages (June 8th, 2015)

Towards an execution engine

- 59Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)

Page 60: On the Globalization of Modeling Languages (June 8th, 2015)

CONCLUSION AND PERSPECTIVES

- 60GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)

Page 61: On the Globalization of Modeling Languages (June 8th, 2015)

Conclusion and Perspectives

GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 61

• Breakthroughs: • A concurrent and modular executable metamodeling approach• An explicit behavioral language interface• A behavioral coordination operator language

• Current scheduled technological outcomes:• Melange, a language-oriented workbench for language, model transformation

and model reuse and variability• Host on Github as an open source project (INRIA)

• Model debugging environment: execution engine, animator designer/runtime, and trace/event managers• Host on Sirius lab for maturation as an Eclipse plugin (Obeo/INRIA)

• BCOoL and heterogeneous engine coordination• will be diffused as an open source project (I3S/INRIA)

• MoccML and Timesquare• will be diffused as an open source project (I3S/ENSTA Bretagne)

• Applications:• fUML (Cf. TTC’15 at http://gemoc.org/ttc15)• xCapella, an executable extension of Capella• Model-experiencing systems as dynamic adaptive, well-informed and broader

“what-if” environments for sustainability (e.g., Farming systems)

Page 62: On the Globalization of Modeling Languages (June 8th, 2015)

Conclusion and Perspectives

GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 62

• Further developments:• Maturation of the generic tools (debugging env., concurrency env.

and heterogeneous coordination env.)• Maintenance of the GEMOC Studio• Application to xCapella

• Perspectives:• 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• Adaptable MoC at the language level

• @design/compile time: design space exploration, optimizing compilers• @runtime: code adaptation, code obfuscation

• Application to sustainability systems• SLE in Education

Page 63: On the Globalization of Modeling Languages (June 8th, 2015)

Join us!

The GEMOC Initiativehttp://gemoc.org ~ @gemocinitiative

Advisory Board: Benoit Combemale, Robert B. France, Jeff Gray and Jean-Marc Jézéquel