dynamic v&v in language-oriented modeling
TRANSCRIPT
Benoit Combemale (Inria & Univ. Rennes 1)http://people.irisa.fr/[email protected]@bcombemale
Dynamic Validation & Verification in Language-Oriented ModelingWorkshop MoDeVVa @ MODELS 2016, Oct. 3rd, 2016
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
Aerodynamics
Authorities
Avionics
SafetyRegulations
Airlines
PropulsionSystem
MechanicalStructure
EnvironmentalImpact
NavigationCommunications
Human-Machine
Interaction
3
Multipleconcerns,
stakeholders, tools and methods
4
Aerodynamics
Authorities
Avionics
SafetyRegulations
Airlines
PropulsionSystem
MechanicalStructure
EnvironmentalImpact
NavigationCommunications
Human-Machine
Interaction
Heterogeneous Modeling
- 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.
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 Benoit Combemale, Robert B. 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
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 Benoit Combemale, Robert B. 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
- 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 analysisin software linguistics," In Software Language Engineering, volume 6563 of LNCS, pages 316–326. Springer, 2011.
"Software languages are software too"
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)…
Context of the talk
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 10
MDE SLE
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
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
THE XDSML PATTERN FOR EXECUTABLE METAMODELING
- 13Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
?
1
Execution functions
Internal data/control event(e.g., method call, scheduler)or external (stimuli from env.)
Executiontrace
Executionstate
Domainmodel
The xDSML Pattern
- 14Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
Event DefinitionMetaModel
EDMM
Domain DefinitionMetaModel
DDMM
State DefinitionMetaModel
SDMM
<<merge>><<merge>>
<<merge>>
Trace ManagementMetaModel
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 SemanticsDefinition in MDE - An Instrumented Approach for Model Verification," In Journal of Software (JSW), 2009
The xDSML Pattern
- 15Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
Event DefinitionMetaModel
EDMM
Domain DefinitionMetaModel
DDMM
State DefinitionMetaModel
SDMM
<<merge>><<merge>>
<<merge>>
Trace ManagementMetaModel
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]
The GEMOC Studio
- 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
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
MetamodelingLanguagesKermeta 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>>
- 18
Activity Diagram Debugger
https://github.com/gemoc/activitydiagram
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
- 19
Transformation Lg Debugger
https://github.com/tetrabox/minitl
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
TETRABoxhttp://modeltransformation.net
/tetrabox/Wimmer, Bousse et al.
- 20
Arduino Designer (& 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
Arduino Designer (& 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).
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
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 usualway 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
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
AbstractSyntax
(AS)
ConcreteSyntax
(CS)
Mas�cs Mas�sd
SemanticDomain
(SD)
AbstractSyntax
(AS)
ConcreteSyntax
(CS)
Mas�csDomain-Specific
Actions
Model of Concurrency
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 executionfunctions that manipulate the execution data (i.e. program state)
Benoit Combemale, Cécile Hardebolle, Christophe Jacquet, Frédéric Boulanger, Benoit Baudry, "Bridgingthe Chasm between Executable Metamodeling and Models of Computation," In Software LanguageEngineering (SLE), 2012.
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
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
Reifying Concurrency in xDSML: Approach
- 27
Florent Latombe, Xavier Crégut, Benoît Combemale, Julien DeAntoni, Marc Pantel, "Weaving concurrencyin 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
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
MetamodelingLanguagesMoCCML Kermeta Ecore
Concurrency Constraints
Domain-Specific Events
aModelomniscient 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
- 29
Activity Diagram Debugger
https://github.com/gemoc/activitydiagram
Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
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 withSemantic Variation Points in Domain-Specific Modeling Languages", In EXE@MoDELS 2015.
- 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
Multiplication of DSMLs
Increasing number ofstakeholders and
concerns- 32
Increasing number ofapplication 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
Globalization of Modeling Languages
- 33
• DSMLs are developed in an independent mannerto meet the specific needs of domain experts,
• DSMLs should also have an associatedframework 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
Globalization of Modeling Languages
- 34
Supporting coordinated use of modelinglanguages leads to what we call the globalizationof modeling languages, that is, the use of multiple modeling languages to support coordinateddevelopment 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
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.
The GEMOC Initiative
- 36
An open and international initiative to• coordinate (between members)• disseminate (on behalf the members)
worldwide R&D effortson 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
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/studioLanguageWorkbench
ModelingWorkbench
Edit, simulate and animate your heterogeneous models
The GEMOC Community
- 38Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
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
Towards Language Interfaces
- 40Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
xDSML2xDSML1
structural/axiomatic
behavioral
xDSML3
subtypingrelation
coordinationpattern
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, "A BehavioralCoordination Operator Language (BCOoL)," In MODELS 2015
CONCLUSION AND PERSPECTIVES
- 41Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
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
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
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
Perspectives
- 45Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
DSMLs as a key pivot forthe socio-technical coordination
Model Experiencing Environmentsfor informed decision and broader engagement
in smart technologies
Heuristics-Laws
Scientists
Open Data
Engineers
General PublicPolicy 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 runtimesfor design space exploration,
runtime adaptation and security
Metamorphic DSMLsfor fitting user needs
static int __rep_queue_filedone(dbenv, rep, rfp)
DB_ENV *dbenv;REP *rep;__rep_fileinfo_args *rfp; {
#ifndef HAVE_QUEUECOMPQUIET(rep, NULL);COMPQUIET(rfp, NULL);return (__db_no_queue_am(dbenv));
#elsedb_pgno_t first, last;u_int32_t flags;int empty, ret, t_ret;
#ifdef DIAGNOSTICDB_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 2015M. Acher, B. Combemale, P. Collet,
"Metamorphic Domain-SpecificLanguages: A Journey into the Shapesof a Language," Onward! Essays 2014
M. C. Rodrigez, B. Combemale, B. Baudry, " Automatic Microbenchmark Generation to
Prevent Dead Code Elimination and Constant Folding," ASE 2016
- 46Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
"If you believe that language design can significantlyaffect the quality of software systems, then it shouldfollow that language design can also affect the quality of energy systems. And if the quality of suchenergy systems will, in turn, affect the livability of our planet, then it’s critical that the languagedevelopment community give modeling languagesthe attention they deserve." − Bret Victor (Nov., 2015), http://worrydream.com/ClimateChange