from mde to sle (april 17th, 2015)

55
Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/Benoit.Combemale [email protected] @bcombemale From Model (driven) Engineeringto Language (driven) Engineering

Upload: benoit-combemale

Post on 22-Jan-2018

306 views

Category:

Software


0 download

TRANSCRIPT

Page 1: From MDE to SLE (April 17th, 2015)

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

From Model (driven) Engineering… … to Language (driven) Engineering

Page 2: From MDE to SLE (April 17th, 2015)

THE DIVERSE TEAM

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 2

Page 3: From MDE to SLE (April 17th, 2015)

DiverSE Research Group

DiverSE team (env. 40 people) -  8 faculty members -  1 Research Engineer -  ~20 PhD students -  ~6 Software Engineers -  ~6 Post doc

- 3 From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)

Page 4: From MDE to SLE (April 17th, 2015)

Applications Domains

Software intensive systems

- 4 From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)

Multiple dimensions of software diversity

Page 5: From MDE to SLE (April 17th, 2015)

Model driven engineering

Functional diversity

Language diversity

Implementation diversity

Execution diversity

Research Foundations and Topics

- 5 From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)

Page 6: From MDE to SLE (April 17th, 2015)

Shared Vision: 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

Book state : String User

borrow return

deliver setDamaged

reserve

Use case

Platform Model Design

Model Code Model

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

- 6 From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)

Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jézéquel, Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 2014

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.

Page 7: From MDE to SLE (April 17th, 2015)

FROM MDE TO SLE

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 7

Page 8: From MDE to SLE (April 17th, 2015)

Aerodynamics

Authorities

Avionics

Safety Regulations

Airlines

Propulsion System

Mechanical Structure

Environmental Impact

Navigation Communications

Human-Machine

Interaction

8

MultipleConcerns

Page 9: From MDE to SLE (April 17th, 2015)

9

Aerodynamics

Authorities

Avionics

Safety Regulations

Airlines

Propulsion System

Mechanical Structure

Environmental Impact

Navigation Communications

Human-Machine

Interaction

Heterogeneous Modeling

Page 10: From MDE to SLE (April 17th, 2015)
Page 11: From MDE to SLE (April 17th, 2015)

Model-Driven Engineering (MDE)

- 11

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.

From MDE to SLE - 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

Book state : String User

borrow return

deliver setDamaged

reserve

Use case

Platform Model Design

Model Code Model

Page 12: From MDE to SLE (April 17th, 2015)

Domain-Specific Languages (DSLs)

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 12

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

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

Page 13: From MDE to SLE (April 17th, 2015)

Problem Space Solution

Space

Assembler

C, Java

DSLs

Abstraction Gap

Page 14: From MDE to SLE (April 17th, 2015)

« Another lesson we should have learned from the recent past is that the development of 'richer' or 'more powerful' programming languages was a mistake in the sense that these baroque monstrosities, these conglomerations of idiosyncrasies, are really unmanageable, 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 14

aka Domain-Specific Languages

aka General-Purpose Languages

1972

Page 15: From MDE to SLE (April 17th, 2015)

15

2011 « Domain-specific languages are far more prevalent than anticipated »

Page 16: From MDE to SLE (April 17th, 2015)

What is a domain-specific language ?

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 16

•  « Language specially designed to perform a task in a certain domain »

•  « A formal processable language targeting at a specific viewpoint or aspect of a software system. Its semantics and notation is designed in order to support working with that viewpoint as good as possible »

•  « A computer language that's targeted to a particular kind of problem, rather than a general purpose language that's aimed at any kind of software problem. »

Page 17: From MDE to SLE (April 17th, 2015)

GPL (General Purpose Language)

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 17

Page 18: From MDE to SLE (April 17th, 2015)

DSL vs. GPL

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 18

The boundary isn’t as clear as it could be. Domain-specificity is not black-and-white, but instead gradual: a language is more or less domain specific

Page 19: From MDE to SLE (April 17th, 2015)

Language-Oriented Programming/Modeling

- 19 From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)

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 20: From MDE to SLE (April 17th, 2015)

Language Design and Implementation

- 20 From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)

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

Editors (textuals, graphicals, …)

Documentation generators

Test generators

Simulators

Analyzers

Refactoring

Checkers (static & dynamics)

Translators

Compilers

Code generators

Etc.

Page 21: From MDE to SLE (April 17th, 2015)

Language Design and Implementation

- 21 From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)

Abstract Syntax (+ static

semantics)

MOF/Ecore + OCL

Concrete syntax Dynamic

Semantics xText, GMF, Sirius, Antlr…

QVT*, Kermeta AL, Java EMF…

* *

Page 22: From MDE to SLE (April 17th, 2015)

Language Design and Implementation

- 22 From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)

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 softwares too"

Page 23: From MDE to SLE (April 17th, 2015)

Software Language Engineering (SLE)

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 23

•  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 24: From MDE to SLE (April 17th, 2015)

Metamodeling

- 24

J.-M. Favre, J. Estublier, M. Blay-Fornarino, "L'ingénierie dirigée par les modèles. Au-delà du MDA," Hermes Science Publications, 2006.

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)

Page 25: From MDE to SLE (April 17th, 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 efficient bytecode •  Integrated with third-party tools (EMF compliant)

- 25 From MDE to SLE - 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 26: From MDE to SLE (April 17th, 2015)

The Kermeta Workbench (since 2005)

- 26 From MDE to SLE - 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 := target result := output }

Page 27: From MDE to SLE (April 17th, 2015)

Model Execution, Simulation and Animation

- 27 From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)

Page 28: From MDE to SLE (April 17th, 2015)

Software Language Engineering (SLE)

- 28

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.

From MDE to SLE - 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 29: From MDE to SLE (April 17th, 2015)

MELANGE A language workbench for agile language development and use

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 29

Page 30: From MDE to SLE (April 17th, 2015)

The daily life of DSLs

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 30

•  Closely evolve with the domain and the experts’ understanding of the domain

•  Reused, extended, shrunk, customized, replaced with alternatives

Page 31: From MDE to SLE (April 17th, 2015)

The daily life of DSLs

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 31

Page 32: From MDE to SLE (April 17th, 2015)

The daily life of DSLs

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 32

Page 33: From MDE to SLE (April 17th, 2015)

The daily life of DSLs

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 33

Page 34: From MDE to SLE (April 17th, 2015)

The daily life of DSLs

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 34

Page 35: From MDE to SLE (April 17th, 2015)

The daily life of DSLs

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 35

Variants or subsequent versions cannot leverage previous engineering efforts

Page 36: From MDE to SLE (April 17th, 2015)

The daily life of DSLs

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 36

v2.4

v2.1

How can we ensure interoperability between subsequent versions?

Page 37: From MDE to SLE (April 17th, 2015)

The daily life of DSLs

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 37

How can we foster the reuse of artifacts between similar languages?

Page 38: From MDE to SLE (April 17th, 2015)

Challenges

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 38

•  Manage evolution •  Generic tools &

transformations •  Manage syntactical /

semantical variation points •  Design families (variants)

•  Agile modeling •  Manipulate models in

different environments •  Reuse transformations &

tools

Page 39: From MDE to SLE (April 17th, 2015)

Towards Language Interfaces

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 39

•  Tools, transformations, environments are tightly coupled with the language they were originately defined on

•  If the language evolves, associated tools break •  If a variant exists, tools cannot be reused

•  An abstraction layer would reduce the coupling •  We realize this abstraction layer with language interfaces

Page 40: From MDE to SLE (April 17th, 2015)

Towards Language Interfaces

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 40

Language Implementation (abstract syntax, concrete syntaxes, semantics)

Language Interface (meaningful information for a specific purpose)

Language and Model engineering (transformations, tools, editors, IDEs, …)

à Multiple implementations can match the same interface à Tools defined on an interface can be reused for all matching implemention

Page 41: From MDE to SLE (April 17th, 2015)

A structural language interface: the model type

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 41

•  Interface over the structural information of a language •  Focus on the reuse of tools and transformations •  Structural typing semantics for model manipulation

•  Supported by a model-oriented type system •  Models (i.e. graph of objects) as first-class citizens

•  Type group (family) polymorphism •  Structural typing

⇒ Provides language substitutability and model polymorphism

Page 42: From MDE to SLE (April 17th, 2015)

Model Type

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 42

Page 43: From MDE to SLE (April 17th, 2015)

Model Type

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 43

Clement Guy, Benoît Combemale, Steven Derrien, Jim Steel, Jean-Marc Jézéquel, "On Model Subtyping," In ECMFA’12, Springer, 2012.

Page 44: From MDE to SLE (April 17th, 2015)

Model Type

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 44

Page 45: From MDE to SLE (April 17th, 2015)

Melange: Overview

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 45

A language-based, model-oriented programming language

Page 46: From MDE to SLE (April 17th, 2015)

Melange: Overview

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 46

•  A language for defining DSLs •  Import DSLs implementation •  Handy operators for SLE: inheritance, merge, etc. •  Aspect-oriented modeling (e.g. for executable meta-modeling) •  Generic transformations

•  A language for manipulating models •  Models as first-class, typed citizens •  Model-oriented type system providing model polymorphism •  Flexible save and load mechanism

•  Fully interoperable with the EMF ecosystem

•  As an external or internal DSL

Page 47: From MDE to SLE (April 17th, 2015)

Melange: Benefits

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 47

DSL engineering

•  High-level operators •  Inheritance, merge, etc. •  Aspect-oriented modeling

•  Executable meta-modeling

•  Generic tools definition

Agile modeling

•  Manipulate models in different environments

•  Viewpoints

•  Reuse of tools

Page 48: From MDE to SLE (April 17th, 2015)

THE GEMOC INITIATIVE

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 48

On the globalization of modeling languages

Page 49: From MDE to SLE (April 17th, 2015)

Globalization of Modeling Languages

- 49

•  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

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)

Page 50: From MDE to SLE (April 17th, 2015)

Globalization of Modeling Languages

- 50

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.

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

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)

Page 51: From MDE to SLE (April 17th, 2015)

Globalization of Modeling Language

- 51

•  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

From MDE to SLE - 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

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 52: From MDE to SLE (April 17th, 2015)

The GEMOC Initiative

- 52

An open and international initiative to •  coordinate (between members) •  disseminate (on behalf the members)

worldwide R&D efforts on the globalization of modeling languages

http://gemoc.org

@gemocinitiative

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)

Page 53: From MDE to SLE (April 17th, 2015)

GEMOC: The Community

- 53

United States

Canada

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)

Page 54: From MDE to SLE (April 17th, 2015)

Join us!

The GEMOC Initiative http://gemoc.org ~ @gemocinitiative

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

Page 55: From MDE to SLE (April 17th, 2015)

From MDE to SLE: Wrap-up

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

From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)