On the Globalization of Modeling Languages (June 8th, 2015)
1. Benoit Combemale (Inria & Univ. Rennes 1)
http://people.irisa.fr/Benoit.Combemale
benoit.combemale@irisa.fr
@bcombemale
On the Globalization of Modeling Languages
2. THE DIVERSE TEAM
- 2GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
8. Outline
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 8
1. From Model Driven Engineering to Software Language
Engineering
2. The GEMOC Initiative
3. The GEMOC ANR Project
1. Explicit and Formal Concurrency in Executable DSML
2. Behavioral Coordination of Heterogeneous Models
4. Conclusion and Perspectives
9. FROM MODEL (DRIVEN) ENGINEERING…
… TO LANGUAGE (DRIVEN) ENGINEERING
- 9GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
13. 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
- 13GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
14. Model-Driven Engineering (MDE)
- 14
J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model-
Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85.
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
"Perhaps surprisingly, the majority of MDE examples in our study
followed domain-specific modeling paradigms"
Distribution
« Service Provider
Manager »
Notification
Alternate Manager
« Recovery Block
Manager »
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
15. Domain-Specific Languages (DSLs)
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 15
• 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
16. « 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 16
aka Domain-
Specific
Languages
aka General-Purpose
Languages
1972
18. Language Design and Implementation
- 18GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
J-M. Favre, D. Gasevic, R. Lämmel, and E. Pek. "Empirical language analysis
in software linguistics," In Software Language Engineering, volume 6563 of
LNCS, pages 316–326. Springer, 2011.
"Software languages
are software too"
19. Software Language Engineering (SLE)
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 19
• Application of systematic, disciplined, and measurable
approaches to the development, deployment, use, and
maintenance of software languages
• Supported by various kind of "language workbench"
• Eclipse EMF, xText, Sirius, GEMOC, Papyrus
• Jetbrain’s MPS
• MS DSL Tools
• Etc.
• Various shapes and ways to implement software languages
• External, internal or embedded DSLs, Profile, etc.
• Grammar, metamodel, ontology, etc.
• More and more literature, a dedicated Intl. conference (ACM
SLE, cf. http://www.sleconf.org)…
20. The Kermeta Workbench (since 2005)
- 20GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Jean-Marc Jézéquel, Benoit Combemale, Olivier Barais, Martin Monperrus,
François Fouquet, “Mashup of metalanguages and its implementation in the
Kermeta language workbench,” SoSyM, 2014.
@aspect(class=Transition)
operation fire() : String {
source.owningFSM.currentState := target
result := output
}
21. The Kermeta Workbench (since 2005)
• Modular design of DSMLs
• One meta-language per language concern (merge/weave)
• Ecore, OCL, Xtend
• But also: QVTo, fUML, Alf, Ket, Xsd…
• Static introduction mechanism (aspect)
• Provides a model oriented action language to support common model
manipulation tasks
• to implement (E)Operation’s bodies
• Imperative, statically typed, object-oriented, aspect-oriented
(aspect/context,require), model-oriented, DbC, Unit testing
• Java and Xtend compliant, and based on EMF
• Run as Eclipse plugin or as standard Java application
• Efficient implementation of DSMLs
• Mashup of the meta-languages to Java code
• Integrated with third-party tools (EMF compliant)
- 21GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Jean-Marc Jézéquel, Benoit Combemale, Olivier Barais, Martin Monperrus,
François Fouquet, “Mashup of metalanguages and its implementation in the
Kermeta language workbench,” SoSyM, 2014.
22. Software Language Engineering (SLE)
- 22
J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model-
Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85.
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
"A clear challenge, then, is how to integratemultiple 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."
23. Software Language Engineering (SLE)
Jean-Marc Jézéquel, David Mendez, Thomas Degueule, Benoit Combemale, Olivier
Barais, "When Systems Engineering Meets Software Language Engineering," In
Complex Systems Design & Management (CSD&M'14), Springer, 2014.
All about “family of languages”!! J
Core
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
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
25. Globalization of Modeling Languages
- 25
• 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
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
26. Globalization of Modeling Languages
- 26
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
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
27. Globalization of Modeling Language
- 27
• Context: new emerging DSML in open world
⇒ impossible a priori unification
⇒ require a posteriori globalization
• Objective: socio-technical coordination to support interactions
across different system aspects
⇒ Language-based support for technical integration of
multiples domains
⇒ Language-based support for social translucence
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France,
Jean-Marc Jezequel, Jeff Gray, "Globalizing Modeling Languages,"
Computer, vol. 47, no. 6, pp. 68-71, June, 2014
28. GEMOC: The Initiative
- 28
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
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
29. GEMOC: The Studio
- 29The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
Design and compose
your executable DSMLs
http://gemoc.org/studio
Language
Workbench
Modeling
Workbench
Edit, simulate and animate
your heterogeneous models
30. GEMOC: The Community
- 30
United States
Canada
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
31. GEMOC: The Events
- 31
• The GEMOC workshop series co-located with the MODELS conference:
• 3rd International Workshop on the Globalization of Modeling Languages (GEMOC’15)
• 2nd International Workshop on the Globalization of Modeling Languages (GEMOC’14)
• 1st International Workshop on the Globalization of Modeling Languages (GEMOC’13)
• Dagstuhl Seminar #14412 on “Globalizing Domain-Specific Languages”, October , 2014.
• A book to be published soon (Springer edition)!
• International Workshop on the Globalization of Domain Specific Languages (GlobalDSL’13),
co-located with ECMFA, ECOOP and ECSA 2013
• Official launch of The GEMOC Initiative at the Research-Project Symposium of
ECMFA/ECOOP/ECSA’13 (July 1st, 2013)
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
32. GEMOC: The Projects
- 32The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
• Survey of the techniques and tools to compose DSMLs and their respectives
MoCs
• Partners: IRISA (Triskell), I3S (Aoste)
• Cf. http://gemoc.org/as2011
CNRS GDR GPL
Specific Action 2011
• A Language Workbench for Heterogeneous Modeling and Analysis ofComplex
Software-Intensive Systems
• Partners: Inria (DiverSE),I3S (Aoste), IRIT, ENSTA-Bretagne, Thales, Obeo
• Cf. http://gemoc.org/ins
ANR INS GEMOC
2012-2016
• Travel funds for permanentstaff and PhD students
• Partners: IRISA (DiverSE), CSU
• Cf. http://gemoc.org/mbsar
CNRS PICS MBSAR
2013-2015
• Promote the sharing of foundations,techniques,and tools and to provide
educational resources,to both academia and industry
• Cf. http://www.cost.eu/COST_Actions/ict/Actions/IC1404
ICT COST Action
MPM4CPS
2014-2018
33. Concurrent execution of heterogeneous
models (ANR Project, #ANR-12-INSE-0011)
- 33
Breakthroughs:
• modular and explicit definition of the behavioral semantics of modeling
languages, incl. concurrency [APSEC’12, SLE’12, SLE’13]
• dedicated meta-languages [DATE’15]
• explicit behavioral interface of modeling languages [GEMOC’13]
• integration of modeling languages for heterogeneous model
coordination [Computer'14, Dagstuhl #14412]
• Abstract syntax
(domain model)
• Concrete syntax
(static and dynamic)
• Operational semantics
• Composition operators
DSML
Specification
and
Coordination
• Graphical and textual
modeling
• Concurrent execution
• Trace management
• Graphical animation
Heterogeneous
Modeling and
Simulation/Ani
mation
Visit http://gemoc.org/ins
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
34. THE GEMOC ANR PROJECT
#ANR-12-INSE-0011 (2012-2016)
- 34GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
35. ANR GEMOC: Identification
- 35
• Scientific Coordinator: Benoit Combemale (INRIA)
• Consortium: Inria, CNRS I3S, INPT IRIT, ENSTA Bretagne,
Thales, Obeo
• External Partner: Supélec
• Date: 01.12.12 – 30.03.16 (40 months)
• Budget: 2 700 000 €
• Supported by the French Agency for Research (ANR)
• Program Ingénierie Numérique et Sécurité (INS 2012)
• Grant n°ANR-12-INSE-0011
• ANR Funding: 982 720€
• Competitiveness clusters: Image & Réseaux, Aerospace Valley
and Systematic
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
36. - 36GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Le nouveau défis de la coordination des langages de modélisation. Gestion de
l'hétérogénéité des modèles dans le développement et l'exécution de systèmes
logiciels complexes (Benoit Combemale, Julien Deantoni, Ali Koudri, Jérôme Le
Noir), In Génie logiciel et ingénierie de système (GL & IS), 2013.
ANR GEMOC: Challenges
38. - 38GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
ANR GEMOC: Breakthroughs
• A modular executable metamodeling approach for concurrent
behavioral semantics specification, implementation, reuse and
variability
• Well-defined language interfaces:
• Structural: for language, model transformation and model reuse
• Behavioral: for language behavioral coordination
• Language coordination patterns for concurrent execution of
heterogeneous models
39. - 39GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
ANR GEMOC: Breakthroughs
1. A modular executable metamodeling approach for concurrent
behavioral semantics specification, implementation, reuse and
variability
• Well-defined language interfaces:
• Structural: for language, model transformation and model reuse
• Behavioral: for language behavioral coordination
2. Language coordination patterns for concurrent execution of
heterogeneous models
40. EXPLICIT AND FORMAL CONCURRENCY IN
EXECUTABLE DSML
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 40
41. Motivations
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 41
• Concurrency is at the heart of modern software-intensive systems
and platforms
• Complex systems (e.g., IoT, CPS) are highly concurrent systems
per se.
• Modern platforms (e.g., many-core, GPGPU, distributed
platforms) are providing more and more parallelism.
⇒ Require correct specification of concurrency for leveraging the
unique characteristics of these systems and their deployment on
these platforms.
42. Motivations
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 42
• Concurrency remains implicit and ad-hoc in language design
and implementation:
• Design: implicitly inherited from the meta-language used
• Implementation: mostly embedded in the underlying execution
environment
• The lack of an explicit concurrency specification in language
design prevents:
• leveraging the concurrency concern of a particular domain or platform
• a complete understanding of the behavioral semantics
• effective concurrency-aware analysis techniques
• effective techniques for producing semantic variants
• analysis of the deployment on parallel architectures
43. Grand Challenge
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 43
Cross fertilization in languages of
the algorithm theory and the
concurrency theory
Leslie Lamport, “Turing Lecture: The Computer Science of Concurrency: The
Early Years,” Com. ACM, vol. 58, no. 6, 2015, pp. 71–76.
"Concurrency models were generally event-based, and avoided the
use of state. They did not easily describe algorithms or the usual
way of thinking about them based on the standard model."
44. Approach
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 44
Kermeta
ModHel'X
Abstract
Syntax
(AS)
Concrete
Syntax
(CS)
Mas cs Mas sd
Semantic
Domain
(SD)
Abstract
Syntax
(AS)
Concrete
Syntax
(CS)
MoC
Domain-Specific
Actions
Mas cs
Benoit Combemale, Cécile Hardebolle, Christophe Jacquet, Frédéric Boulanger,
Benoit Baudry, "Bridging the Chasm between Executable Metamodeling and
Models of Computation," In SLE 2012.
45. Approach
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 45
Semantics
AS
DSA
MOC
Static
Introduction
Delegation
Pattern
Domain
Model
Exec. function
and data
Concurrency
Model
The MoCC serves as a (family of) scheduler(s) of the 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 SLE 2012.
46. Approach
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 46
Benoit Combemale, Julien Deantoni, Matias Vara Larsen, Frédéric Mallet, Olivier
Barais, Benoit Baudry, Robert France, "Reifying Concurrency for Executable
Metamodeling," In SLE 2013
Semantics
AS
DSA
MOC
DSE
(Domain Specific
Event)
• Data
• Control
• Communication
The DSE serve as a mapping between the MOC and the DSA
47. Contribution
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 47
Model of
Concurrency &
Communication
Domain-Specific
Actions
Abstract
Syntax
Domain-Specific
Events
48. Contribution
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 48
Model of
Concurrency &
Communication
Domain-Specific
Actions
Abstract
Syntax
Domain-Specific
Events
0..*
DSAMoCC
DSE
Concept0..*
Concepts
(from Las)
Execution
Function
(from Ldsa)
Las
Event
(from Lmoc)
Ldsa
Ldse
Lmocc
Event
0..*
* *
Constraint
0..*
0..*
Legend
<<dependsOn>>
<<conformsTo>>
Property
type
1Execution
State
0..*
Execution
Function
0..*
0..*
EcoreKermeta
MoccM
L
GEL/ECL
50. Result: model execution environment
- 50Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
51. Result: model execution environment
- 51Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
• Graphical animation
• Breakpoint definition on model element
• Multi-dimensional and efficient trace
management
• Model debugging facilities (incl., timeline,
step backward, stimuli management, etc.)
• Concurrency simulation and formal analysis
52. Result: semantic variation points
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 52
54. Towards a behavioral language interface
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 54
• The application of the MOC to a given model results in an event
structure
• Consequently, the MOC define a symbolic event structure,
whose the events mapped to the DSA correspond to the visible
model state changes
⇒ This mapping can serve as a behavioral language interface
used to define patterns that will coordinate conforming models
55. Approach
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 55
xDSML
Semantics
AS
DSA
MoCC
DSE
(Domain Specific
Event)
Event-driven
behavioral interface
Concurrent execution of
homogeneous domain-
specific models
• Data
• Control
• Communication
56. Approach
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 56
xDSML’
xDSML
Semantics
AS
DSA
MoCC
DSE
(Domain Specific
Event)
• Data
• Control
• Communication
Event-driven
behavioral interface
AS
DSA
MoCC
DSE
Concurrent execution of
heterogeneous domain-
specific models
57. Contribution
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 57
Model of
Concurrency &
Communication
Domain-Specific
Actions
Abstract
Syntax
Domain-Specific
Events
0..*
DSAMoCC
DSE
Concept0..*
Concepts
(from Las)
Execution
Function
(from Ldsa)
Las
Event
(from Lmoc)
Ldsa
Ldse
Lmocc
Event
0..*
* *
Constraint
0..*
0..*
Legend
<<dependsOn>>
<<conformsTo>>
Property
type
1Execution
State
0..*
Execution
Function
0..*
0..*
EcoreKermeta
MoccM
L
GEL/ECL
Composition
Operator
Composition
Operator
Lcompo
Matching
Rule
Coordination
Rule
B-COoL
58. Towards an execution engine
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 58
59. Towards an execution engine
- 59Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
61. Conclusion and Perspectives
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 61
• Breakthroughs:
• A concurrent and modular executable metamodeling approach
• An explicit behavioral language interface
• A behavioral coordination operator language
• Current scheduled technologicaloutcomes:
• Melange, a language-oriented workbench for language, model transformation
and model reuse and variability
• Host on Github as an open source project (INRIA)
• Model debugging environment: execution engine, animator designer/runtime,
and trace/event managers
• Host on Sirius lab for maturation as an Eclipse plugin (Obeo/INRIA)
• BCOoL and heterogeneous engine coordination
• will be diffused as an open source project (I3S/INRIA)
• MoccML and Timesquare
• will be diffused as an open source project (I3S/ENSTA Bretagne)
• Applications:
• fUML (Cf. TTC’15 at http://gemoc.org/ttc15)
• xCapella, an executable extension of Capella
• Model-experiencing systems as dynamic adaptive, well-informed and broader
“what-if” environments for sustainability (e.g., Farming systems)
62. Conclusion and Perspectives
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 62
• Further developments:
• Maturation of the generic tools (debugging env., concurrency env.
and heterogeneous coordination env.)
• Maintenance of the GEMOC Studio
• Application to xCapella
• Perspectives:
• Deep investigation of the notion of language interface (viewpoint
engineering,etc.)
• Formal analysis of model coordination
• Leveraging the execution trace of, possibly heterogeneous, coordinated
executable models
• Simulation, model explorer, model checking
• Adaptable MoC at the language level
• @design/compile time: design space exploration, optimizing compilers
• @runtime: code adaptation, code obfuscation
• Application to sustainability systems
• SLE in Education
63. Join us!
The GEMOC Initiative
http://gemoc.org ~ @gemocinitiative
Advisory Board: Benoit Combemale, Robert B. France, Jeff Gray and Jean-Marc Jézéquel