SlideShare a Scribd company logo
1 of 67
Download to read offline
Benoit Combemale (Inria & Univ. Rennes 1)
http://people.irisa.fr/Benoit.Combemale
benoit.combemale@irisa.fr
@bcombemale
Towards Language-Oriented Modeling
Habilitation à Diriger des Recherches
Université de Rennes 1
December 4, 2015
Complex Software-Intensive Systems
Software
intensive
systems
- 2Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
•  Multi-engineering approach
•  Some forms of domain-specific modeling 
•  Software as integration layer
•  Openness and dynamicity
Aerodynamics 
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impact
Navigation
Communications
Human-
Machine
Interaction
3
Multiple
concerns,
stakeholders,
tools and methods
4
Aerodynamics 
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impact
Navigation
Communications
Human-
Machine
Interaction
Heterogeneous
Modeling
- 5Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
"the majority of MDE examples in
our study followed domain-specific
modeling paradigms"
J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model-
Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85.
Model-Driven Engineering (MDE)
- 6Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Jean-Marc Jézéquel, Benoît Combemale et Didier Vojtisek, "Ingénierie Dirigée par les Modèles : des
concepts a la pratique," Ellipses edition, février 2012
Systems
engineers
A
B
C
language
engineering
process
Experts
Language
Engineers
Application
Final users
systems
engineering
process
Experts
Language
Users
Application
Final
system
Tools & Methods
Engineers
DSML
DSML Tools
Leverage on domain
specific experience
Development of a
system in the context
of a given domain
Model-Driven Engineering (MDE)
- 7Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Editors
(textuals, graphicals, …)
Test generators
Simulators
Analyzers
Refactoring
Checkers
(static & dynamics)
Translators
Compilers
Code generators
Etc.
Jean-Marc Jézéquel, Benoît Combemale et Didier Vojtisek, "Ingénierie Dirigée par les Modèles : des
concepts a la pratique," Ellipses edition, février 2012
- 8Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
J-M. Favre, D. Gasevic, R. Lämmel, and E. Pek. "Empirical language analysis
in software linguistics," In Software Language Engineering, volume 6563 of
LNCS, pages 316–326. Springer, 2011.
"Software languages
are software too"
Software Language Engineering (SLE)
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 9
•  Application of systematic, disciplined, and measurable
approaches to the development, deployment, use, and
maintenance of software languages
•  Supported by various kind of "language workbench"
•  Eclipse EMF, xText, Sirius, GEMOC, Papyrus
•  Jetbrain’s MPS
•  MS DSL Tools
•  Etc.
•  Various shapes and ways to implement software languages
•  External, internal or embedded DSLs, Profile, etc.
•  Grammar, metamodel, ontology, etc.
•  More and more literature, a dedicated Intl. conference (ACM SLE,
cf. http://www.sleconf.org)…
Scientific Context
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 10
MDE SLE
Scientific Context
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 11
MDE SLE
Software-
Intensive
Systems
DSMLs
Scientific Context
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 12
MDE SLE
Software-
Intensive
Systems
DSMLs
Research Statement, Challenges and Contributions
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 13
?
1
Research Statement, Challenges and Contributions
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 14
Abstract
Syntax
(AS)
Concrete
Syntax
(CS)
Semantics
Domain
(SD)
Mac
Mas
domain
behaviorsconcurrency
Dynamic
V&V tools
domain
concepts
?
1
xDSML Pattern
xDSML1 Abstract
Syntax
(AS)
Concrete
Syntax
(CS)
Semantics
Domain
(SD)
Mac
Mas
domain
behaviorsconcurrency
Dynamic
V&V tools
domain
concepts
?
1
Research Statement, Challenges and Contributions
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 15
xDSML2
xDSML2
xDSML2
xDSML2
xDSML Pattern
xDSML1'
xDSML1
xDSML2
Abstract
Syntax
(AS)
Concrete
Syntax
(CS)
Semantics
Domain
(SD)
Mac
Mas
domain
behaviorsconcurrency
Dynamic
V&V tools
domain
concepts
4
Aerodynamics 
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impact
Navigation
Communications
Human-
Machine
Interaction
Heterogeneous
Modeling
?
1
?
2
Research Statement, Challenges and Contributions
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 16
GEMOC Studio
(DSML coordination)
xDSML2
xDSML2
Melange
(DSML reuse)
xDSML2
xDSML2
xDSML Pattern
xDSML1'
xDSML1
structural/
axiomatic
behavioral
xDSML2
Abstract
Syntax
(AS)
Concrete
Syntax
(CS)
Semantics
Domain
(SD)
Mac
Mas
domain
behaviorsconcurrency
Dynamic
V&V tools
domain
concepts
4
Aerodynamics 
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impact
Navigation
Communications
Human-
Machine
Interaction
Heterogeneous
Modeling
?
1
?
2
Research Statement, Challenges and Contributions
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 17
Outline
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 18
1. Tools and methods for xDSML
design and implementation
2. Language globalization for reuse
and coordination
THE XDSML PATTERN
FOR EXECUTABLE METAMODELING
- 19Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
?
1
Execution
functions
Internal data/control event
(e.g., method call, scheduler)
or external (stimuli from env.)
Execution
trace
Execution
state
Domain
model
The xDSML Pattern
- 20Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Event Definition
MetaModel
EDMM
Domain Definition
MetaModel
DDMM
State Definition
MetaModel
SDMM
<<merge>>
<<merge>>
<<merge>>
Trace Management
MetaModel
TM3
<<import>>
Semantics
Mapping
Semantics
<<triggeredBy>>
<<changes>>
Benoit Combemale, Xavier Crégut, Marc Pantel, "A Design Pattern to Build Executable DSMLs and
associated V&V tools", In APSEC 2012
Benoît Combemale, Xavier Crégut, Pierre-Loïc Garoche, Xavier Thirioux, "Essay on Semantics
Definition in MDE - An Instrumented Approach for Model Verification," In Journal of Software (JSW),
2009
The xDSML Pattern
- 21Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Event Definition
MetaModel
EDMM
Domain Definition
MetaModel
DDMM
State Definition
MetaModel
SDMM
<<merge>>
<<merge>>
<<merge>>
Trace Management
MetaModel
TM3
<<import>>
Semantics
Mapping
Semantics
<<triggeredBy>>
<<changes>>
•  Mashup of metalanguages (Ecore, OCL,
Kermeta) [Jézéquel et al., SoSyM’14]
•  Efficient OCL checking [Sun et al.,
JOT’15]
•  Domain-specific execution trace
management [Bousse et al.,
MODELS’14, ECMFA’15]
•  Omniscient and multi-dimensional
model debugging [Bousse et al.,
SLE’15]
•  Tracing executions back to a xDSML
[Combemale et al., ECMFA’11]
- 22
ActivityDiagramDebugger
https://github.com/gemoc/activitydiagram
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
- 23
ArduinoDesigner(&Debugger)
https://github.com/gemoc/arduinomodeling
•  Graphical animation
•  Breakpoint definition on model element
•  Multi-dimensional and efficient trace
management
•  Model debugging facilities (incl., timeline,
step backward, stimuli management, etc.)
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
- 24
ArduinoDesigner(&Debugger)
https://github.com/gemoc/arduinomodeling
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
•  Graphical animation
•  Breakpoint definition on model element
•  Multi-dimensional and efficient trace
management
•  Model debugging facilities (incl., timeline,
step backward, stimuli management, etc.)
•  Concurrency simulation and formal analysis
Complex software systems
are highly concurrent systems
per se (e.g., IoT, CPS).
Modern platforms
are highly parallel
(e.g., many-core,
GPGPU, distributed
platform).
Reifying Concurrency in xDSML: Limitations
- 25
•  Concurrency remains implicit and ad-hoc in language design
and implementation:
•  Design: implicitly inherited from the meta-language used
•  Implementation: mostly embedded in the underlying execution
environment
•  The lack of an explicit concurrency specification in language
design prevents:
•  leveraging the concurrency concern of a particular domain or platform
•  a complete understanding of the behavioral semantics
•  effective concurrency-aware analysis techniques
•  effective techniques for producing semantic variants
•  analysis of the deployment on parallel architectures
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Reifying Concurrency in xDSML: Grand Challenge
- 26
Cross fertilization in languages of
the algorithm theory and the
concurrency theory
Leslie Lamport, “Turing Lecture: The Computer Science of Concurrency: The
Early Years,” Com. ACM, vol. 58, no. 6, 2015, pp. 71–76.
"Concurrency models were generally event-based, and avoided the
use of state. They did not easily describe algorithms or the usual
way of thinking about them based on the standard model."
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Reifying Concurrency in xDSML: Approach
- 27
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 Software Language
Engineering (SLE), 2012.
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Reifying Concurrency in xDSML: Approach
- 28
Semantics
AS
DSA
MOC
Static
Introduction
Delegation
Pattern
Domain
Model
Exec. function
and data
Concurrency
Model
The MoCC serves as a (family of) scheduler(s) of the execution
functions that manipulate the execution data (i.e. program state)
Benoit Combemale, Cécile Hardebolle, Christophe Jacquet, Frédéric Boulanger, Benoit Baudry, "Bridging
the Chasm between Executable Metamodeling and Models of Computation," In Software Language
Engineering (SLE), 2012.
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Reifying Concurrency in xDSML: Approach
- 29
Benoit Combemale, Julien Deantoni, Matias Vara Larsen, Frédéric Mallet, Olivier Barais, Benoit Baudry,
Robert France, "Reifying Concurrency for Executable Metamodeling," In Software Language Engineering
(SLE), 2013
Semantics
AS
DSA
MOC
DSE
(Domain Specific
Event)
• Data
• Control
• Communication
The DSE serve as a mapping from the MOC to the DSA
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Reifying Concurrency in xDSML: Approach
- 30
Florent Latombe, Xavier Crégut, Benoît Combemale, Julien DeAntoni, Marc Pantel, "Weaving concurrency
in executable domain-specific modeling languages," In Software Language Engineering (SLE), 2015
Semantics
AS
DSA
MOC
DSE
(Domain Specific
Event)
• Data
• Control
• Communication
The DSEs serve as a protocol between the MOC and the DSA
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Reifying Concurrency in xDSML: Contribution
- 31
Model of
Concurrency &
Communication
Domain-Specific
Actions
Abstract
Syntax
Domain-Specific
Events
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Reifying Concurrency in xDSML: Contribution
- 32
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..*
Ecore
Kermeta
MoccML
GEL/ECL
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
(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>>
Reifying Concurrency in xDSML: Contribution
- 33Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
TheGEMOCStudio
A Journey Through MDE, DSL and SLE - Benoit Combemale (INRIA and Univ. Rennes 1) - July 2nd, 2015 - 34
http://gemoc.org/studio/
Benoit Combemale, Julien Deantoni, Olivier Barais, Arnaud Blouin, Erwan Bousse, Cédric Brun,
Thomas Degueule and Didier Vojtisek, "A Solution to the TTC'15 Model Execution Case Using the
GEMOC Studio," In 8th Transformation Tool Contest (TTC), 2015. Overall Winner
- 35
ActivityDiagramDebugger
https://github.com/gemoc/activitydiagram
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Coping with Semantic Variation Points
- 36Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Florent Latombe, Xavier Crégut, Julien Deantoni, Marc Pantel, Benoit Combemale, "Coping with
Semantic Variation Points in Domain-Specific Modeling Languages", In EXE@MoDELS 2015.
- 37
J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model-
Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85.
"A clear challenge, then,
is how to integrate
multiple DSLs."
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Multiplication of DSMLs
Increasing number of
stakeholders and
concerns
- 38
Increasing number of
application domains
4
Aerodynamics 
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impact
Navigation
Communications
Human-
Machine
Interaction
Heterogeneous
Modeling
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
ON THE GLOBALIZATION OF MODELING
LANGUAGES
- 39Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
?
2
Globalization of Modeling Languages
- 40
•  DSMLs are developed in an independent manner
to meet the specific needs of domain experts,
•  DSMLs should also have an associated
framework that regulates interactions needed to
support collaboration and work coordination
across different system domains.
Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel,
Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 2014
68 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE
COLUMN SECTION TITLESOFTWARE TECHNOLOGIES
Coordinating domain-specific modeling languages provides support for
language heterogeneity in software-intensive systems’ development and
runtime management.
I
n the software and sys-
tems modeling community,
domain-specific modeling
language (DSML) research
is focused on providing technolo-
gies for developing languages and
tools that allow domain experts to
develop system solutions efficiently.
Unfortunately, it’s very difficult for
software and systems engineers to
reason about information spread
across models describing different
system aspects because of the cur-
rent lack of support for explicitly
relating concepts expressed in dif-
ferent DSMLs. Here, we describe a
research initiative that broadens
the DSML research focus beyond
independent DSML development
to one that supports globalized
DSMLs—that is, DSMLs that facili-
tate coordination of work across
different domains of expertise.
DOMAIN-SPECIFIC
MODELING LANGUAGES
Model-driven engineering (MDE)
aims to reduce the accidental com-
plexity associated with developing
complex software-intensive systems.1
A primary source of this complex-
ity is the wide gap between the
high-level concepts used by domain
experts to express their specific
needs and the low-level abstrac-
tions provided by general-purpose
programming languages.2 Manually
bridging this gap, particularly in the
presence of changing requirements,
is costly in terms of both time and
effort. MDE approaches this problem
through the use of modeling tech-
niques that support separation of
concerns and automated generation
of major system artifacts (for exam-
ple, test cases and implementations)
from models.
In MDE, a model describes an
aspect of a system and is typically
created for specific development
purposes. Separation of concerns
is supported through the use of dif-
ferent modeling languages, each
providing constructs based on ab-
stractions that are specific to an
aspect of a system. For example, gen-
eralized stochastic Petri nets can be
used to create performance models,
whereas the notation provided by the
Simulink tool is adapted to simula-
tion models. MDE technologies also
provide support for manipulating
models, such as for querying, trans-
forming, merging, and analyzing
(including executing) models. Model-
ing languages are thus at MDE’s core.
Globalizing
Modeling
Languages
Benoit Combemale, Inria and Univerity
of Rennes
Julien DeAntoni, University of Nice
Sophia-Antipolis
Benoit Baudry, Inria
Robert B. France, Colorado State University
Jean-Marc Jézéquel, University of Rennes
Jeff Gray, University of Alabama
r6sof.indd 68 5/22/14 10:47 AM
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Globalization of Modeling Languages
- 41
Supporting coordinated use of modeling
languages leads to what we call the globalization
of modeling languages, that is, the use of multiple
modeling languages to support coordinated
development of diverse aspects of a system.
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel,
Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 2014
68 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE
COLUMN SECTION TITLESOFTWARE TECHNOLOGIES
Coordinating domain-specific modeling languages provides support for
language heterogeneity in software-intensive systems’ development and
runtime management.
I
n the software and sys-
tems modeling community,
domain-specific modeling
language (DSML) research
is focused on providing technolo-
gies for developing languages and
tools that allow domain experts to
develop system solutions efficiently.
Unfortunately, it’s very difficult for
software and systems engineers to
reason about information spread
across models describing different
system aspects because of the cur-
rent lack of support for explicitly
relating concepts expressed in dif-
ferent DSMLs. Here, we describe a
research initiative that broadens
the DSML research focus beyond
independent DSML development
to one that supports globalized
DSMLs—that is, DSMLs that facili-
tate coordination of work across
different domains of expertise.
DOMAIN-SPECIFIC
MODELING LANGUAGES
Model-driven engineering (MDE)
aims to reduce the accidental com-
plexity associated with developing
complex software-intensive systems.1
A primary source of this complex-
ity is the wide gap between the
high-level concepts used by domain
experts to express their specific
needs and the low-level abstrac-
tions provided by general-purpose
programming languages.2 Manually
bridging this gap, particularly in the
presence of changing requirements,
is costly in terms of both time and
effort. MDE approaches this problem
through the use of modeling tech-
niques that support separation of
concerns and automated generation
of major system artifacts (for exam-
ple, test cases and implementations)
from models.
In MDE, a model describes an
aspect of a system and is typically
created for specific development
purposes. Separation of concerns
is supported through the use of dif-
ferent modeling languages, each
providing constructs based on ab-
stractions that are specific to an
aspect of a system. For example, gen-
eralized stochastic Petri nets can be
used to create performance models,
whereas the notation provided by the
Simulink tool is adapted to simula-
tion models. MDE technologies also
provide support for manipulating
models, such as for querying, trans-
forming, merging, and analyzing
(including executing) models. Model-
ing languages are thus at MDE’s core.
Globalizing
Modeling
Languages
Benoit Combemale, Inria and Univerity
of Rennes
Julien DeAntoni, University of Nice
Sophia-Antipolis
Benoit Baudry, Inria
Robert B. France, Colorado State University
Jean-Marc Jézéquel, University of Rennes
Jeff Gray, University of Alabama
r6sof.indd 68 5/22/14 10:47 AM
Globalization of Modeling Language
- 42
•  Context: new emerging DSML in open world
⇒  impossible a priori unification
⇒  require a posteriori globalization
•  Objective: socio-technical coordination to support interactions
across different system aspects
⇒  Language-based support for technical integration of
multiples domains
⇒  Language-based support for social translucence
•  Community: the GEMOC initiative (cf. http://gemoc.org)
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
"Globalizing Domain-Specific Languages," Combemale, B., Cheng, B.H.C., France, R.B.,
Jézéquel, J.-M., Rumpe, B. (Eds.). Springer, Programming and Software Engineering,
Vol. 9400, 2015.
Towards Language Interfaces
- 43Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
xDSML2
xDSML1
structural/
axiomatic
behavioral
xDSML3
subtyping
relation
coordination
pattern
Symbolic event structure
(for behavioral coordination)
Model type
(for language reuse)
•  A language interface is a contract that exhibits the relevant
information for a given purpose (i.e., to support specific
composition operators)
MELANGE: MODULAR AND REUSABLE DSML DESIGN AND
IMPLEMENTATION
- 44
Melange
(DSML reuse)
xDSML2
xDSML1
structural/
axiomatic
behavioral
subtyping
relation
- 45
Jim Steel, Jean-Marc Jézéquel,
"On model typing," In Software
and System Modeling
(SoSyM), 2007
•  Rich set of subtyping relationships [Guy et al., ECMFA’12]
•  Support of OCL in subtyping relationships [Sun et al., ECMFA’13]
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Reuse is not enough! Context matters!
Imported / inherited DSMLs may not fit exactly
domain-specific requirements
è Finely tune with customization facilities
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 46
Modular and Reusable xDSML Development
- 47Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Thomas Degueule, Benoît Combemale, Arnaud Blouin, Olivier Barais, Jean-Marc Jézéquel, "Melange:
a meta-language for modular and reusable development of DSLs," In Software Language Engineering
(SLE), 2015
MM1
MM2
Sem1
Sem2
L1
L2
L3
L4
«inherit»
«mergeL»
«weave»
«slice»
Metamodel
Semantics
Language
Tooling
Model Type
Binding
«mergeS»
«mergeS»
«weave»
Legacy ArtifactsAssembled DSLs
MT1 MT2
MTi
«impl» «impl»
- 48
A language-based, model-
oriented programming language
MELANGE
http://melange-lang.org
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
OPEN WORLD
Feature A
Feature B Feature B
F. D F. D F. D F. D F. D F. D
Variability model
L1 L2
L3 L4
L1
L3 L4L2
CLOSED WORLD
Language Manipulation
•  Evolution
•  Extension
•  Restriction
•  Customization
•  Assembly
Variability-based
development model for
DSLs
•  Variability modeling
•  Components-based
languages development
Families of Languages
Variants
Language
derivation
L6
Typing Theory
for Agile Modeling
•  Language interfaces
•  Model polymorphism
•  Viewpoints management
MELANGE
A Journey Through MDE, DSL and SLE - Benoit Combemale (INRIA and Univ. Rennes 1) - July 2nd, 2015 - 49
B-COOL: BEHAVIORAL MODEL COORDINATION
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 50
GEMOC Studio
(DSML coordination)
xDSML1
structural/
axiomatic
behavioral
xDSML3
coordination
pattern
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 51
Towards a behavioral coordination of xDSMLs
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 52
•  The application of the MOC to a given model results in an event
structure
•  Consequently, the MOC defines a symbolic event structure,
whose some events are mapped to the DSA (i.e., the visible
model state changes)
⇒  This mapping can serve as a behavioral language interface
used to define patterns that coordinate conforming models
Matias Ezequiel Vara Larsen, Julien Deantoni, Benoit Combemale, Frédéric Mallet, "A Behavioral
Coordination Operator Language (BCOoL)," In MODELS 2015
Behavioral Coordination Operator
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 53
xDSML
Semantics
AS
DSA
MoCC
DSE
(Domain Specific
Event)
Event-driven
behavioral interface
Concurrent execution of
homogeneous domain-
specific models
• Data
• Control
• Communication
Behavioral Coordination Operator
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 54
xDSML’
xDSML
Semantics
AS
DSA
MoCC
DSE
(Domain Specific
Event)
• Data
• Control
• Communication
Event-driven
behavioral interface
AS
 DSA
 MoCC
DSE
Concurrent execution of
heterogeneous domain-
specific models
Behavioral Coordination Operator
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 55
Model of
Concurrency &
Communication
Domain-Specific
Actions
Abstract
Syntax
Domain-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..*
Ecore
Kermeta
MoccML
GEL/ECL
Composition
Operator
Composition
Operator
Lcompo
Matching
Rule
Coordination
Rule
B-COoL
Matias Ezequiel Vara Larsen, Julien Deantoni, Benoit Combemale, Frédéric Mallet, "A Behavioral
Coordination Operator Language (BCOoL)," In MODELS 2015
Behavioral Model Coordination
- 56Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
Behavioral Model Coordination
- 57Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
CONCLUSION AND
PERSPECTIVES
- 58Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Conclusion
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 59
Contributions to the support of a
language-oriented modeling
with
tools and methods to
implement, reuse and coordinate
xDSMLs and associated V&V tools
Major breakthroughs
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 60
•  Modular definition of xDSMLs
•  Reification of the concurrency in xDSMLs
•  Language interfaces for reuse and
behavioral coordination
Perspectives
- 61Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
DSMLs as a key pivot for
the socio-technical coordination
Model Experiencing Environments
for informed decision and broader engagement
in smart technologies
Heuristics-Laws
Scientists
Open Data
Engineers
General Public
Policy Makers
MEEs
("what-if" scenarios)
System Models
Physical Laws
(economic, environmental, social)
Simulation Tool
(incl. constraint solver,
prediction tool, etc.)
Sustainability System
(e.g., smart grid)
Context
sensors actuators
Energy
Production/
Consumption
System
Software
<<controls>><<senses>>
Approximate DSML runtimes
for design space exploration,
runtime adaptation and security
Metamorphic DSMLs
for fitting user needs
static int __rep_queue_filedone(dbenv, rep, rfp)
DB_ENV *dbenv;
REP *rep;
__rep_fileinfo_args *rfp; {
#ifndef HAVE_QUEUE
COMPQUIET(rep, NULL);
COMPQUIET(rfp, NULL);
return (__db_no_queue_am(dbenv));
#else
db_pgno_t first, last;
u_int32_t flags;
int empty, ret, t_ret;
#ifdef DIAGNOSTIC
DB_MSGBUF mb;
#endif
// over 100 lines of additional code
}
#endif
not, and, or, implies
B. Combemale, B. Cheng, A.
Moreira, J.-M. Bruel, J. Gray,
"Modeling for Sustainability,"
SEIS@ICSE 2015 (submitted)
M. Acher, B. Combemale, P. Collet,
"Metamorphic Domain-Specific
Languages: A Journey into the Shapes
of a Language," Onward! Essays 2014
- 62Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
PhD Students:
•  Clément Guy
•  Emmanuelle Rouille
•  Erwan Bousse
•  David Mendez
•  Marcelino Cancio
Main projects: FUI Topcased, ITEA2 OPEES, PICS MBSAR, ANR
GEMOC, BGLE CLARITY, COST MPM4CPS,Ind. contracts with
Thales, Sodifrance, DGA
Software:
•  Melange
•  GEMOC studio
Papers:
•  1 book written, 2 books and
6 proceedings edited
•  4 book chapters
•  13 journal papers
•  57 conferences papers
•  20 workshop papers
General co-chair MODELS’16, PC co-chair SLE’14, founding member of the GEMOC
initiative, EB member of Elsevier journals SCP and COMLAN, SC member of ACM
SLE, organizer of various workshops and seminars (incl. Dasgtuhl).
Software engineers:
•  Vincent Fontanella
•  François Tanguy
•  Fabien Coulon
•  Dorian Leroy
Post-doctoral researchers:
•  Cédric Bouhours
•  José Galindo
"If you believe that language design can significantly
affect the quality of software systems, then it should
follow that language design can also affect the
quality of energy systems. And if the quality of such
energy systems will, in turn, affect the livability of
our planet, then it’s critical that the language
development community give modeling languages
the attention they deserve."
− Bret Victor (Nov., 2015), http://worrydream.com/ClimateChange
- 63Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
DiverSE
Model driven
engineering
Functional
diversity
Language
diversity
Failure
diversity
Execution
diversity
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 64
Scientific collaborations
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 65
- 66Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
In memory of Prof. Robert B. France,
A mentor, an academic father and far beyond.
Rest in peace, Robert.
http://people.irisa.fr/Benoit.Combemale/tribute-robert-france
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
ILE de SEIN
ENEZ-SUN

More Related Content

What's hot

Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and FutureBenoit 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
 
Dynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented ModelingDynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented ModelingBenoit 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
 
Variability Management in Domain Specific Languages
Variability Management in Domain Specific LanguagesVariability Management in Domain Specific Languages
Variability Management in Domain Specific LanguagesDavid Méndez-Acuña
 
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
 
On the Globalization of Modeling Languages (June 8th, 2015)
On the Globalization of Modeling Languages (June 8th, 2015)On the Globalization of Modeling Languages (June 8th, 2015)
On the Globalization of Modeling Languages (June 8th, 2015)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
 
Rencontres Inria Industrie - Qualité logicielle - OWF13
Rencontres Inria Industrie - Qualité logicielle - OWF13Rencontres Inria Industrie - Qualité logicielle - OWF13
Rencontres Inria Industrie - Qualité logicielle - OWF13Inria
 
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
 
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
 
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
 
Inria - Software assets - Biotechnology
Inria - Software assets - BiotechnologyInria - Software assets - Biotechnology
Inria - Software assets - BiotechnologyInria
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Hugo Bruneliere
 
What do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A SurveyWhat do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A SurveyObeo
 
SMART PROJECT - WP 7 Dissemination and Exploitation
SMART PROJECT - WP 7 Dissemination and ExploitationSMART PROJECT - WP 7 Dissemination and Exploitation
SMART PROJECT - WP 7 Dissemination and Exploitationbutest
 
Cognifying model-driven software engineering
Cognifying model-driven software engineeringCognifying model-driven software engineering
Cognifying model-driven software engineeringJordi Cabot
 

What's hot (20)

Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and Future
 
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...
 
Dynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented ModelingDynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented Modeling
 
Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC Studio
 
Variability Management in Domain Specific Languages
Variability Management in Domain Specific LanguagesVariability Management in Domain Specific Languages
Variability Management in Domain Specific Languages
 
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...
 
On the Globalization of Modeling Languages (June 8th, 2015)
On the Globalization of Modeling Languages (June 8th, 2015)On the Globalization of Modeling Languages (June 8th, 2015)
On the Globalization of Modeling Languages (June 8th, 2015)
 
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...
 
Rencontres Inria Industrie - Qualité logicielle - OWF13
Rencontres Inria Industrie - Qualité logicielle - OWF13Rencontres Inria Industrie - Qualité logicielle - OWF13
Rencontres Inria Industrie - Qualité logicielle - OWF13
 
Teaching and practicing the students‘ knowledge using games
Teaching and practicing the students‘ knowledge using gamesTeaching and practicing the students‘ knowledge using games
Teaching and practicing the students‘ knowledge using games
 
Teaching about AR and Teaching with AR
Teaching about AR and Teaching with ARTeaching about AR and Teaching with AR
Teaching about AR and Teaching with AR
 
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
 
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
 
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)
 
Workshop8 18 12 09 Ingles
Workshop8   18 12 09 InglesWorkshop8   18 12 09 Ingles
Workshop8 18 12 09 Ingles
 
Inria - Software assets - Biotechnology
Inria - Software assets - BiotechnologyInria - Software assets - Biotechnology
Inria - Software assets - Biotechnology
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
 
What do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A SurveyWhat do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A Survey
 
SMART PROJECT - WP 7 Dissemination and Exploitation
SMART PROJECT - WP 7 Dissemination and ExploitationSMART PROJECT - WP 7 Dissemination and Exploitation
SMART PROJECT - WP 7 Dissemination and Exploitation
 
Cognifying model-driven software engineering
Cognifying model-driven software engineeringCognifying model-driven software engineering
Cognifying model-driven software engineering
 

Viewers also liked

Xenetica molecular 2008-09
Xenetica molecular 2008-09Xenetica molecular 2008-09
Xenetica molecular 2008-09juanapardo
 
Xe nâng tay nhập khẩu Taiwan 1000kg 1 tấn cao 1m6
Xe nâng tay nhập khẩu Taiwan 1000kg 1 tấn cao 1m6Xe nâng tay nhập khẩu Taiwan 1000kg 1 tấn cao 1m6
Xe nâng tay nhập khẩu Taiwan 1000kg 1 tấn cao 1m6Thiên Trang
 
Europass CV Luca Vicentini
Europass CV Luca VicentiniEuropass CV Luca Vicentini
Europass CV Luca VicentiniLuca Vicentini
 
2EM #17 Dinossauros e Aves
2EM #17 Dinossauros e Aves2EM #17 Dinossauros e Aves
2EM #17 Dinossauros e AvesProfessô Kyoshi
 
Excrecão osmorregulação
Excrecão osmorregulaçãoExcrecão osmorregulação
Excrecão osmorregulaçãomarco ferreira
 
A project report on designing and implementing the market strategy plan for p...
A project report on designing and implementing the market strategy plan for p...A project report on designing and implementing the market strategy plan for p...
A project report on designing and implementing the market strategy plan for p...Projects Kart
 
Leonardo's painting - Who is Mona Lisa ver 2.0
Leonardo's painting - Who is Mona Lisa ver 2.0Leonardo's painting - Who is Mona Lisa ver 2.0
Leonardo's painting - Who is Mona Lisa ver 2.0Jerry Daperro
 

Viewers also liked (11)

Xenetica molecular 2008-09
Xenetica molecular 2008-09Xenetica molecular 2008-09
Xenetica molecular 2008-09
 
Do1cx document
Do1cx documentDo1cx document
Do1cx document
 
27269 DPAC brochure
27269 DPAC brochure27269 DPAC brochure
27269 DPAC brochure
 
Xe nâng tay nhập khẩu Taiwan 1000kg 1 tấn cao 1m6
Xe nâng tay nhập khẩu Taiwan 1000kg 1 tấn cao 1m6Xe nâng tay nhập khẩu Taiwan 1000kg 1 tấn cao 1m6
Xe nâng tay nhập khẩu Taiwan 1000kg 1 tấn cao 1m6
 
Europass CV Luca Vicentini
Europass CV Luca VicentiniEuropass CV Luca Vicentini
Europass CV Luca Vicentini
 
RESUME1
RESUME1RESUME1
RESUME1
 
2EM #17 Dinossauros e Aves
2EM #17 Dinossauros e Aves2EM #17 Dinossauros e Aves
2EM #17 Dinossauros e Aves
 
Mona lisa
Mona lisaMona lisa
Mona lisa
 
Excrecão osmorregulação
Excrecão osmorregulaçãoExcrecão osmorregulação
Excrecão osmorregulação
 
A project report on designing and implementing the market strategy plan for p...
A project report on designing and implementing the market strategy plan for p...A project report on designing and implementing the market strategy plan for p...
A project report on designing and implementing the market strategy plan for p...
 
Leonardo's painting - Who is Mona Lisa ver 2.0
Leonardo's painting - Who is Mona Lisa ver 2.0Leonardo's painting - Who is Mona Lisa ver 2.0
Leonardo's painting - Who is Mona Lisa ver 2.0
 

Similar to Towards Language-Oriented Modeling of Complex Systems

The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...
The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...
The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...Benoit Combemale
 
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
 
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
 
Modeling software systems at a macroscopic scale
Modeling software systems  at a macroscopic scaleModeling software systems  at a macroscopic scale
Modeling software systems at a macroscopic scaleRalf Laemmel
 
A Study on MDE Approaches for Engineering Wireless Sensor Networks
A Study on MDE Approaches  for Engineering Wireless Sensor Networks A Study on MDE Approaches  for Engineering Wireless Sensor Networks
A Study on MDE Approaches for Engineering Wireless Sensor Networks Ivano Malavolta
 
Exploring metaprogramming using Ruby language
Exploring metaprogramming using Ruby languageExploring metaprogramming using Ruby language
Exploring metaprogramming using Ruby languageHarshal Hayatnagarkar
 
Relation between Languages, Machines and Computations
Relation between Languages, Machines and ComputationsRelation between Languages, Machines and Computations
Relation between Languages, Machines and ComputationsBHARATH KUMAR
 
Towards Standardisation in User Interface Development: the UsiXML Contribution
Towards Standardisation in User Interface Development: the UsiXML ContributionTowards Standardisation in User Interface Development: the UsiXML Contribution
Towards Standardisation in User Interface Development: the UsiXML ContributionJean Vanderdonckt
 
Harmony project - JISC Synthesis meeting 2001
Harmony project - JISC Synthesis meeting 2001Harmony project - JISC Synthesis meeting 2001
Harmony project - JISC Synthesis meeting 2001Dan Brickley
 
ADAPT Centre and My NLP journey: MT, MTE, QE, MWE, NER, Treebanks, Parsing.
ADAPT Centre and My NLP journey: MT, MTE, QE, MWE, NER, Treebanks, Parsing.ADAPT Centre and My NLP journey: MT, MTE, QE, MWE, NER, Treebanks, Parsing.
ADAPT Centre and My NLP journey: MT, MTE, QE, MWE, NER, Treebanks, Parsing.Lifeng (Aaron) Han
 
Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesAnkica Barisic
 
LiDeng-BerlinOct2015-ASR-GenDisc-4by3.pptx
LiDeng-BerlinOct2015-ASR-GenDisc-4by3.pptxLiDeng-BerlinOct2015-ASR-GenDisc-4by3.pptx
LiDeng-BerlinOct2015-ASR-GenDisc-4by3.pptxVishnuRajuV
 
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
 
Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+Juha-Pekka Tolvanen
 
ELKL 5 Language documentation for linguistics and technology
ELKL 5 Language documentation for linguistics and technologyELKL 5 Language documentation for linguistics and technology
ELKL 5 Language documentation for linguistics and technologyDafydd Gibbon
 
Principles of programming languages. Detail notes
Principles of programming languages. Detail notesPrinciples of programming languages. Detail notes
Principles of programming languages. Detail notesVIKAS SINGH BHADOURIA
 

Similar to Towards Language-Oriented Modeling of Complex Systems (20)

The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...
The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...
The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...
 
Modest Formalization of Software Design Patterns
Modest Formalization of Software Design PatternsModest Formalization of Software Design Patterns
Modest Formalization of Software Design Patterns
 
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
 
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...
 
Modeling software systems at a macroscopic scale
Modeling software systems  at a macroscopic scaleModeling software systems  at a macroscopic scale
Modeling software systems at a macroscopic scale
 
A Study on MDE Approaches for Engineering Wireless Sensor Networks
A Study on MDE Approaches  for Engineering Wireless Sensor Networks A Study on MDE Approaches  for Engineering Wireless Sensor Networks
A Study on MDE Approaches for Engineering Wireless Sensor Networks
 
Exploring metaprogramming using Ruby language
Exploring metaprogramming using Ruby languageExploring metaprogramming using Ruby language
Exploring metaprogramming using Ruby language
 
Relation between Languages, Machines and Computations
Relation between Languages, Machines and ComputationsRelation between Languages, Machines and Computations
Relation between Languages, Machines and Computations
 
Towards Standardisation in User Interface Development: the UsiXML Contribution
Towards Standardisation in User Interface Development: the UsiXML ContributionTowards Standardisation in User Interface Development: the UsiXML Contribution
Towards Standardisation in User Interface Development: the UsiXML Contribution
 
Harmony project - JISC Synthesis meeting 2001
Harmony project - JISC Synthesis meeting 2001Harmony project - JISC Synthesis meeting 2001
Harmony project - JISC Synthesis meeting 2001
 
Introduction to MDE
Introduction to MDEIntroduction to MDE
Introduction to MDE
 
ADAPT Centre and My NLP journey: MT, MTE, QE, MWE, NER, Treebanks, Parsing.
ADAPT Centre and My NLP journey: MT, MTE, QE, MWE, NER, Treebanks, Parsing.ADAPT Centre and My NLP journey: MT, MTE, QE, MWE, NER, Treebanks, Parsing.
ADAPT Centre and My NLP journey: MT, MTE, QE, MWE, NER, Treebanks, Parsing.
 
Unit ii oo design 9
Unit ii oo design 9Unit ii oo design 9
Unit ii oo design 9
 
Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific Languages
 
LiDeng-BerlinOct2015-ASR-GenDisc-4by3.pptx
LiDeng-BerlinOct2015-ASR-GenDisc-4by3.pptxLiDeng-BerlinOct2015-ASR-GenDisc-4by3.pptx
LiDeng-BerlinOct2015-ASR-GenDisc-4by3.pptx
 
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
 
Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+
 
ELKL 5 Language documentation for linguistics and technology
ELKL 5 Language documentation for linguistics and technologyELKL 5 Language documentation for linguistics and technology
ELKL 5 Language documentation for linguistics and technology
 
04 --spatial-data
04 --spatial-data04 --spatial-data
04 --spatial-data
 
Principles of programming languages. Detail notes
Principles of programming languages. Detail notesPrinciples of programming languages. Detail notes
Principles of programming languages. Detail notes
 

More from 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
 
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
 
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
 
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
 
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
 
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...Benoit Combemale
 

More from Benoit Combemale (15)

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
 
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
 
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
 
The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)
 
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
 
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
 

Recently uploaded

SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
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
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
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
 
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
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 

Recently uploaded (20)

SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
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
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
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...
 
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
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 

Towards Language-Oriented Modeling of Complex Systems

  • 1. Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/Benoit.Combemale benoit.combemale@irisa.fr @bcombemale Towards Language-Oriented Modeling Habilitation à Diriger des Recherches Université de Rennes 1 December 4, 2015
  • 2. Complex Software-Intensive Systems Software intensive systems - 2Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 •  Multi-engineering approach •  Some forms of domain-specific modeling •  Software as integration layer •  Openness and dynamicity
  • 5. - 5Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 "the majority of MDE examples in our study followed domain-specific modeling paradigms" J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model- Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85.
  • 6. Model-Driven Engineering (MDE) - 6Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 Jean-Marc Jézéquel, Benoît Combemale et Didier Vojtisek, "Ingénierie Dirigée par les Modèles : des concepts a la pratique," Ellipses edition, février 2012 Systems engineers A B C language engineering process Experts Language Engineers Application Final users systems engineering process Experts Language Users Application Final system Tools & Methods Engineers DSML DSML Tools Leverage on domain specific experience Development of a system in the context of a given domain
  • 7. Model-Driven Engineering (MDE) - 7Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 Editors (textuals, graphicals, …) Test generators Simulators Analyzers Refactoring Checkers (static & dynamics) Translators Compilers Code generators Etc. Jean-Marc Jézéquel, Benoît Combemale et Didier Vojtisek, "Ingénierie Dirigée par les Modèles : des concepts a la pratique," Ellipses edition, février 2012
  • 8. - 8Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 J-M. Favre, D. Gasevic, R. Lämmel, and E. Pek. "Empirical language analysis in software linguistics," In Software Language Engineering, volume 6563 of LNCS, pages 316–326. Springer, 2011. "Software languages are software too"
  • 9. Software Language Engineering (SLE) Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 9 •  Application of systematic, disciplined, and measurable approaches to the development, deployment, use, and maintenance of software languages •  Supported by various kind of "language workbench" •  Eclipse EMF, xText, Sirius, GEMOC, Papyrus •  Jetbrain’s MPS •  MS DSL Tools •  Etc. •  Various shapes and ways to implement software languages •  External, internal or embedded DSLs, Profile, etc. •  Grammar, metamodel, ontology, etc. •  More and more literature, a dedicated Intl. conference (ACM SLE, cf. http://www.sleconf.org)…
  • 10. Scientific Context Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 10 MDE SLE
  • 11. Scientific Context Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 11 MDE SLE Software- Intensive Systems DSMLs
  • 12. Scientific Context Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 12 MDE SLE Software- Intensive Systems DSMLs
  • 13. Research Statement, Challenges and Contributions Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 13 ? 1
  • 14. Research Statement, Challenges and Contributions Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 14 Abstract Syntax (AS) Concrete Syntax (CS) Semantics Domain (SD) Mac Mas domain behaviorsconcurrency Dynamic V&V tools domain concepts ? 1
  • 15. xDSML Pattern xDSML1 Abstract Syntax (AS) Concrete Syntax (CS) Semantics Domain (SD) Mac Mas domain behaviorsconcurrency Dynamic V&V tools domain concepts ? 1 Research Statement, Challenges and Contributions Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 15
  • 16. xDSML2 xDSML2 xDSML2 xDSML2 xDSML Pattern xDSML1' xDSML1 xDSML2 Abstract Syntax (AS) Concrete Syntax (CS) Semantics Domain (SD) Mac Mas domain behaviorsconcurrency Dynamic V&V tools domain concepts 4 Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction Heterogeneous Modeling ? 1 ? 2 Research Statement, Challenges and Contributions Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 16
  • 17. GEMOC Studio (DSML coordination) xDSML2 xDSML2 Melange (DSML reuse) xDSML2 xDSML2 xDSML Pattern xDSML1' xDSML1 structural/ axiomatic behavioral xDSML2 Abstract Syntax (AS) Concrete Syntax (CS) Semantics Domain (SD) Mac Mas domain behaviorsconcurrency Dynamic V&V tools domain concepts 4 Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction Heterogeneous Modeling ? 1 ? 2 Research Statement, Challenges and Contributions Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 17
  • 18. Outline Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 18 1. Tools and methods for xDSML design and implementation 2. Language globalization for reuse and coordination
  • 19. THE XDSML PATTERN FOR EXECUTABLE METAMODELING - 19Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 ? 1
  • 20. Execution functions Internal data/control event (e.g., method call, scheduler) or external (stimuli from env.) Execution trace Execution state Domain model The xDSML Pattern - 20Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 Event Definition MetaModel EDMM Domain Definition MetaModel DDMM State Definition MetaModel SDMM <<merge>> <<merge>> <<merge>> Trace Management MetaModel TM3 <<import>> Semantics Mapping Semantics <<triggeredBy>> <<changes>> Benoit Combemale, Xavier Crégut, Marc Pantel, "A Design Pattern to Build Executable DSMLs and associated V&V tools", In APSEC 2012 Benoît Combemale, Xavier Crégut, Pierre-Loïc Garoche, Xavier Thirioux, "Essay on Semantics Definition in MDE - An Instrumented Approach for Model Verification," In Journal of Software (JSW), 2009
  • 21. The xDSML Pattern - 21Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 Event Definition MetaModel EDMM Domain Definition MetaModel DDMM State Definition MetaModel SDMM <<merge>> <<merge>> <<merge>> Trace Management MetaModel TM3 <<import>> Semantics Mapping Semantics <<triggeredBy>> <<changes>> •  Mashup of metalanguages (Ecore, OCL, Kermeta) [Jézéquel et al., SoSyM’14] •  Efficient OCL checking [Sun et al., JOT’15] •  Domain-specific execution trace management [Bousse et al., MODELS’14, ECMFA’15] •  Omniscient and multi-dimensional model debugging [Bousse et al., SLE’15] •  Tracing executions back to a xDSML [Combemale et al., ECMFA’11]
  • 22. - 22 ActivityDiagramDebugger https://github.com/gemoc/activitydiagram Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 23. - 23 ArduinoDesigner(&Debugger) https://github.com/gemoc/arduinomodeling •  Graphical animation •  Breakpoint definition on model element •  Multi-dimensional and efficient trace management •  Model debugging facilities (incl., timeline, step backward, stimuli management, etc.) Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 24. - 24 ArduinoDesigner(&Debugger) https://github.com/gemoc/arduinomodeling Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 •  Graphical animation •  Breakpoint definition on model element •  Multi-dimensional and efficient trace management •  Model debugging facilities (incl., timeline, step backward, stimuli management, etc.) •  Concurrency simulation and formal analysis Complex software systems are highly concurrent systems per se (e.g., IoT, CPS). Modern platforms are highly parallel (e.g., many-core, GPGPU, distributed platform).
  • 25. Reifying Concurrency in xDSML: Limitations - 25 •  Concurrency remains implicit and ad-hoc in language design and implementation: •  Design: implicitly inherited from the meta-language used •  Implementation: mostly embedded in the underlying execution environment •  The lack of an explicit concurrency specification in language design prevents: •  leveraging the concurrency concern of a particular domain or platform •  a complete understanding of the behavioral semantics •  effective concurrency-aware analysis techniques •  effective techniques for producing semantic variants •  analysis of the deployment on parallel architectures Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 26. Reifying Concurrency in xDSML: Grand Challenge - 26 Cross fertilization in languages of the algorithm theory and the concurrency theory Leslie Lamport, “Turing Lecture: The Computer Science of Concurrency: The Early Years,” Com. ACM, vol. 58, no. 6, 2015, pp. 71–76. "Concurrency models were generally event-based, and avoided the use of state. They did not easily describe algorithms or the usual way of thinking about them based on the standard model." Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 27. Reifying Concurrency in xDSML: Approach - 27 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 Software Language Engineering (SLE), 2012. Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 28. Reifying Concurrency in xDSML: Approach - 28 Semantics AS DSA MOC Static Introduction Delegation Pattern Domain Model Exec. function and data Concurrency Model The MoCC serves as a (family of) scheduler(s) of the execution functions that manipulate the execution data (i.e. program state) Benoit Combemale, Cécile Hardebolle, Christophe Jacquet, Frédéric Boulanger, Benoit Baudry, "Bridging the Chasm between Executable Metamodeling and Models of Computation," In Software Language Engineering (SLE), 2012. Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 29. Reifying Concurrency in xDSML: Approach - 29 Benoit Combemale, Julien Deantoni, Matias Vara Larsen, Frédéric Mallet, Olivier Barais, Benoit Baudry, Robert France, "Reifying Concurrency for Executable Metamodeling," In Software Language Engineering (SLE), 2013 Semantics AS DSA MOC DSE (Domain Specific Event) • Data • Control • Communication The DSE serve as a mapping from the MOC to the DSA Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 30. Reifying Concurrency in xDSML: Approach - 30 Florent Latombe, Xavier Crégut, Benoît Combemale, Julien DeAntoni, Marc Pantel, "Weaving concurrency in executable domain-specific modeling languages," In Software Language Engineering (SLE), 2015 Semantics AS DSA MOC DSE (Domain Specific Event) • Data • Control • Communication The DSEs serve as a protocol between the MOC and the DSA Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 31. Reifying Concurrency in xDSML: Contribution - 31 Model of Concurrency & Communication Domain-Specific Actions Abstract Syntax Domain-Specific Events Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 32. Reifying Concurrency in xDSML: Contribution - 32 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..* Ecore Kermeta MoccML GEL/ECL Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 33. (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>> Reifying Concurrency in xDSML: Contribution - 33Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 34. TheGEMOCStudio A Journey Through MDE, DSL and SLE - Benoit Combemale (INRIA and Univ. Rennes 1) - July 2nd, 2015 - 34 http://gemoc.org/studio/ Benoit Combemale, Julien Deantoni, Olivier Barais, Arnaud Blouin, Erwan Bousse, Cédric Brun, Thomas Degueule and Didier Vojtisek, "A Solution to the TTC'15 Model Execution Case Using the GEMOC Studio," In 8th Transformation Tool Contest (TTC), 2015. Overall Winner
  • 35. - 35 ActivityDiagramDebugger https://github.com/gemoc/activitydiagram Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 36. Coping with Semantic Variation Points - 36Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 Florent Latombe, Xavier Crégut, Julien Deantoni, Marc Pantel, Benoit Combemale, "Coping with Semantic Variation Points in Domain-Specific Modeling Languages", In EXE@MoDELS 2015.
  • 37. - 37 J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model- Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85. "A clear challenge, then, is how to integrate multiple DSLs." Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 38. Multiplication of DSMLs Increasing number of stakeholders and concerns - 38 Increasing number of application domains 4 Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction Heterogeneous Modeling Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 39. ON THE GLOBALIZATION OF MODELING LANGUAGES - 39Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 ? 2
  • 40. Globalization of Modeling Languages - 40 •  DSMLs are developed in an independent manner to meet the specific needs of domain experts, •  DSMLs should also have an associated framework that regulates interactions needed to support collaboration and work coordination across different system domains. Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel, Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 2014 68 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE COLUMN SECTION TITLESOFTWARE TECHNOLOGIES Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management. I n the software and sys- tems modeling community, domain-specific modeling language (DSML) research is focused on providing technolo- gies for developing languages and tools that allow domain experts to develop system solutions efficiently. Unfortunately, it’s very difficult for software and systems engineers to reason about information spread across models describing different system aspects because of the cur- rent lack of support for explicitly relating concepts expressed in dif- ferent DSMLs. Here, we describe a research initiative that broadens the DSML research focus beyond independent DSML development to one that supports globalized DSMLs—that is, DSMLs that facili- tate coordination of work across different domains of expertise. DOMAIN-SPECIFIC MODELING LANGUAGES Model-driven engineering (MDE) aims to reduce the accidental com- plexity associated with developing complex software-intensive systems.1 A primary source of this complex- ity is the wide gap between the high-level concepts used by domain experts to express their specific needs and the low-level abstrac- tions provided by general-purpose programming languages.2 Manually bridging this gap, particularly in the presence of changing requirements, is costly in terms of both time and effort. MDE approaches this problem through the use of modeling tech- niques that support separation of concerns and automated generation of major system artifacts (for exam- ple, test cases and implementations) from models. In MDE, a model describes an aspect of a system and is typically created for specific development purposes. Separation of concerns is supported through the use of dif- ferent modeling languages, each providing constructs based on ab- stractions that are specific to an aspect of a system. For example, gen- eralized stochastic Petri nets can be used to create performance models, whereas the notation provided by the Simulink tool is adapted to simula- tion models. MDE technologies also provide support for manipulating models, such as for querying, trans- forming, merging, and analyzing (including executing) models. Model- ing languages are thus at MDE’s core. Globalizing Modeling Languages Benoit Combemale, Inria and Univerity of Rennes Julien DeAntoni, University of Nice Sophia-Antipolis Benoit Baudry, Inria Robert B. France, Colorado State University Jean-Marc Jézéquel, University of Rennes Jeff Gray, University of Alabama r6sof.indd 68 5/22/14 10:47 AM Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 41. Globalization of Modeling Languages - 41 Supporting coordinated use of modeling languages leads to what we call the globalization of modeling languages, that is, the use of multiple modeling languages to support coordinated development of diverse aspects of a system. Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel, Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 2014 68 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE COLUMN SECTION TITLESOFTWARE TECHNOLOGIES Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management. I n the software and sys- tems modeling community, domain-specific modeling language (DSML) research is focused on providing technolo- gies for developing languages and tools that allow domain experts to develop system solutions efficiently. Unfortunately, it’s very difficult for software and systems engineers to reason about information spread across models describing different system aspects because of the cur- rent lack of support for explicitly relating concepts expressed in dif- ferent DSMLs. Here, we describe a research initiative that broadens the DSML research focus beyond independent DSML development to one that supports globalized DSMLs—that is, DSMLs that facili- tate coordination of work across different domains of expertise. DOMAIN-SPECIFIC MODELING LANGUAGES Model-driven engineering (MDE) aims to reduce the accidental com- plexity associated with developing complex software-intensive systems.1 A primary source of this complex- ity is the wide gap between the high-level concepts used by domain experts to express their specific needs and the low-level abstrac- tions provided by general-purpose programming languages.2 Manually bridging this gap, particularly in the presence of changing requirements, is costly in terms of both time and effort. MDE approaches this problem through the use of modeling tech- niques that support separation of concerns and automated generation of major system artifacts (for exam- ple, test cases and implementations) from models. In MDE, a model describes an aspect of a system and is typically created for specific development purposes. Separation of concerns is supported through the use of dif- ferent modeling languages, each providing constructs based on ab- stractions that are specific to an aspect of a system. For example, gen- eralized stochastic Petri nets can be used to create performance models, whereas the notation provided by the Simulink tool is adapted to simula- tion models. MDE technologies also provide support for manipulating models, such as for querying, trans- forming, merging, and analyzing (including executing) models. Model- ing languages are thus at MDE’s core. Globalizing Modeling Languages Benoit Combemale, Inria and Univerity of Rennes Julien DeAntoni, University of Nice Sophia-Antipolis Benoit Baudry, Inria Robert B. France, Colorado State University Jean-Marc Jézéquel, University of Rennes Jeff Gray, University of Alabama r6sof.indd 68 5/22/14 10:47 AM
  • 42. Globalization of Modeling Language - 42 •  Context: new emerging DSML in open world ⇒  impossible a priori unification ⇒  require a posteriori globalization •  Objective: socio-technical coordination to support interactions across different system aspects ⇒  Language-based support for technical integration of multiples domains ⇒  Language-based support for social translucence •  Community: the GEMOC initiative (cf. http://gemoc.org) Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 "Globalizing Domain-Specific Languages," Combemale, B., Cheng, B.H.C., France, R.B., Jézéquel, J.-M., Rumpe, B. (Eds.). Springer, Programming and Software Engineering, Vol. 9400, 2015.
  • 43. Towards Language Interfaces - 43Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 xDSML2 xDSML1 structural/ axiomatic behavioral xDSML3 subtyping relation coordination pattern Symbolic event structure (for behavioral coordination) Model type (for language reuse) •  A language interface is a contract that exhibits the relevant information for a given purpose (i.e., to support specific composition operators)
  • 44. MELANGE: MODULAR AND REUSABLE DSML DESIGN AND IMPLEMENTATION - 44 Melange (DSML reuse) xDSML2 xDSML1 structural/ axiomatic behavioral subtyping relation
  • 45. - 45 Jim Steel, Jean-Marc Jézéquel, "On model typing," In Software and System Modeling (SoSyM), 2007 •  Rich set of subtyping relationships [Guy et al., ECMFA’12] •  Support of OCL in subtyping relationships [Sun et al., ECMFA’13] Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 46. Reuse is not enough! Context matters! Imported / inherited DSMLs may not fit exactly domain-specific requirements è Finely tune with customization facilities Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 46
  • 47. Modular and Reusable xDSML Development - 47Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 Thomas Degueule, Benoît Combemale, Arnaud Blouin, Olivier Barais, Jean-Marc Jézéquel, "Melange: a meta-language for modular and reusable development of DSLs," In Software Language Engineering (SLE), 2015 MM1 MM2 Sem1 Sem2 L1 L2 L3 L4 «inherit» «mergeL» «weave» «slice» Metamodel Semantics Language Tooling Model Type Binding «mergeS» «mergeS» «weave» Legacy ArtifactsAssembled DSLs MT1 MT2 MTi «impl» «impl»
  • 48. - 48 A language-based, model- oriented programming language MELANGE http://melange-lang.org Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 49. OPEN WORLD Feature A Feature B Feature B F. D F. D F. D F. D F. D F. D Variability model L1 L2 L3 L4 L1 L3 L4L2 CLOSED WORLD Language Manipulation •  Evolution •  Extension •  Restriction •  Customization •  Assembly Variability-based development model for DSLs •  Variability modeling •  Components-based languages development Families of Languages Variants Language derivation L6 Typing Theory for Agile Modeling •  Language interfaces •  Model polymorphism •  Viewpoints management MELANGE A Journey Through MDE, DSL and SLE - Benoit Combemale (INRIA and Univ. Rennes 1) - July 2nd, 2015 - 49
  • 50. B-COOL: BEHAVIORAL MODEL COORDINATION Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 50 GEMOC Studio (DSML coordination) xDSML1 structural/ axiomatic behavioral xDSML3 coordination pattern
  • 51. Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 51
  • 52. Towards a behavioral coordination of xDSMLs Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 52 •  The application of the MOC to a given model results in an event structure •  Consequently, the MOC defines a symbolic event structure, whose some events are mapped to the DSA (i.e., the visible model state changes) ⇒  This mapping can serve as a behavioral language interface used to define patterns that coordinate conforming models Matias Ezequiel Vara Larsen, Julien Deantoni, Benoit Combemale, Frédéric Mallet, "A Behavioral Coordination Operator Language (BCOoL)," In MODELS 2015
  • 53. Behavioral Coordination Operator Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 53 xDSML Semantics AS DSA MoCC DSE (Domain Specific Event) Event-driven behavioral interface Concurrent execution of homogeneous domain- specific models • Data • Control • Communication
  • 54. Behavioral Coordination Operator Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 54 xDSML’ xDSML Semantics AS DSA MoCC DSE (Domain Specific Event) • Data • Control • Communication Event-driven behavioral interface AS DSA MoCC DSE Concurrent execution of heterogeneous domain- specific models
  • 55. Behavioral Coordination Operator Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 55 Model of Concurrency & Communication Domain-Specific Actions Abstract Syntax Domain-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..* Ecore Kermeta MoccML GEL/ECL Composition Operator Composition Operator Lcompo Matching Rule Coordination Rule B-COoL Matias Ezequiel Vara Larsen, Julien Deantoni, Benoit Combemale, Frédéric Mallet, "A Behavioral Coordination Operator Language (BCOoL)," In MODELS 2015
  • 56. Behavioral Model Coordination - 56Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
  • 57. Behavioral Model Coordination - 57Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
  • 58. CONCLUSION AND PERSPECTIVES - 58Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 59. Conclusion Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 59 Contributions to the support of a language-oriented modeling with tools and methods to implement, reuse and coordinate xDSMLs and associated V&V tools
  • 60. Major breakthroughs Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 60 •  Modular definition of xDSMLs •  Reification of the concurrency in xDSMLs •  Language interfaces for reuse and behavioral coordination
  • 61. Perspectives - 61Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 DSMLs as a key pivot for the socio-technical coordination Model Experiencing Environments for informed decision and broader engagement in smart technologies Heuristics-Laws Scientists Open Data Engineers General Public Policy Makers MEEs ("what-if" scenarios) System Models Physical Laws (economic, environmental, social) Simulation Tool (incl. constraint solver, prediction tool, etc.) Sustainability System (e.g., smart grid) Context sensors actuators Energy Production/ Consumption System Software <<controls>><<senses>> Approximate DSML runtimes for design space exploration, runtime adaptation and security Metamorphic DSMLs for fitting user needs static int __rep_queue_filedone(dbenv, rep, rfp) DB_ENV *dbenv; REP *rep; __rep_fileinfo_args *rfp; { #ifndef HAVE_QUEUE COMPQUIET(rep, NULL); COMPQUIET(rfp, NULL); return (__db_no_queue_am(dbenv)); #else db_pgno_t first, last; u_int32_t flags; int empty, ret, t_ret; #ifdef DIAGNOSTIC DB_MSGBUF mb; #endif // over 100 lines of additional code } #endif not, and, or, implies B. Combemale, B. Cheng, A. Moreira, J.-M. Bruel, J. Gray, "Modeling for Sustainability," SEIS@ICSE 2015 (submitted) M. Acher, B. Combemale, P. Collet, "Metamorphic Domain-Specific Languages: A Journey into the Shapes of a Language," Onward! Essays 2014
  • 62. - 62Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 PhD Students: •  Clément Guy •  Emmanuelle Rouille •  Erwan Bousse •  David Mendez •  Marcelino Cancio Main projects: FUI Topcased, ITEA2 OPEES, PICS MBSAR, ANR GEMOC, BGLE CLARITY, COST MPM4CPS,Ind. contracts with Thales, Sodifrance, DGA Software: •  Melange •  GEMOC studio Papers: •  1 book written, 2 books and 6 proceedings edited •  4 book chapters •  13 journal papers •  57 conferences papers •  20 workshop papers General co-chair MODELS’16, PC co-chair SLE’14, founding member of the GEMOC initiative, EB member of Elsevier journals SCP and COMLAN, SC member of ACM SLE, organizer of various workshops and seminars (incl. Dasgtuhl). Software engineers: •  Vincent Fontanella •  François Tanguy •  Fabien Coulon •  Dorian Leroy Post-doctoral researchers: •  Cédric Bouhours •  José Galindo "If you believe that language design can significantly affect the quality of software systems, then it should follow that language design can also affect the quality of energy systems. And if the quality of such energy systems will, in turn, affect the livability of our planet, then it’s critical that the language development community give modeling languages the attention they deserve." − Bret Victor (Nov., 2015), http://worrydream.com/ClimateChange
  • 63. - 63Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  • 65. Scientific collaborations Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 65
  • 66. - 66Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 In memory of Prof. Robert B. France, A mentor, an academic father and far beyond. Rest in peace, Robert. http://people.irisa.fr/Benoit.Combemale/tribute-robert-france
  • 67. Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) ILE de SEIN ENEZ-SUN