2. Complex Software-Intensive Systems
Software
intensive
systems
- 2Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
• Multi-engineering approach
• Some forms of domain-specific modeling
• Software as integration layer
• Openness and dynamicity
5. - 5Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
"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)
- 6Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
Engineering Modeling Languages: Turning Domain Knowledge into Tools,
by BenoitCombemale,RobertB. France, Jean-Marc Jézéquel,Bernhard Rumpe,Jim R.H. Steel, and
Didier Vojtisek.Chapman and Hall/CRC,pp.398,2016.Companion website:http://mdebook.irisa.fr
7. Model-Driven Engineering (MDE)
- 7Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
Editors
(textuals, graphicals, …)
Test generators
Simulators
Analyzers
Refactoring
Checkers
(static & dynamics)
Translators
Compilers
Code generators
Etc.
Engineering Modeling Languages: Turning Domain Knowledge into Tools,
by BenoitCombemale,RobertB. France, Jean-Marc Jézéquel,Bernhard Rumpe,Jim R.H. Steel, and
Didier Vojtisek.Chapman and Hall/CRC,pp.398,2016.Companion website:http://mdebook.irisa.fr
8. - 8Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
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)
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 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, Melange, GEMOC, Papyrus
• Jetbrain’s MPS
• Spoofax
• 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. Context of the talk
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 10
MDE SLE
11. Context of the talk
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 11
MDE SLE
Software-
Intensive
Systems
DSMLs
12. Context of the talk
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 12
MDE SLE
Software-
Intensive
Systems
DSMLs
• Methods: patterns for executable
metamodeling
• Tools: generative and generic approaches
to automate the development of V&V tools
13. THE XDSML PATTERN
FOR EXECUTABLE METAMODELING
- 13Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
?
1
14. 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
- 14Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
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, "ADesign 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
15. The xDSML Pattern
- 15Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
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]
16. TheGEMOCStudio
- 16
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
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
17. Breathe Life Into Your Designer!
- 17Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
Model Animator
Operational Semantics
(executable)
Model
(executable)
Modeling
Language
Metamodeling
LanguagesKermeta Ecore
aModel
trace
manager,
timeline,
control
panel,
omniscient
debugger
Concrete Syntax
Graphical
representation
Sirius
Graphical
representation
DSA Executor
Interpreter
Diagram
Model Editor
Diagram
Domain-Specific
Actions
Execution
Functions
Execution
Data
Abstract Syntax
Domain Model
(Metamodel)
Legend
code generation
<<dependsOn>>
<<conformsTo>>
20. - 20
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.)
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
21. - 21
ArduinoDesigner(&Debugger)
https://github.com/gemoc/arduinomodeling
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
• 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
Modern platforms are
highly parallel (e.g.,
many-core, GPGPU,
distributed platform).
Complex software systems are
highly concurrent systems per
se (e.g., IoT, CPS).
22. Reifying Concurrency in xDSML: Limitations
- 22
• 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
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
23. Reifying Concurrency in xDSML: Grand Challenge
- 23
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."
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
24. Reifying Concurrency in xDSML: Approach
- 24Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
Algorithm
Theory
Concurrency
Theory
Abstract
Syntax
(AS)
Concrete
Syntax
(CS)
Mas cs Mas sd
Semantic
Domain
(SD)
Abstract
Syntax
(AS)
Concrete
Syntax
(CS)
Mas cs
Domain-Specific
Actions
Model of
Concurrency
25. Reifying Concurrency in xDSML: Approach
- 25
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.
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
26. Reifying Concurrency in xDSML: Approach
- 26
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
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
27. Reifying Concurrency in xDSML: Approach
- 27
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
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
28. Weave Concurrency Constraints Into Your DSL!
- 28Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
Model Animator
Operational Semantics
Model of Concurrency
and Communication
(executable)
Model
(executable)
Modeling
Language
Metamodeling
LanguagesMoCCML Kermeta Ecore
Concurrency
Constraints
Domain-Specific
Events
aModel
omniscient
debugger,
concurrency
explorer.
Concrete Syntax
Graphical
representation
Sirius
Graphical
representation
MOCC Solver DSA Executor
Execution
Model
Interpreter
Diagram
Model Editor
Diagram
Domain-Specific
Actions
Execution
Functions
Execution
Data
Abstract Syntax
Domain Model
(Metamodel)
Legend
code generation
<<dependsOn>>
<<conformsTo>>
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
30. Coping with Semantic Variation Points
- 30Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
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.
31. - 31
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."
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
32. Multiplication of DSMLs
Increasing number of
stakeholders and
concerns
- 32
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
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
33. Globalization of Modeling Languages
- 33
• 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
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
34. Globalization of Modeling Languages
- 34
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.
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
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
35. Globalization of Modeling Language
- 35
• 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)
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
"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.
36. The GEMOC Initiative
- 36
An open and international initiative to
• coordinate (between members)
• disseminate (on behalf the members)
worldwide R&D efforts
on the globalization of modeling languages
http://gemoc.org
@gemocinitiative
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
37. The GEMOC Studio
- 37Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
Design and compose
your executable DSMLs
http://gemoc.org/studio
Language
Workbench
Modeling
Workbench
Edit, simulate and animate
your heterogeneous models
38. The GEMOC Community
- 38Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
39. The GEMOC Community
- 39
• Keynote: “Towards Live DSLs”, by Tijs van der Storm (CWI)
• 5 paper presentations
• Discussion and demos
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
40. Towards Language Interfaces
- 40Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
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)
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 SLE 2015
Matias Ezequiel Vara Larsen, Julien Deantoni, Benoit Combemale, Frédéric Mallet, "ABehavioral
Coordination Operator Language (BCOoL)," In MODELS 2015
42. Conclusion
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 42
• How to leverage existing efforts in V&V
techniques for any DSLs?
• V&V techniques can be reified at the
language level through generic or generative
approaches
• require structural metamodeling patterns
43. Conclusion
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 43
• Modular definition of xDSMLs
• Reification of the concurrency in xDSMLs
• Language interfaces for reuse and
behavioral coordination
44. Conclusion
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 44
language-oriented modeling
with
tools and methods to
implement, reuse and coordinate
xDSMLs and associated V&V tools
45. Perspectives
- 45Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
DSMLs as a key pivot for
the socio-technical coordination
Model ExperiencingEnvironments
for informeddecision andbroader engagement
insmarttechnologies
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>>
ApproximateDSML runtimes
for designspaceexploration,
runtimeadaptationandsecurity
Metamorphic DSMLs
for fittinguserneeds
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,"
MiSE@ICSE 2015
M. Acher, B. Combemale,P. Collet,
"Metamorphic Domain-Specific
Languages:AJourney into the Shapes
of a Language,"Onward!Essays 2014
M. C. Rodrigez,B. Combemale,B. Baudry,
" Automatic Microbenchmark Generation to
Prevent Dead Code Elimination and
ConstantFolding,"ASE 2016
46. - 46Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
"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