Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Benoit Combemale (Inria & Univ. Rennes 1)
http://people.irisa.fr/Benoit.Combemale
benoit.combemale@irisa.fr
@bcombemale
Fr...
THE DIVERSE TEAM
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 2
DiverSE Research Group
DiverSE team (env. 40 people)
-  8 faculty members
-  1 Research Engineer
-  ~20 PhD students
-  ~6...
Applications Domains
Software
intensive
systems
- 4From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)
Multiple dimens...
Model driven
engineering
Functional
diversity
Language
diversity
Implementation
diversity
Execution
diversity
Research Fou...
Shared Vision: Model-Driven Engineering (MDE)
Distribution
« Service Provider
Manager »
Notification
Alternate Manager
« R...
FROM MDE TO SLE
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 7
Aerodynamics 
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impact...
9
Aerodynamics 
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impa...
Model-Driven Engineering (MDE)
- 11
J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model-
Driven...
Domain-Specific Languages (DSLs)
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 12
•  Targeted to a particular ...
Problem
Space Solution
Space
Assembler
C, Java
DSLs
Abstraction
Gap
« Another lesson we should have learned from the recent past is
that the development of 'richer' or 'more powerful' progra...
15
2011
« Domain-specific
languages are far more
prevalent than
anticipated »
What is a domain-specific language ?
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 16
•  « Language specially ...
GPL (General Purpose Language)
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 17
DSL vs. GPL
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 18
The boundary isn’t as clear as it could be. Domai...
Language-Oriented Programming/Modeling
- 19From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)
Jean-Marc Jézéquel, Ben...
Language Design and Implementation
- 20From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)
Jean-Marc Jézéquel, Benoît ...
Language Design and Implementation
- 21From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)
Abstract
Syntax
(+ static
s...
Language Design and Implementation
- 22From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)
J-M. Favre, D. Gasevic, R. ...
Software Language Engineering (SLE)
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 23
•  Application of systema...
Metamodeling
- 24
J.-M. Favre, J. Estublier, M. Blay-Fornarino, "L'ingénierie dirigée par les modèles.
Au-delà du MDA," He...
The Kermeta Workbench (since 2005)
•  Modular design of DSMLs
•  One meta-language per language concern (merge/weave)
•  E...
The Kermeta Workbench (since 2005)
- 26From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)
Jean-Marc Jézéquel, Benoit ...
Model Execution, Simulation and Animation
- 27From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)
Software Language Engineering (SLE)
- 28
J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model-
D...
MELANGE
A language workbench for agile language development and use
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1...
The daily life of DSLs
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 30
•  Closely evolve with the domain and ...
The daily life of DSLs
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 31
The daily life of DSLs
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 32
The daily life of DSLs
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 33
The daily life of DSLs
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 34
The daily life of DSLs
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 35
Variants or subsequent
versions cannot...
The daily life of DSLs
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 36
v2.4
v2.1
How can we ensure
interopera...
The daily life of DSLs
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 37
How can we foster the
reuse of artifac...
Challenges
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 38
•  Manage evolution
•  Generic tools &
transformat...
Towards Language Interfaces
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 39
•  Tools, transformations, enviro...
Towards Language Interfaces
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 40
Language
Implementation
(abstract...
A structural language interface: the model type
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 41
•  Interface ...
Model Type
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 42
Model Type
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 43
Clement Guy, Benoît Combemale, Steven Derrien, Jim...
Model Type
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 44
Melange: Overview
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 45
A language-based, model-oriented
programmin...
Melange: Overview
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 46
•  A language for defining DSLs
•  Import D...
Melange: Benefits
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 47
DSL engineering
•  High-level operators
•  ...
THE GEMOC INITIATIVE
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 48
On the globalization of modeling languag...
Globalization of Modeling Languages
- 49
•  DSMLs are developed in an independent manner
to meet the specific needs of dom...
Globalization of Modeling Languages
- 50
Supporting coordinated use of modeling
languages leads to what we call the global...
Globalization of Modeling Language
- 51
•  Context: new emerging DSML in open world
⇒  impossible a priori unification
⇒  ...
The GEMOC Initiative
- 52
An open and international initiative to
•  coordinate (between members)
•  disseminate (on behal...
GEMOC: The Community
- 53
United States
Canada
From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)
Join us!
The GEMOC Initiative
http://gemoc.org ~ @gemocinitiative
Advisory Board: Benoit Combemale, Robert B. France, Jeff...
From MDE to SLE: Wrap-up
Jean-Marc Jézéquel, David Mendez, Thomas Degueule, Benoit Combemale, Olivier
Barais, "When System...
From MDE to SLE (April 17th, 2015)
Prochain SlideShare
Chargement dans…5
×

From MDE to SLE (April 17th, 2015)

331 vues

Publié le

"From Model (driven) Engineering, to Language (driven) Engineering". Invited talk given at McGill University on April 17th, 2015.

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

From MDE to SLE (April 17th, 2015)

  1. 1. Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/Benoit.Combemale benoit.combemale@irisa.fr @bcombemale From Model (driven) Engineering… … to Language (driven) Engineering
  2. 2. THE DIVERSE TEAM From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 2
  3. 3. DiverSE Research Group DiverSE team (env. 40 people) -  8 faculty members -  1 Research Engineer -  ~20 PhD students -  ~6 Software Engineers -  ~6 Post doc - 3From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)
  4. 4. Applications Domains Software intensive systems - 4From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) Multiple dimensions of software diversity
  5. 5. Model driven engineering Functional diversity Language diversity Implementation diversity Execution diversity Research Foundations and Topics - 5From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)
  6. 6. Shared Vision: Model-Driven Engineering (MDE) Distribution « Service Provider Manager » Notification Alternate Manager « Recovery Block Manager » Complaint Recovery 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 » Notification Recovery Block Manager « Client » User Citizen Manager Fault tolerance Roles Activities Views Contexts Security Functional behavior Book state : StringUser borrow return deliver setDamaged res erv e Use case Platform Model Design Model Code Model Change one Aspect and Automatically Re-Weave: From Software Product Lines… ..to Dynamically Adaptive Systems - 6From 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.
  7. 7. FROM MDE TO SLE From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 7
  8. 8. Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction 8 Multiple Concerns
  9. 9. 9 Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction Heterogeneous Modeling
  10. 10. 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 » Complaint Recovery 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 » Notification Recovery Block Manager « Client » User Citizen Manager Fault tolerance Roles Activities Views Contexts Security Functional behavior Book state : StringUser borrow return deliver setDamaged res erv e Use case Platform Model Design Model Code Model
  11. 11. 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
  12. 12. Problem Space Solution Space Assembler C, Java DSLs Abstraction Gap
  13. 13. « 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
  14. 14. 15 2011 « Domain-specific languages are far more prevalent than anticipated »
  15. 15. 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. »
  16. 16. GPL (General Purpose Language) From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 17
  17. 17. 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
  18. 18. Language-Oriented Programming/Modeling - 19From 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
  19. 19. Language Design and Implementation - 20From 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.
  20. 20. Language Design and Implementation - 21From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) Abstract Syntax (+ static semantics) MOF/Ecore + OCL Concrete syntax Dynamic SemanticsxText, GMF, Sirius, Antlr… QVT*, Kermeta AL, Java EMF… * *
  21. 21. Language Design and Implementation - 22From 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"
  22. 22. 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)…
  23. 23. 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)
  24. 24. 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) - 25From 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.
  25. 25. The Kermeta Workbench (since 2005) - 26From 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 }
  26. 26. Model Execution, Simulation and Animation - 27From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)
  27. 27. 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."
  28. 28. MELANGE A language workbench for agile language development and use From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 29
  29. 29. 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
  30. 30. The daily life of DSLs From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 31
  31. 31. The daily life of DSLs From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 32
  32. 32. The daily life of DSLs From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 33
  33. 33. The daily life of DSLs From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 34
  34. 34. 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
  35. 35. 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?
  36. 36. 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?
  37. 37. 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
  38. 38. 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
  39. 39. 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
  40. 40. 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
  41. 41. Model Type From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 42
  42. 42. 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.
  43. 43. Model Type From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 44
  44. 44. Melange: Overview From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 45 A language-based, model-oriented programming language
  45. 45. 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
  46. 46. 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
  47. 47. THE GEMOC INITIATIVE From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1) - 48 On the globalization of modeling languages
  48. 48. 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, 201468 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE COLUMN SECTION TITLESOFTWARE TECHNOLOGIES Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management. I n 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 LANGUAGES Model-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 Languages Benoit 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)
  49. 49. 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, 201468 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE COLUMN SECTION TITLESOFTWARE TECHNOLOGIES Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management. I n 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 LANGUAGES Model-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 Languages Benoit 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)
  50. 50. 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, 201468 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE COLUMN SECTION TITLESOFTWARE TECHNOLOGIES Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management. I n 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 LANGUAGES Model-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 Languages Benoit 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
  51. 51. 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)
  52. 52. GEMOC: The Community - 53 United States Canada From MDE to SLE - B. Combemale (Inria & Univ. Rennes 1)
  53. 53. Join us! The GEMOC Initiative http://gemoc.org ~ @gemocinitiative Advisory Board: Benoit Combemale, Robert B. France, Jeff Gray and Jean-Marc Jézéquel
  54. 54. 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 Query Language Action Language Constraint LanguageFSM H FSM System ODE FSM Activity Language Inheritance Subtyping, 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)

×