+ All Categories
Home > Software > Towards Language-Oriented Modeling (HDR Defense)

Towards Language-Oriented Modeling (HDR Defense)

Date post: 16-Jan-2017
Category:
Upload: benoit-combemale
View: 478 times
Download: 1 times
Share this document with a friend
67
Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/Benoit.Combemale [email protected] @bcombemale Towards Language-Oriented Modeling Habilitation à Diriger des Recherches Université de Rennes 1 December 4, 2015
Transcript
Page 1: Towards Language-Oriented Modeling (HDR Defense)

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

Towards Language-Oriented Modeling Habilitation à Diriger des Recherches Université de Rennes 1 December 4, 2015

Page 2: Towards Language-Oriented Modeling (HDR Defense)

Complex Software-Intensive Systems

Software intensive systems

- 2 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

•  Multi-engineering approach •  Some forms of domain-specific modeling •  Software as integration layer •  Openness and dynamicity

Page 3: Towards Language-Oriented Modeling (HDR Defense)

Aerodynamics

Authorities

Avionics

Safety Regulations

Airlines

Propulsion System

Mechanical Structure

Environmental Impact

Navigation Communications

Human-Machine

Interaction

3

Multipleconcerns,

stakeholders, tools and methods

Page 4: Towards Language-Oriented Modeling (HDR Defense)

4

Aerodynamics

Authorities

Avionics

Safety Regulations

Airlines

Propulsion System

Mechanical Structure

Environmental Impact

Navigation Communications

Human-Machine

Interaction

Heterogeneous Modeling

Page 5: Towards Language-Oriented Modeling (HDR Defense)

- 5 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

"the majority of MDE examples in our study followed domain-specific

modeling paradigms"

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.

Page 6: Towards Language-Oriented Modeling (HDR Defense)

Model-Driven Engineering (MDE)

- 6 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Jean-Marc Jézéquel, Benoît Combemale et Didier Vojtisek, "Ingénierie Dirigée par les Modèles : des concepts a la pratique," Ellipses edition, février 2012

Systemsengineers

ABC

languageengineeringprocess

Experts

LanguageEngineers

Application

Final users

systemsengineeringprocess

Experts

LanguageUsers

Application

Finalsystem

Tools & MethodsEngineers

DSML

DSML Tools

Leverage on domainspecific experience

Development of a system in the context of a given domain

Page 7: Towards Language-Oriented Modeling (HDR Defense)

Model-Driven Engineering (MDE)

- 7 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Editors (textuals, graphicals, …)

Test generators

Simulators

Analyzers

Refactoring

Checkers (static & dynamics)

Translators

Compilers

Code generators

Etc.

Jean-Marc Jézéquel, Benoît Combemale et Didier Vojtisek, "Ingénierie Dirigée par les Modèles : des concepts a la pratique," Ellipses edition, février 2012

Page 8: Towards Language-Oriented Modeling (HDR Defense)

- 8 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

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

"Software languages are software too"

Page 9: Towards Language-Oriented Modeling (HDR Defense)

Software Language Engineering (SLE)

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 9

•  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 10: Towards Language-Oriented Modeling (HDR Defense)

Scientific Context

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 10

MDE SLE

Page 11: Towards Language-Oriented Modeling (HDR Defense)

Scientific Context

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 11

MDE SLE

Software-Intensive Systems

DSMLs

Page 12: Towards Language-Oriented Modeling (HDR Defense)

Scientific Context

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 12

MDE SLE

Software-Intensive Systems

DSMLs

Page 13: Towards Language-Oriented Modeling (HDR Defense)

Research Statement, Challenges and Contributions

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 13

?

1

Page 14: Towards Language-Oriented Modeling (HDR Defense)

Research Statement, Challenges and Contributions

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 14

AbstractSyntax(AS)

ConcreteSyntax(CS)

SemanticsDomain(SD)

Mac

Mas

domain behaviorsconcurrency

Dynamic V&V tools

domainconcepts

?

1

Page 15: Towards Language-Oriented Modeling (HDR Defense)

xDSML Pattern

xDSML1 AbstractSyntax(AS)

ConcreteSyntax(CS)

SemanticsDomain

(SD)

Mac

Mas

domain behaviorsconcurrency

Dynamic V&V tools

domainconcepts

?

1

Research Statement, Challenges and Contributions

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 15

Page 16: Towards Language-Oriented Modeling (HDR Defense)

xDSML2xDSML2

xDSML2xDSML2

xDSML Pattern

xDSML1'

xDSML1

xDSML2

AbstractSyntax(AS)

ConcreteSyntax(CS)

SemanticsDomain

(SD)

Mac

Mas

domain behaviorsconcurrency

Dynamic V&V tools

domainconcepts

4

Aerodynamics

Authorities

Avionics

Safety Regulations

Airlines

Propulsion System

Mechanical Structure

Environmental Impact

Navigation Communications

Human-Machine

Interaction

Heterogeneous Modeling

?

1

?

2

Research Statement, Challenges and Contributions

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 16

Page 17: Towards Language-Oriented Modeling (HDR Defense)

GEMOC Studio(DSML coordination)

xDSML2xDSML2

Melange(DSML reuse)

xDSML2xDSML2

xDSML Pattern

xDSML1'

xDSML1

structural/axiomatic

behavioral

xDSML2

AbstractSyntax(AS)

ConcreteSyntax(CS)

SemanticsDomain

(SD)

Mac

Mas

domain behaviorsconcurrency

Dynamic V&V tools

domainconcepts

4

Aerodynamics

Authorities

Avionics

Safety Regulations

Airlines

Propulsion System

Mechanical Structure

Environmental Impact

Navigation Communications

Human-Machine

Interaction

Heterogeneous Modeling

?

1

?

2

Research Statement, Challenges and Contributions

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 17

Page 18: Towards Language-Oriented Modeling (HDR Defense)

Outline

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 18

1. Tools and methods for xDSML design and implementation

2. Language globalization for reuse

and coordination

Page 19: Towards Language-Oriented Modeling (HDR Defense)

THE XDSML PATTERN FOR EXECUTABLE METAMODELING

- 19 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

?

1

Page 20: Towards Language-Oriented Modeling (HDR Defense)

Execution functions

Internal data/control event (e.g., method call, scheduler) or external (stimuli from env.)

Execution trace

Execution state

Domain model

The xDSML Pattern

- 20 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Event DefinitionMetaModel

EDMM

Domain DefinitionMetaModel

DDMM

State DefinitionMetaModel

SDMM

<<merge>><<merge>>

<<merge>>

Trace ManagementMetaModel

TM3

<<import>>

Semantics Mapping

Semantics

<<triggeredBy>><<changes>>

Benoit Combemale, Xavier Crégut, Marc Pantel, "A Design Pattern to Build Executable DSMLs and associated V&V tools", In APSEC 2012

Benoît Combemale, Xavier Crégut, Pierre-Loïc Garoche, Xavier Thirioux, "Essay on Semantics Definition in MDE - An Instrumented Approach for Model Verification," In Journal of Software (JSW), 2009

Page 21: Towards Language-Oriented Modeling (HDR Defense)

The xDSML Pattern

- 21 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Event DefinitionMetaModel

EDMM

Domain DefinitionMetaModel

DDMM

State DefinitionMetaModel

SDMM

<<merge>><<merge>>

<<merge>>

Trace ManagementMetaModel

TM3

<<import>>

Semantics Mapping

Semantics

<<triggeredBy>><<changes>>

•  Mashup of metalanguages (Ecore, OCL, Kermeta) [Jézéquel et al., SoSyM’14]

•  Efficient OCL checking [Sun et al., JOT’15]

•  Domain-specific execution trace management [Bousse et al., MODELS’14, ECMFA’15]

•  Omniscient and multi-dimensional model debugging [Bousse et al., SLE’15]

•  Tracing executions back to a xDSML [Combemale et al., ECMFA’11]

Page 22: Towards Language-Oriented Modeling (HDR Defense)

- 22

Activity Diagram Debugger

https://github.com/gemoc/activitydiagram

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 23: Towards Language-Oriented Modeling (HDR Defense)

- 23

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

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 24: Towards Language-Oriented Modeling (HDR Defense)

- 24

Arduino Designer (& Debugger)

https://github.com/gemoc/arduinomodeling

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

•  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

Complex software systems are highly concurrent systems

per se (e.g., IoT, CPS).

Modern platforms are highly parallel (e.g., many-core,

GPGPU, distributed platform).

Page 25: Towards Language-Oriented Modeling (HDR Defense)

Reifying Concurrency in xDSML: Limitations

- 25

•  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

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 26: Towards Language-Oriented Modeling (HDR Defense)

Reifying Concurrency in xDSML: Grand Challenge

- 26

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 usual way of thinking about them based on the standard model."

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 27: Towards Language-Oriented Modeling (HDR Defense)

Reifying Concurrency in xDSML: Approach

- 27

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 Software Language Engineering (SLE), 2012.

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 28: Towards Language-Oriented Modeling (HDR Defense)

Reifying Concurrency in xDSML: Approach

- 28

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 execution functions 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 Software Language Engineering (SLE), 2012.

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 29: Towards Language-Oriented Modeling (HDR Defense)

Reifying Concurrency in xDSML: Approach

- 29

Benoit Combemale, Julien Deantoni, Matias Vara Larsen, Frédéric Mallet, Olivier Barais, Benoit Baudry, Robert France, "Reifying Concurrency for Executable Metamodeling," In Software Language Engineering (SLE), 2013

Semantics

AS DSA MOC

DSE (Domain Specific

Event) • Data • Control • Communication

The DSE serve as a mapping from the MOC to the DSA

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 30: Towards Language-Oriented Modeling (HDR Defense)

Reifying Concurrency in xDSML: Approach

- 30

Florent Latombe, Xavier Crégut, Benoît Combemale, Julien DeAntoni, Marc Pantel, "Weaving concurrency in executable domain-specific modeling languages," In Software Language Engineering (SLE), 2015

Semantics

AS DSA MOC

DSE (Domain Specific

Event) • Data • Control • Communication

The DSEs serve as a protocol between the MOC and the DSA

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 31: Towards Language-Oriented Modeling (HDR Defense)

Reifying Concurrency in xDSML: Contribution

- 31

Model of Concurrency & Communication

Domain-Specific Actions

Abstract Syntax

Domain-SpecificEvents

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 32: Towards Language-Oriented Modeling (HDR Defense)

Reifying Concurrency in xDSML: Contribution

- 32

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

Ecore Kermeta MoccML

GEL/ECL

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 33: Towards Language-Oriented Modeling (HDR Defense)

(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>>

Reifying Concurrency in xDSML: Contribution

- 33 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 34: Towards Language-Oriented Modeling (HDR Defense)

The GEMOC Studio

A Journey Through MDE, DSL and SLE - Benoit Combemale (INRIA and Univ. Rennes 1) - July 2nd, 2015 - 34

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

Page 35: Towards Language-Oriented Modeling (HDR Defense)

- 35

Activity Diagram Debugger

https://github.com/gemoc/activitydiagram

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 36: Towards Language-Oriented Modeling (HDR Defense)

Coping with Semantic Variation Points

- 36 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Florent Latombe, Xavier Crégut, Julien Deantoni, Marc Pantel, Benoit Combemale, "Coping with Semantic Variation Points in Domain-Specific Modeling Languages", In EXE@MoDELS 2015.

Page 37: Towards Language-Oriented Modeling (HDR Defense)

- 37

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.

"A clear challenge, then, is how to integrate

multiple DSLs."

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 38: Towards Language-Oriented Modeling (HDR Defense)

Multiplication of DSMLs

Increasing number of stakeholders and

concerns - 38

Increasing number of application domains

4

Aerodynamics

Authorities

Avionics

Safety Regulations

Airlines

Propulsion System

Mechanical Structure

Environmental Impact

Navigation Communications

Human-Machine

Interaction

Heterogeneous Modeling

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 39: Towards Language-Oriented Modeling (HDR Defense)

ON THE GLOBALIZATION OF MODELING LANGUAGES

- 39 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

?

2

Page 40: Towards Language-Oriented Modeling (HDR Defense)

Globalization of Modeling Languages

- 40

•  DSMLs are developed in an independent manner to meet the specific needs of domain experts,

•  DSMLs should also have an associated framework 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

68 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE

COLUMN SECTION TITLESOF T WARE TECHNOLOGIES

Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management.

In the software and sys-tems modeling community, domain-specific modeling language (DSML) research

is focused on providing technolo-gies for developing languages and tools that allow domain experts to develop system solutions efficiently. Unfortunately, it’s very difficult for software and systems engineers to reason about information spread across models describing different system aspects because of the cur-rent lack of support for explicitly relating concepts expressed in dif-ferent DSMLs. Here, we describe a research initiative that broadens the DSML research focus beyond independent DSML development to one that supports globalized DSMLs—that is, DSMLs that facili-tate coordination of work across

different domains of expertise.

DOMAIN-SPECIFIC MODELING LANGUAGESModel-driven engineering (MDE) aims to reduce the accidental com-plexity associated with developing complex software-intensive systems.1 A primary source of this complex-ity is the wide gap between the high-level concepts used by domain experts to express their specific needs and the low-level abstrac-tions provided by general-purpose programming languages.2 Manually bridging this gap, particularly in the presence of changing requirements, is costly in terms of both time and effort. MDE approaches this problem through the use of modeling tech-niques that support separation of concerns and automated generation

of major system artifacts (for exam-ple, test cases and implementations) from models.

In MDE, a model describes an aspect of a system and is typically created for specific development purposes. Separation of concerns is supported through the use of dif-ferent modeling languages, each providing constructs based on ab-stractions that are specific to an aspect of a system. For example, gen-eralized stochastic Petri nets can be used to create performance models, whereas the notation provided by the Simulink tool is adapted to simula-tion models. MDE technologies also provide support for manipulating models, such as for querying, trans-forming, merging, and analyzing (including executing) models. Model-ing languages are thus at MDE’s core.

Globalizing Modeling LanguagesBenoit Combemale, Inria and Univerity of Rennes

Julien DeAntoni, University of Nice Sophia-Antipolis

Benoit Baudry, Inria

Robert B. France, Colorado State University

Jean-Marc Jézéquel, University of Rennes

Jeff Gray, University of Alabama

r6sof.indd 68 5/22/14 10:47 AM

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 41: Towards Language-Oriented Modeling (HDR Defense)

Globalization of Modeling Languages

- 41

Supporting coordinated use of modeling languages leads to what we call the globalization of modeling languages, that is, the use of multiple modeling languages to support coordinated development of diverse aspects of a system.

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

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

68 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE

COLUMN SECTION TITLESOF T WARE TECHNOLOGIES

Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management.

In the software and sys-tems modeling community, domain-specific modeling language (DSML) research

is focused on providing technolo-gies for developing languages and tools that allow domain experts to develop system solutions efficiently. Unfortunately, it’s very difficult for software and systems engineers to reason about information spread across models describing different system aspects because of the cur-rent lack of support for explicitly relating concepts expressed in dif-ferent DSMLs. Here, we describe a research initiative that broadens the DSML research focus beyond independent DSML development to one that supports globalized DSMLs—that is, DSMLs that facili-tate coordination of work across

different domains of expertise.

DOMAIN-SPECIFIC MODELING LANGUAGESModel-driven engineering (MDE) aims to reduce the accidental com-plexity associated with developing complex software-intensive systems.1 A primary source of this complex-ity is the wide gap between the high-level concepts used by domain experts to express their specific needs and the low-level abstrac-tions provided by general-purpose programming languages.2 Manually bridging this gap, particularly in the presence of changing requirements, is costly in terms of both time and effort. MDE approaches this problem through the use of modeling tech-niques that support separation of concerns and automated generation

of major system artifacts (for exam-ple, test cases and implementations) from models.

In MDE, a model describes an aspect of a system and is typically created for specific development purposes. Separation of concerns is supported through the use of dif-ferent modeling languages, each providing constructs based on ab-stractions that are specific to an aspect of a system. For example, gen-eralized stochastic Petri nets can be used to create performance models, whereas the notation provided by the Simulink tool is adapted to simula-tion models. MDE technologies also provide support for manipulating models, such as for querying, trans-forming, merging, and analyzing (including executing) models. Model-ing languages are thus at MDE’s core.

Globalizing Modeling LanguagesBenoit Combemale, Inria and Univerity of Rennes

Julien DeAntoni, University of Nice Sophia-Antipolis

Benoit Baudry, Inria

Robert B. France, Colorado State University

Jean-Marc Jézéquel, University of Rennes

Jeff Gray, University of Alabama

r6sof.indd 68 5/22/14 10:47 AM

Page 42: Towards Language-Oriented Modeling (HDR Defense)

Globalization of Modeling Language

- 42

•  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

•  Community: the GEMOC initiative (cf. http://gemoc.org)

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

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

Page 43: Towards Language-Oriented Modeling (HDR Defense)

Towards Language Interfaces

- 43 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

xDSML2xDSML1

structural/axiomatic

behavioral

xDSML3

subtypingrelation

coordinationpattern

Symbolic event structure (for behavioral coordination)

Model type (for language reuse)

•  A language interface is a contract that exhibits the relevant information for a given purpose (i.e., to support specific composition operators)

Page 44: Towards Language-Oriented Modeling (HDR Defense)

MELANGE: MODULAR AND REUSABLE DSML DESIGN AND IMPLEMENTATION

- 44

Melange(DSML reuse)

xDSML2xDSML1

structural/axiomatic

behavioral

subtypingrelation

Page 45: Towards Language-Oriented Modeling (HDR Defense)

- 45

Jim Steel, Jean-Marc Jézéquel, "On model typing," In Software and System Modeling (SoSyM), 2007

•  Rich set of subtyping relationships [Guy et al., ECMFA’12] •  Support of OCL in subtyping relationships [Sun et al., ECMFA’13]

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 46: Towards Language-Oriented Modeling (HDR Defense)

Reuse is not enough! Context matters!

Imported / inherited DSMLs may not fit exactly domain-specific requirements

è Finely tune with customization facilities

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 46

Page 47: Towards Language-Oriented Modeling (HDR Defense)

Modular and Reusable xDSML Development

- 47 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Thomas Degueule, Benoît Combemale, Arnaud Blouin, Olivier Barais, Jean-Marc Jézéquel, "Melange: a meta-language for modular and reusable development of DSLs," In Software Language Engineering (SLE), 2015

MM1

MM2

Sem1

Sem2

L1

L2

L3

L4

«inherit»

«mergeL»

«weave»

«slice»

Metamodel

Semantics

Language

Tooling

Model Type

Binding

«mergeS»

«mergeS»

«weave»

Legacy ArtifactsAssembled DSLs

MT1 MT2

MTi

«impl» «impl»

Page 48: Towards Language-Oriented Modeling (HDR Defense)

- 48

A language-based, model-oriented programming language

MELANGE

http://melange-lang.org

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 49: Towards Language-Oriented Modeling (HDR Defense)

OPEN WORLD

Feature A

Feature B Feature B

F. D F. D F. D F. D F. D F. D

Variability model

L1 L2

L3 L4

L1

L3 L4 L2

CLOSED WORLD

Language Manipulation •  Evolution •  Extension •  Restriction •  Customization •  Assembly

Variability-based development model for

DSLs •  Variability modeling •  Components-based

languages development

Families of Languages

Variants

Language derivation

L6

Typing Theory for Agile Modeling

•  Language interfaces •  Model polymorphism •  Viewpoints management

MELANGE

A Journey Through MDE, DSL and SLE - Benoit Combemale (INRIA and Univ. Rennes 1) - July 2nd, 2015 - 49

Page 50: Towards Language-Oriented Modeling (HDR Defense)

B-COOL: BEHAVIORAL MODEL COORDINATION

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

GEMOC Studio(DSML coordination)

xDSML1

structural/axiomatic

behavioral

xDSML3coordinationpattern

Page 51: Towards Language-Oriented Modeling (HDR Defense)

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

Page 52: Towards Language-Oriented Modeling (HDR Defense)

Towards a behavioral coordination of xDSMLs

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

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

•  Consequently, the MOC defines a symbolic event structure, whose some events are mapped to the DSA (i.e., the visible model state changes)

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

Matias Ezequiel Vara Larsen, Julien Deantoni, Benoit Combemale, Frédéric Mallet, "A Behavioral Coordination Operator Language (BCOoL)," In MODELS 2015

Page 53: Towards Language-Oriented Modeling (HDR Defense)

Behavioral Coordination Operator

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

xDSML Semantics

AS DSA MoCC

DSE (Domain Specific

Event)

Event-driven behavioral interface

Concurrent execution of homogeneous domain-specific models

• Data • Control • Communication

Page 54: Towards Language-Oriented Modeling (HDR Defense)

Behavioral Coordination Operator

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

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 55: Towards Language-Oriented Modeling (HDR Defense)

Behavioral Coordination Operator

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

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

Ecore Kermeta MoccML

GEL/ECL

Composition Operator

CompositionOperator

Lcompo

MatchingRule

CoordinationRule

B-COoL

Matias Ezequiel Vara Larsen, Julien Deantoni, Benoit Combemale, Frédéric Mallet, "A Behavioral Coordination Operator Language (BCOoL)," In MODELS 2015

Page 56: Towards Language-Oriented Modeling (HDR Defense)

Behavioral Model Coordination

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

Page 57: Towards Language-Oriented Modeling (HDR Defense)

Behavioral Model Coordination

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

Page 58: Towards Language-Oriented Modeling (HDR Defense)

CONCLUSION AND PERSPECTIVES

- 58 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 59: Towards Language-Oriented Modeling (HDR Defense)

Conclusion

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 59

Contributions to the support of a language-oriented modeling

with

tools and methods to

implement, reuse and coordinate xDSMLs and associated V&V tools

Page 60: Towards Language-Oriented Modeling (HDR Defense)

Major breakthroughs

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 60

•  Modular definition of xDSMLs

•  Reification of the concurrency in xDSMLs

•  Language interfaces for reuse and behavioral coordination

Page 61: Towards Language-Oriented Modeling (HDR Defense)

Perspectives

- 61 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

DSMLs as a key pivot for the socio-technical coordination

Model Experiencing Environments for informed decision and broader engagement

in smart technologies

Heuristics-Laws

Scientists

Open Data

Engineers

General PublicPolicy Makers

MEEs("what-if" scenarios)

System Models

Physical Laws (economic, environmental, social)

Simulation Tool(incl. constraint solver,

prediction tool, etc.)

Sustainability System(e.g., smart grid)

Context

sensors actuators

Energy Production/

Consumption System

Software

<<controls>><<senses>>

Approximate DSML runtimes for design space exploration,

runtime adaptation and security

Metamorphic DSMLs for fitting user needs

static int __rep_queue_filedone(dbenv, rep, rfp) DB_ENV *dbenv; REP *rep; __rep_fileinfo_args *rfp; { #ifndef HAVE_QUEUE COMPQUIET(rep, NULL); COMPQUIET(rfp, NULL); return (__db_no_queue_am(dbenv)); #else db_pgno_t first, last; u_int32_t flags; int empty, ret, t_ret; #ifdef DIAGNOSTIC DB_MSGBUF mb; #endif // over 100 lines of additional code } #endif

not, and, or, implies

B. Combemale, B. Cheng, A. Moreira, J.-M. Bruel, J. Gray, "Modeling for Sustainability,"

SEIS@ICSE 2015 (submitted) M. Acher, B. Combemale, P. Collet,

"Metamorphic Domain-Specific Languages: A Journey into the Shapes of a Language," Onward! Essays 2014

Page 62: Towards Language-Oriented Modeling (HDR Defense)

- 62 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

PhD Students: •  Clément Guy •  Emmanuelle Rouille •  Erwan Bousse •  David Mendez •  Marcelino Cancio

Main projects: FUI Topcased, ITEA2 OPEES, PICS MBSAR, ANR GEMOC, BGLE CLARITY, COST MPM4CPS,Ind. contracts with Thales, Sodifrance, DGA

Software: •  Melange •  GEMOC studio

Papers: •  1 book written, 2 books and

6 proceedings edited •  4 book chapters •  13 journal papers •  57 conferences papers •  20 workshop papers

General co-chair MODELS’16, PC co-chair SLE’14, founding member of the GEMOC initiative, EB member of Elsevier journals SCP and COMLAN, SC member of ACM SLE, organizer of various workshops and seminars (incl. Dasgtuhl).

Software engineers: •  Vincent Fontanella •  François Tanguy •  Fabien Coulon •  Dorian Leroy

Post-doctoral researchers: •  Cédric Bouhours •  José Galindo

"If you believe that language design can significantly affect the quality of software systems, then it should follow that language design can also affect the quality of energy systems. And if the quality of such energy systems will, in turn, affect the livability of our planet, then it’s critical that the language development community give modeling languages the attention they deserve." − Bret Victor (Nov., 2015), http://worrydream.com/ClimateChange

Page 63: Towards Language-Oriented Modeling (HDR Defense)

- 63 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

Page 64: Towards Language-Oriented Modeling (HDR Defense)

DiverSE

Model driven engineering

Functional diversity

Language diversity

Failure diversity

Execution diversity

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 64

Page 65: Towards Language-Oriented Modeling (HDR Defense)

Scientific collaborations

Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 65

Page 66: Towards Language-Oriented Modeling (HDR Defense)

- 66 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015

In memory of Prof. Robert B. France, A mentor, an academic father and far beyond.

Rest in peace, Robert. http://people.irisa.fr/Benoit.Combemale/tribute-robert-france

Page 67: Towards Language-Oriented Modeling (HDR Defense)

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

ILE de SEIN ENEZ-SUN


Recommended