SlideShare ist ein Scribd-Unternehmen logo
1 von 63
Downloaden Sie, um offline zu lesen
Benoit Combemale (Inria & Univ. Rennes 1)
http://people.irisa.fr/Benoit.Combemale
benoit.combemale@irisa.fr
@bcombemale
On the Globalization of Modeling Languages
THE DIVERSE TEAM
- 2GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Software intensive systems
3
Software
intensive
systems
Software intensive systems
4
Software
intensive
systems
Multiple dimensions
of software diversity
DiverSE
5
Model driven
engineering
Functional
diversity
Language
diversity
Failure
diversity
Execution
diversity
DiverSE
6
Model driven
engineering
Functional
diversity
Language
diversity
Failure
diversity
Execution
diversity
DiverSE
•DIVERSE
• 8 faculty members
• ~ 30 PhD students, postdocs, and
engineers
7
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
FROM MODEL (DRIVEN) ENGINEERING…
… TO LANGUAGE (DRIVEN) ENGINEERING
- 9GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Applications Domains
Software
intensive
systems
- 10GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Aerodynamics
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impact
Navigation
Communications
Human-
Machine
Interaction
11
Multiple
Concerns
12
Aerodynamics
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impact
Navigation
Communications
Human-
Machine
Interaction
Heterogeneou
s Modeling
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)
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
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
« 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
17
2011
« Domain-specific
languages are far more
prevalent than
anticipated »
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"
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)…
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
}
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.
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."
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)
THE GEMOC INITIATIVE
- 24GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
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)
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)
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
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)
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
GEMOC: The Community
- 30
United States
Canada
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
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)
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
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)
THE GEMOC ANR PROJECT
#ANR-12-INSE-0011 (2012-2016)
- 34GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
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)
- 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
- 37GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
ANR GEMOC: Key Facts
2013% 2014% 2015%
(  Valida.on%of%the%challenges%[Génie%Logiciel’13,%Computer’14]%and%the%vision%
[APSEC’12,%SLE’12,%SLE’13]%
(  Integrated%studio:%the%GEMOC%Studio%
(  Launch%of%the%interna.onal%GEMOC%ini.a.ve%
(  Interna.onal%dissemina.on%(GlobalDSL@ECOOP’13%and%GEMOC@MoDELS’13)%
(  Development%of%the%solu.on%(K3,%GEL,%MoccML%[DATE’15],%Sirius%Anima.on,%B(COol)%
(  First%experiments%with%the%GEMOC%studio%and%first%official%release%v0.1%
(  Interna.onal%dissemina.on%(EclipseCon%France,%MDD4DRES’14,%SLE’14,%
GEMOC@MoDELS’14%and%Dagstuhl%Seminar%#14412)%
Dec.,&2012&
T0&
(project&kickoff)&
March,&2016&
T0+40&
(project&end)&
June, 2014
T0+18
(mid-term review)
(  Consolida.on%and%evalua.on%of%the%solu.on%
(  Advanced%scenarios%with%the%GEMOC%studio.%Releases%v1%and%v2%
(  Interna.onal%dissemina.on%(EclipseCon%France,%SLE’15,%GEMOC@MoDELS’15)%
(  Establishment%of%the%exploita.on%plan,%open(source%transfer%
(  Explora.on%of%the%perspec.ves:%V&V,%op.mizing%compilers,%so_ware%
adapta.on,%cybersecurity%
ANR-12-INSE-0011
- 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
- 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
EXPLICIT AND FORMAL CONCURRENCY IN
EXECUTABLE DSML
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 40
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.
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
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."
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.
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.
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
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
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
(executable)
Model
(executable)
Modeling
Language
Metamodeling
Languages
MoccML Kermeta Ecore
MoC.lib.moc
(MoC)
MyDSML
.xtend
(DSA)
MyDSML
.ecore
(AS)
GEL/ECL
DSE4MyDSML
.gel
(MoC<->DSA)
aModel
MyDSML
DSA-AS.jar
MyDSML
Concurrency
Model.mocLegend
code generation
<<dependsOn>>
<<conformsTo>>
Contribution
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 49
Result: model execution environment
- 50Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
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
Result: semantic variation points
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 52
BEHAVIORAL COORDINATION OF
HETEROGENEOUS MODELS
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 53
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
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
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
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
Towards an execution engine
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 58
Towards an execution engine
- 59Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
CONCLUSION AND PERSPECTIVES
- 60GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
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)
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
Join us!
The GEMOC Initiative
http://gemoc.org ~ @gemocinitiative
Advisory Board: Benoit Combemale, Robert B. France, Jeff Gray and Jean-Marc Jézéquel

Weitere ähnliche Inhalte

Andere mochten auch

C3 entrainement4operations4
C3 entrainement4operations4C3 entrainement4operations4
C3 entrainement4operations4proktos
 
O Primeiro Gato Guia do Mundo
O Primeiro Gato Guia do MundoO Primeiro Gato Guia do Mundo
O Primeiro Gato Guia do MundoMundo dos Animais
 
Kiran_NDC_Roustabout_cv
Kiran_NDC_Roustabout_cvKiran_NDC_Roustabout_cv
Kiran_NDC_Roustabout_cvKiran Johny
 
Alimentos Perigosos Para Cães e Gatos
Alimentos Perigosos Para Cães e GatosAlimentos Perigosos Para Cães e Gatos
Alimentos Perigosos Para Cães e GatosMundo dos Animais
 
Xerrada pares alumnes 1r eso
Xerrada pares alumnes 1r esoXerrada pares alumnes 1r eso
Xerrada pares alumnes 1r esoNeus Policarpo
 
the secret of inner power psychotronica
the secret of inner power psychotronicathe secret of inner power psychotronica
the secret of inner power psychotronicasuwono3277
 
Sanificazione Vasche Inox con Ozono
Sanificazione Vasche Inox con Ozono Sanificazione Vasche Inox con Ozono
Sanificazione Vasche Inox con Ozono Movingfluid srl
 
Why coca cola is dominating in the beverage industry
Why coca cola is dominating in the beverage industryWhy coca cola is dominating in the beverage industry
Why coca cola is dominating in the beverage industryIMT ProHunt
 

Andere mochten auch (13)

Mind Measure Planner
Mind Measure PlannerMind Measure Planner
Mind Measure Planner
 
C3 entrainement4operations4
C3 entrainement4operations4C3 entrainement4operations4
C3 entrainement4operations4
 
O Primeiro Gato Guia do Mundo
O Primeiro Gato Guia do MundoO Primeiro Gato Guia do Mundo
O Primeiro Gato Guia do Mundo
 
Kiran_NDC_Roustabout_cv
Kiran_NDC_Roustabout_cvKiran_NDC_Roustabout_cv
Kiran_NDC_Roustabout_cv
 
Xi concurso interunivesitario de litigación oral pp
Xi concurso interunivesitario de litigación oral ppXi concurso interunivesitario de litigación oral pp
Xi concurso interunivesitario de litigación oral pp
 
Alimentos Perigosos Para Cães e Gatos
Alimentos Perigosos Para Cães e GatosAlimentos Perigosos Para Cães e Gatos
Alimentos Perigosos Para Cães e Gatos
 
Xerrada pares alumnes 1r eso
Xerrada pares alumnes 1r esoXerrada pares alumnes 1r eso
Xerrada pares alumnes 1r eso
 
Abandono De Cães e Gatos
Abandono De Cães e GatosAbandono De Cães e Gatos
Abandono De Cães e Gatos
 
the secret of inner power psychotronica
the secret of inner power psychotronicathe secret of inner power psychotronica
the secret of inner power psychotronica
 
Nandana ecology case studies
Nandana ecology case studiesNandana ecology case studies
Nandana ecology case studies
 
Sanificazione Vasche Inox con Ozono
Sanificazione Vasche Inox con Ozono Sanificazione Vasche Inox con Ozono
Sanificazione Vasche Inox con Ozono
 
Pricing.gap
Pricing.gapPricing.gap
Pricing.gap
 
Why coca cola is dominating in the beverage industry
Why coca cola is dominating in the beverage industryWhy coca cola is dominating in the beverage industry
Why coca cola is dominating in the beverage industry
 

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

From MDE to SLE (April 17th, 2015)
From MDE to SLE (April 17th, 2015)From MDE to SLE (April 17th, 2015)
From MDE to SLE (April 17th, 2015)Benoit Combemale
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...Benoit Combemale
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...Benoit Combemale
 
Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC StudioBenoit Combemale
 
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...Università degli Studi dell'Aquila
 
Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesAnkica Barisic
 
Applying static code analysis for domain-specific languages
Applying static code analysis for domain-specific languagesApplying static code analysis for domain-specific languages
Applying static code analysis for domain-specific languagesIván Ruiz-Rube
 
Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Benoit Combemale
 
Professional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeans
Professional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeansProfessional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeans
Professional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeansMatthias Mueller-Prove
 
Scalable architectures for phenotype libraries
Scalable architectures for phenotype librariesScalable architectures for phenotype libraries
Scalable architectures for phenotype librariesMartin Chapman
 
Industry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software EngineeringIndustry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software EngineeringPer Runeson
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDEBenoit Combemale
 
Collaborative language engineering and language use: demo with MetaEdit+
Collaborative language engineering and language use: demo with MetaEdit+Collaborative language engineering and language use: demo with MetaEdit+
Collaborative language engineering and language use: demo with MetaEdit+Juha-Pekka Tolvanen
 
Programmer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language InputProgrammer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language Inputijseajournal
 
Wrap-up of the ANR project GEMOC
Wrap-up of the ANR project GEMOCWrap-up of the ANR project GEMOC
Wrap-up of the ANR project GEMOCBenoit Combemale
 
User interface software tools past present and future
User interface software tools past present and futureUser interface software tools past present and future
User interface software tools past present and futureAlison HONG
 
Methodology for the Development of Vocal User Interfaces
Methodology for the Development of Vocal User InterfacesMethodology for the Development of Vocal User Interfaces
Methodology for the Development of Vocal User InterfacesJean Vanderdonckt
 
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...Benoit Combemale
 

Ähnlich wie On the Globalization of Modeling Languages (June 8th, 2015) (20)

From MDE to SLE (April 17th, 2015)
From MDE to SLE (April 17th, 2015)From MDE to SLE (April 17th, 2015)
From MDE to SLE (April 17th, 2015)
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
 
Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC Studio
 
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
 
Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific Languages
 
Applying static code analysis for domain-specific languages
Applying static code analysis for domain-specific languagesApplying static code analysis for domain-specific languages
Applying static code analysis for domain-specific languages
 
Unit ii oo design 9
Unit ii oo design 9Unit ii oo design 9
Unit ii oo design 9
 
Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)
 
Professional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeans
Professional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeansProfessional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeans
Professional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeans
 
Scalable architectures for phenotype libraries
Scalable architectures for phenotype librariesScalable architectures for phenotype libraries
Scalable architectures for phenotype libraries
 
Industry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software EngineeringIndustry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software Engineering
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDE
 
Collaborative language engineering and language use: demo with MetaEdit+
Collaborative language engineering and language use: demo with MetaEdit+Collaborative language engineering and language use: demo with MetaEdit+
Collaborative language engineering and language use: demo with MetaEdit+
 
Programmer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language InputProgrammer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language Input
 
Wrap-up of the ANR project GEMOC
Wrap-up of the ANR project GEMOCWrap-up of the ANR project GEMOC
Wrap-up of the ANR project GEMOC
 
User interface software tools past present and future
User interface software tools past present and futureUser interface software tools past present and future
User interface software tools past present and future
 
Methodology for the Development of Vocal User Interfaces
Methodology for the Development of Vocal User InterfacesMethodology for the Development of Vocal User Interfaces
Methodology for the Development of Vocal User Interfaces
 
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...
 

Mehr von Benoit Combemale

When Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software EngineeringWhen Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software EngineeringBenoit Combemale
 
Table ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciencesTable ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciencesBenoit Combemale
 
SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019Benoit Combemale
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and FutureBenoit Combemale
 
Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioBenoit Combemale
 
Smart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering ModelsSmart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering ModelsBenoit Combemale
 
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...Benoit Combemale
 
Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Modeling For Sustainability: Or How to Make Smart CPS Smarter?Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Modeling For Sustainability: Or How to Make Smart CPS Smarter?Benoit Combemale
 
Introduction of the SLE'17 conference
Introduction of the SLE'17 conferenceIntroduction of the SLE'17 conference
Introduction of the SLE'17 conferenceBenoit Combemale
 
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSEXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSBenoit Combemale
 
Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Benoit Combemale
 
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of ViewSound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of ViewBenoit Combemale
 
Concurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLConcurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLBenoit Combemale
 
Experimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCExperimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCBenoit Combemale
 
The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)Benoit Combemale
 
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...Benoit Combemale
 
Reifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specificationsReifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specificationsBenoit Combemale
 
Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)Benoit Combemale
 
Formally Defining and Iterating Infinite Models (MODELS 2012)
Formally Defining and Iterating Infinite Models (MODELS 2012)Formally Defining and Iterating Infinite Models (MODELS 2012)
Formally Defining and Iterating Infinite Models (MODELS 2012)Benoit Combemale
 
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-TimeHyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-TimeBenoit Combemale
 

Mehr von Benoit Combemale (20)

When Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software EngineeringWhen Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software Engineering
 
Table ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciencesTable ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciences
 
SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and Future
 
Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC Studio
 
Smart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering ModelsSmart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering Models
 
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
 
Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Modeling For Sustainability: Or How to Make Smart CPS Smarter?Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Modeling For Sustainability: Or How to Make Smart CPS Smarter?
 
Introduction of the SLE'17 conference
Introduction of the SLE'17 conferenceIntroduction of the SLE'17 conference
Introduction of the SLE'17 conference
 
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSEXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
 
Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)
 
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of ViewSound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
 
Concurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLConcurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCML
 
Experimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCExperimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOC
 
The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)
 
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
 
Reifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specificationsReifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specifications
 
Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)
 
Formally Defining and Iterating Infinite Models (MODELS 2012)
Formally Defining and Iterating Infinite Models (MODELS 2012)Formally Defining and Iterating Infinite Models (MODELS 2012)
Formally Defining and Iterating Infinite Models (MODELS 2012)
 
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-TimeHyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
 

Kürzlich hochgeladen

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 

Kürzlich hochgeladen (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 

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)
  • 7. DiverSE •DIVERSE • 8 faculty members • ~ 30 PhD students, postdocs, and engineers 7
  • 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)
  • 10. Applications Domains Software intensive systems - 10GEMOC, 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
  • 17. 17 2011 « Domain-specific languages are far more prevalent than anticipated »
  • 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)
  • 24. THE GEMOC INITIATIVE - 24GEMOC, 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
  • 37. - 37GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) ANR GEMOC: Key Facts 2013% 2014% 2015% (  Valida.on%of%the%challenges%[Génie%Logiciel’13,%Computer’14]%and%the%vision% [APSEC’12,%SLE’12,%SLE’13]% (  Integrated%studio:%the%GEMOC%Studio% (  Launch%of%the%interna.onal%GEMOC%ini.a.ve% (  Interna.onal%dissemina.on%(GlobalDSL@ECOOP’13%and%GEMOC@MoDELS’13)% (  Development%of%the%solu.on%(K3,%GEL,%MoccML%[DATE’15],%Sirius%Anima.on,%B(COol)% (  First%experiments%with%the%GEMOC%studio%and%first%official%release%v0.1% (  Interna.onal%dissemina.on%(EclipseCon%France,%MDD4DRES’14,%SLE’14,% GEMOC@MoDELS’14%and%Dagstuhl%Seminar%#14412)% Dec.,&2012& T0& (project&kickoff)& March,&2016& T0+40& (project&end)& June, 2014 T0+18 (mid-term review) (  Consolida.on%and%evalua.on%of%the%solu.on% (  Advanced%scenarios%with%the%GEMOC%studio.%Releases%v1%and%v2% (  Interna.onal%dissemina.on%(EclipseCon%France,%SLE’15,%GEMOC@MoDELS’15)% (  Establishment%of%the%exploita.on%plan,%open(source%transfer% (  Explora.on%of%the%perspec.ves:%V&V,%op.mizing%compilers,%so_ware% adapta.on,%cybersecurity% ANR-12-INSE-0011
  • 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
  • 53. BEHAVIORAL COORDINATION OF HETEROGENEOUS MODELS Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 53
  • 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)
  • 60. CONCLUSION AND PERSPECTIVES - 60GEMOC, June 8th, 2015 - 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