towards language-oriented modeling (hdr defense)
TRANSCRIPT
Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/Benoit.Combemale [email protected] @bcombemale
Towards Language-Oriented Modeling Habilitation à Diriger des Recherches Université de Rennes 1 December 4, 2015
Complex Software-Intensive Systems
Software intensive systems
- 2 Towards 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
Multipleconcerns,
stakeholders, tools and methods
4
Aerodynamics
Authorities
Avionics
Safety Regulations
Airlines
Propulsion System
Mechanical Structure
Environmental Impact
Navigation Communications
Human-Machine
Interaction
Heterogeneous Modeling
- 5 Towards 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)
- 6 Towards 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
Systemsengineers
ABC
languageengineeringprocess
Experts
LanguageEngineers
Application
Final users
systemsengineeringprocess
Experts
LanguageUsers
Application
Finalsystem
Tools & MethodsEngineers
DSML
DSML Tools
Leverage on domainspecific experience
Development of a system in the context of a given domain
Model-Driven Engineering (MDE)
- 7 Towards 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 Towards 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
AbstractSyntax(AS)
ConcreteSyntax(CS)
SemanticsDomain(SD)
Mac
Mas
domain behaviorsconcurrency
Dynamic V&V tools
domainconcepts
?
1
xDSML Pattern
xDSML1 AbstractSyntax(AS)
ConcreteSyntax(CS)
SemanticsDomain
(SD)
Mac
Mas
domain behaviorsconcurrency
Dynamic V&V tools
domainconcepts
?
1
Research Statement, Challenges and Contributions
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 15
xDSML2xDSML2
xDSML2xDSML2
xDSML Pattern
xDSML1'
xDSML1
xDSML2
AbstractSyntax(AS)
ConcreteSyntax(CS)
SemanticsDomain
(SD)
Mac
Mas
domain behaviorsconcurrency
Dynamic V&V tools
domainconcepts
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)
xDSML2xDSML2
Melange(DSML reuse)
xDSML2xDSML2
xDSML Pattern
xDSML1'
xDSML1
structural/axiomatic
behavioral
xDSML2
AbstractSyntax(AS)
ConcreteSyntax(CS)
SemanticsDomain
(SD)
Mac
Mas
domain behaviorsconcurrency
Dynamic V&V tools
domainconcepts
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
- 19 Towards 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
- 20 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
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 Semantics Definition in MDE - An Instrumented Approach for Model Verification," In Journal of Software (JSW), 2009
The xDSML Pattern
- 21 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
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]
- 22
Activity Diagram Debugger
https://github.com/gemoc/activitydiagram
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
- 23
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.)
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
- 24
Arduino Designer (& 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
AbstractSyntax(AS)
ConcreteSyntax(CS)
Mas�cs Mas�sd
SemanticDomain(SD)
AbstractSyntax(AS)
ConcreteSyntax(CS)
MoC
Domain-SpecificActions
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-SpecificEvents
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-SpecificEvents
0..*
DSAMoCC
DSE
Concept0..*Concepts
(from Las)
ExecutionFunction(from Ldsa)
Las
Event(from Lmoc)
Ldsa
Ldse
Lmocc
Event0..*
* *
Constraint0..*
0..*
Legend
<<dependsOn>>
<<conformsTo>>
Property
type1Execution
State
0..*ExecutionFunction
0..*
0..*
Ecore Kermeta MoccML
GEL/ECL
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
(executable)Model
(executable)ModelingLanguage
MetamodelingLanguages
MoccML Kermeta Ecore
MoC.lib.moc(MoC)
MyDSML.xtend (DSA)
MyDSML.ecore(AS)
GEL/ECL
DSE4MyDSML.gel
(MoC<->DSA)
aModelMyDSMLDSA-AS.jar
MyDSMLConcurrencyModel.mocLegend
code generation
<<dependsOn>>
<<conformsTo>>
Reifying Concurrency in xDSML: Contribution
- 33 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
The GEMOC Studio
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
Activity Diagram Debugger
https://github.com/gemoc/activitydiagram
Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
Coping with Semantic Variation Points
- 36 Towards 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
- 39 Towards 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 TITLESOF T WARE TECHNOLOGIES
Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management.
In 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 LANGUAGESModel-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 LanguagesBenoit 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 TITLESOF T WARE TECHNOLOGIES
Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management.
In 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 LANGUAGESModel-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 LanguagesBenoit 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
- 43 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
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)
MELANGE: MODULAR AND REUSABLE DSML DESIGN AND IMPLEMENTATION
- 44
Melange(DSML reuse)
xDSML2xDSML1
structural/axiomatic
behavioral
subtypingrelation
- 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
- 47 Towards 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 L4 L2
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
xDSML3coordinationpattern
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-SpecificEvents
0..*
DSAMoCC
DSE
Concept0..*Concepts
(from Las)
ExecutionFunction(from Ldsa)
Las
Event(from Lmoc)
Ldsa
Ldse
Lmocc
Event0..*
* *
Constraint0..*
0..*
Legend
<<dependsOn>>
<<conformsTo>>
Property
type1Execution
State
0..*ExecutionFunction
0..*
0..*
Ecore Kermeta MoccML
GEL/ECL
Composition Operator
CompositionOperator
Lcompo
MatchingRule
CoordinationRule
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
- 56 Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
Behavioral Model Coordination
- 57 Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
CONCLUSION AND PERSPECTIVES
- 58 Towards 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
- 61 Towards 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 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 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 Towards 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 Towards 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
- 66 Towards 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