On the Globalization of Modeling Languages (June 8th, 2015)
-
Upload
benoit-combemale -
Category
Software
-
view
248 -
download
2
Transcript of On the Globalization of Modeling Languages (June 8th, 2015)
Benoit Combemale (Inria & Univ. Rennes 1)http://people.irisa.fr/[email protected]@bcombemale
On the Globalization of Modeling Languages
THE DIVERSE TEAM
- 2GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Software intensive systems
3
Software intensive systems
Software intensive systems
4
Software intensive systems
Multiple dimensions of software diversity
DiverSE
5
Model driven engineering
Functional diversity
Language diversity
Failure diversity
Execution diversity
DiverSE
6
Model driven engineering
Functional diversity
Language diversity
Failure diversity
Execution diversity
DiverSE
•DIVERSE• 8 faculty members
• ~ 30 PhD students, postdocs, and engineers
7
Outline
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 8
1. From Model Driven Engineering to Software Language Engineering
2. The GEMOC Initiative
3. The GEMOC ANR Project1. Explicit and Formal Concurrency in Executable DSML
2. Behavioral Coordination of Heterogeneous Models
4. Conclusion and Perspectives
FROM MODEL (DRIVEN) ENGINEERING…… TO LANGUAGE (DRIVEN) ENGINEERING
- 9GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Applications Domains
Software intensive systems
- 10GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Aerodynamics
Authorities
Avionics
SafetyRegulations
Airlines
PropulsionSystem
MechanicalStructure
EnvironmentalImpact
NavigationCommunications
Human-Machine
Interaction
11
MultipleConcerns
12
Aerodynamics
Authorities
Avionics
SafetyRegulations
Airlines
PropulsionSystem
MechanicalStructure
EnvironmentalImpact
NavigationCommunications
Human-Machine
Interaction
Heterogeneous Modeling
Model-Driven Engineering (MDE)
Distribution
« Service Provider Manager »
Notification Alternate Manager
« Recovery Block Manager »
ComplaintRecovery Block
Manager
« Service Provider
Manager »
Notification Manager
« Service Provider Manager »
Complaint Alternate Manager
« Service Provider
Manager »
Complaint Manager
« Acceptance Test Manager »
Notification Acceptance Test
Manager
« Acceptance Test Manager »
Complaint Acceptance Test
Manager
« Recovery Block Manager »
NotificationRecovery Block
Manager
« Client »
User Citizen Manager
Fault tolerance Roles
ActivitiesViews
Contexts
Security
Functional behavior
Bookstate : StringUser
borrow
return
deliver
setDamagedreserve
Use case
PlatformModel Design
ModelCode
Model
Change one Aspect and Automatically Re-Weave:From Software Product Lines…..to Dynamically Adaptive Systems
- 13GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Model-Driven Engineering (MDE)
- 14
J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model-Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85.
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
"Perhaps surprisingly, the majority of MDE examples in our study followed domain-specific modeling paradigms"
Distribution
« Service Provider Manager »
Notification Alternate Manager
« Recovery Block Manager »
ComplaintRecovery Block
Manager
« Service Provider
Manager »
Notification Manager
« Service Provider Manager »
Complaint Alternate Manager
« Service Provider
Manager »
Complaint Manager
« Acceptance Test Manager »
Notification Acceptance Test
Manager
« Acceptance Test Manager »
Complaint Acceptance Test
Manager
« Recovery Block Manager »
NotificationRecovery Block
Manager
« Client »
User Citizen Manager
Fault tolerance Roles
ActivitiesViews
Contexts
Security
Functional behavior
Bookstate : StringUser
borrow
return
deliver
setDamagedreserve
Use case
PlatformModel Design
ModelCode
Model
Change one Aspect and Automatically Re-Weave:From Software Product Lines…..to Dynamically Adaptive Systems
Domain-Specific Languages (DSLs)
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 15
• Targeted to a particular kind of problem, with dedicatednotations (textual or graphical), support (editor, checkers, etc.)
• Promises: more « efficient » languages for resolving a set of specific problems in a domain
« Another lesson we should have learned from the recent past isthat the development of 'richer' or 'more powerful' programminglanguages was a mistake in the sense that these baroque monstrosities, these conglomerations of idiosyncrasies, are reallyunmanageable, both mechanically and mentally.
I see a great future for very systematic and very modest programming languages »
ACM Turing Lecture, « The Humble Programmer » Edsger W. Dijkstra 16
aka Domain-SpecificLanguages
aka General-PurposeLanguages
1972
17
2011« Domain-specificlanguages are far more prevalent thananticipated »
Language Design and Implementation
- 18GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
J-M. Favre, D. Gasevic, R. Lämmel, and E. Pek. "Empirical language 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)
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 19
• Application of systematic, disciplined, and measurable approaches to the development, deployment, use, and maintenance of software languages
• Supported by various kind of "language workbench"• Eclipse EMF, xText, Sirius, GEMOC, Papyrus• Jetbrain’s MPS• MS DSL Tools• Etc.
• Various shapes and ways to implement software languages• External, internal or embedded DSLs, Profile, etc.• Grammar, metamodel, ontology, etc.
• More and more literature, a dedicated Intl. conference (ACM SLE, cf. http://www.sleconf.org)…
The Kermeta Workbench (since 2005)
- 20GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Jean-Marc Jézéquel, Benoit Combemale, Olivier Barais, Martin Monperrus, François Fouquet, “Mashup of metalanguages and its implementation in the Kermeta language workbench,” SoSyM, 2014.
@aspect(class=Transition)operation fire() : String {
source.owningFSM.currentState := targetresult := output
}
The Kermeta Workbench (since 2005)• Modular design of DSMLs
• One meta-language per language concern (merge/weave)• Ecore, OCL, Xtend• But also: QVTo, fUML, Alf, Ket, Xsd…
• Static introduction mechanism (aspect)
• Provides a model oriented action language to support common model manipulation tasks
• to implement (E)Operation’s bodies• Imperative, statically typed, object-oriented, aspect-oriented
(aspect/context, require), model-oriented, DbC, Unit testing• Java and Xtend compliant, and based on EMF• Run as Eclipse plugin or as standard Java application
• Efficient implementation of DSMLs• Mashup of the meta-languages to Java code• Integrated with third-party tools (EMF compliant)
- 21GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Jean-Marc Jézéquel, Benoit Combemale, Olivier Barais, Martin Monperrus, François Fouquet, “Mashup of metalanguages and its implementation in the Kermeta language workbench,” SoSyM, 2014.
Software Language Engineering (SLE)
- 22
J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model-Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85.
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
"A clear challenge, then, is how to integrate multiple DSLs."
"Rather than attempting to formalize a wide-ranging domain (such as financial applications), practitioners should write small, easy-to-maintain DSLs and code generators. In practice, however, multiple DSLs are usually required, which brings its own challenges in terms
of integration."
Software Language Engineering (SLE)
Jean-Marc Jézéquel, David Mendez, Thomas Degueule, Benoit Combemale, Olivier Barais, "When Systems Engineering Meets Software Language Engineering," In Complex Systems Design & Management (CSD&M'14), Springer, 2014.
All about “family of languages”!! J
Core
QueryLanguage
ActionLanguage
ConstraintLanguageFSM
H FSM System
ODE
FSM
Activity
Language InheritanceSubtyping, Model Viewpoint, Generic metaprogramming Globalization of DSLs
HFSM
UML
Rhapsody
Stateflow
HT FSM
Language Modularization and Composition, Language Variability Management
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
THE GEMOC INITIATIVE
- 24GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Globalization of Modeling Languages
- 25
• DSMLs are developed in an independent 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
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
Globalization of Modeling Languages
- 26
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.
Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel, Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 2014
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
Globalization of Modeling Language
- 27
• Context: new emerging DSML in open world⇒ impossible a priori unification⇒ require a posteriori globalization
• Objective: socio-technical coordination to support interactions across different system aspects
⇒ Language-based support for technical integration of multiples domains⇒ Language-based support for social translucence
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel, Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 2014
GEMOC: The Initiative
- 28
An open and international initiative to• coordinate (between members)• disseminate (on behalf the members)
worldwide R&D effortson the globalization of modeling languages
http://gemoc.org
@gemocinitiative
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
GEMOC: The Studio
- 29The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
Design and compose your executable DSMLs
http://gemoc.org/studioLanguageWorkbench
ModelingWorkbench
Edit, simulate and animate your heterogeneous models
GEMOC: The Community
- 30
United States
Canada
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
GEMOC: The Events
- 31
• The GEMOC workshop series co-located with the MODELS conference:• 3rd International Workshop on the Globalization of Modeling Languages (GEMOC’15)• 2nd International Workshop on the Globalization of Modeling Languages (GEMOC’14)• 1st International Workshop on the Globalization of Modeling Languages (GEMOC’13)
• Dagstuhl Seminar #14412 on “Globalizing Domain-Specific Languages”, October , 2014.• A book to be published soon (Springer edition)!
• International Workshop on the Globalization of Domain Specific Languages (GlobalDSL’13),
co-located with ECMFA, ECOOP and ECSA 2013
• Official launch of The GEMOC Initiative at the Research-Project Symposium of
ECMFA/ECOOP/ECSA’13 (July 1st, 2013)
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
GEMOC: The Projects
- 32The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
• Survey of the techniques and tools to compose DSMLs and their respectives MoCs
• Partners: IRISA (Triskell), I3S (Aoste)• Cf. http://gemoc.org/as2011
CNRS GDR GPL Specific Action 2011
• A Language Workbench for Heterogeneous Modeling and Analysis of ComplexSoftware-Intensive Systems
• Partners: Inria (DiverSE), I3S (Aoste), IRIT, ENSTA-Bretagne, Thales, Obeo• Cf. http://gemoc.org/ins
ANR INS GEMOC2012-2016
• Travel funds for permanent staff and PhD students• Partners: IRISA (DiverSE), CSU• Cf. http://gemoc.org/mbsar
CNRS PICS MBSAR 2013-2015
• Promote the sharing of foundations, techniques, and tools and to provideeducational resources, to both academia and industry
• Cf. http://www.cost.eu/COST_Actions/ict/Actions/IC1404
ICT COST Action MPM4CPS2014-2018
Concurrent execution of heterogeneousmodels (ANR Project, #ANR-12-INSE-0011)
- 33
Breakthroughs: • modular and explicit definition of the behavioral semantics of modeling
languages, incl. concurrency [APSEC’12, SLE’12, SLE’13]• dedicated meta-languages [DATE’15]• explicit behavioral interface of modeling languages [GEMOC’13]• integration of modeling languages for heterogeneous model
coordination [Computer'14, Dagstuhl #14412]
• Abstract syntax (domain model)
• Concrete syntax (static and dynamic)
• Operational semantics• Composition operators
DSMLSpecification
and Coordination
• Graphical and textual modeling
• Concurrent execution• Trace management• Graphical animation
Heterogeneous Modeling and Simulation/Ani
mation
Visit http://gemoc.org/ins
The GEMOC Initiative - B. Combemale (Inria & Univ. Rennes 1)
THE GEMOC ANR PROJECT#ANR-12-INSE-0011 (2012-2016)
- 34GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
ANR GEMOC: Identification
- 35
• Scientific Coordinator: Benoit Combemale (INRIA)• Consortium: Inria, CNRS I3S, INPT IRIT, ENSTA Bretagne,
Thales, Obeo• External Partner: Supélec
• Date: 01.12.12 – 30.03.16 (40 months)• Budget: 2 700 000 €
• Supported by the French Agency for Research (ANR)• Program Ingénierie Numérique et Sécurité (INS 2012)• Grant n°ANR-12-INSE-0011• ANR Funding: 982 720€
• Competitiveness clusters: Image & Réseaux, Aerospace Valley and Systematic
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
- 36GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Le nouveau défis de la coordination des langages de modélisation. Gestion de l'hétérogénéité des modèles dans le développement et l'exécution de systèmes logiciels complexes (Benoit Combemale, Julien Deantoni, Ali Koudri, Jérôme Le Noir), In Génie logiciel et ingénierie de système (GL & IS), 2013.
ANR GEMOC: Challenges
- 37GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
ANR GEMOC: Key Facts
2013% 2014% 2015%
( Valida.on%of%the%challenges%[Génie%Logiciel’13,%Computer’14]%and%the%vision%[APSEC’12,%SLE’12,%SLE’13]%
( Integrated%studio:%the%GEMOC%Studio%( Launch%of%the%interna.onal%GEMOC%ini.a.ve%( Interna.onal%dissemina.on%(GlobalDSL@ECOOP’13%and%GEMOC@MoDELS’13)%
( Development%of%the%solu.on%(K3,%GEL,%MoccML%[DATE’15],%Sirius%Anima.on,%B(COol)%( First%experiments%with%the%GEMOC%studio%and%first%official%release%v0.1%( Interna.onal%dissemina.on%(EclipseCon%France,%MDD4DRES’14,%SLE’14,%
GEMOC@MoDELS’14%and%Dagstuhl%Seminar%#14412)%
Dec.,&2012&T0&
(project&kickoff)&
March,&2016&T0+40&
(project&end)&
June, 2014 T0+18
(mid-term review)
( Consolida.on%and%evalua.on%of%the%solu.on%( Advanced%scenarios%with%the%GEMOC%studio.%Releases%v1%and%v2%( Interna.onal%dissemina.on%(EclipseCon%France,%SLE’15,%GEMOC@MoDELS’15)%( Establishment%of%the%exploita.on%plan,%open(source%transfer%( Explora.on%of%the%perspec.ves:%V&V,%op.mizing%compilers,%so_ware%
adapta.on,%cybersecurity%
ANR-12-INSE-0011
- 38GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
ANR GEMOC: Breakthroughs
• A modular executable metamodeling approach for concurrent behavioral semantics specification, implementation, reuse and variability
• Well-defined language interfaces:• Structural: for language, model transformation and model reuse• Behavioral: for language behavioral coordination
• Language coordination patterns for concurrent execution of heterogeneous models
- 39GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
ANR GEMOC: Breakthroughs
1. A modular executable metamodeling approach for concurrent behavioral semantics specification, implementation, reuse and variability
• Well-defined language interfaces:• Structural: for language, model transformation and model reuse• Behavioral: for language behavioral coordination
2. Language coordination patterns for concurrent execution of heterogeneous models
EXPLICIT AND FORMAL CONCURRENCY IN EXECUTABLE DSML
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 40
Motivations
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 41
• Concurrency is at the heart of modern software-intensive systems and platforms
• Complex systems (e.g., IoT, CPS) are highly concurrent systems per se.
• Modern platforms (e.g., many-core, GPGPU, distributed platforms) are providing more and more parallelism.
⇒ Require correct specification of concurrency for leveraging the unique characteristics of these systems and their deployment on these platforms.
Motivations
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 42
• Concurrency remains implicit and ad-hoc in language design and implementation:
• Design: implicitly inherited from the meta-language used• Implementation: mostly embedded in the underlying execution
environment
• The lack of an explicit concurrency specification in language design prevents:
• leveraging the concurrency concern of a particular domain or platform• a complete understanding of the behavioral semantics• effective concurrency-aware analysis techniques• effective techniques for producing semantic variants• analysis of the deployment on parallel architectures
Grand Challenge
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 43
Cross fertilization in languages of the algorithm theory and the
concurrency theory
Leslie Lamport, “Turing Lecture: The Computer Science of Concurrency: The Early Years,” Com. ACM, vol. 58, no. 6, 2015, pp. 71–76.
"Concurrency models were generally event-based, and avoided the use of state. They did not easily describe algorithms or the usualway of thinking about them based on the standard model."
Approach
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 44
Kermeta
ModHel'X
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 SLE 2012.
Approach
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 45
Semantics
AS DSA MOC
Static Introduction
Delegation Pattern
Domain Model
Exec. function and data
Concurrency Model
The MoCC serves as a (family of) scheduler(s) of the executionfunctions that manipulate the execution data (i.e. program state)
Benoit Combemale, Cécile Hardebolle, Christophe Jacquet, Frédéric Boulanger, Benoit Baudry, "Bridging the Chasm between Executable Metamodeling and Models of Computation," In SLE 2012.
Approach
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 46
Benoit Combemale, Julien Deantoni, Matias Vara Larsen, Frédéric Mallet, Olivier Barais, Benoit Baudry, Robert France, "Reifying Concurrency for ExecutableMetamodeling," In SLE 2013
Semantics
AS DSA MOC
DSE (Domain Specific
Event) • Data • Control • Communication
The DSE serve as a mapping between the MOC and the DSA
Contribution
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 47
Model of Concurrency & Communication
Domain-Specific Actions
Abstract Syntax
Domain-SpecificEvents
Contribution
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 48
Model of Concurrency & Communication
Domain-Specific Actions
Abstract Syntax
Domain-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..*
EcoreKermetaMoccM
L
GEL/ECL
(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>>
Contribution
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 49
Result: model execution environment
- 50Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
Result: model execution environment
- 51Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
• Graphical animation• Breakpoint definition on model element• Multi-dimensional and efficient trace
management• Model debugging facilities (incl., timeline,
step backward, stimuli management, etc.)• Concurrency simulation and formal analysis
Result: semantic variation points
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 52
BEHAVIORAL COORDINATION OF HETEROGENEOUS MODELS
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 53
Towards a behavioral language interface
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 54
• The application of the MOC to a given model results in an event structure
• Consequently, the MOC define a symbolic event structure, whose the events mapped to the DSA correspond to the visible model state changes
⇒ This mapping can serve as a behavioral language interface used to define patterns that will coordinate conforming models
Approach
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 55
xDSML Semantics
AS DSA MoCC
DSE (Domain Specific
Event)
Event-driven behavioral interface
Concurrent execution of homogeneous domain-specific models
• Data • Control • Communication
Approach
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 56
xDSML’
xDSML Semantics
AS DSA MoCC
DSE (Domain Specific
Event) • Data • Control • Communication
Event-driven behavioral interface
AS DSA MoCC
DSE
Concurrent execution of heterogeneous domain-specific models
Contribution
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 57
Model of Concurrency & Communication
Domain-Specific Actions
Abstract Syntax
Domain-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..*
EcoreKermetaMoccM
L
GEL/ECL
Composition Operator
CompositionOperator
Lcompo
MatchingRule
CoordinationRule
B-COoL
Towards an execution engine
Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 58
Towards an execution engine
- 59Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
CONCLUSION AND PERSPECTIVES
- 60GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1)
Conclusion and Perspectives
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 61
• Breakthroughs: • A concurrent and modular executable metamodeling approach• An explicit behavioral language interface• A behavioral coordination operator language
• Current scheduled technological outcomes:• Melange, a language-oriented workbench for language, model transformation
and model reuse and variability• Host on Github as an open source project (INRIA)
• Model debugging environment: execution engine, animator designer/runtime, and trace/event managers• Host on Sirius lab for maturation as an Eclipse plugin (Obeo/INRIA)
• BCOoL and heterogeneous engine coordination• will be diffused as an open source project (I3S/INRIA)
• MoccML and Timesquare• will be diffused as an open source project (I3S/ENSTA Bretagne)
• Applications:• fUML (Cf. TTC’15 at http://gemoc.org/ttc15)• xCapella, an executable extension of Capella• Model-experiencing systems as dynamic adaptive, well-informed and broader
“what-if” environments for sustainability (e.g., Farming systems)
Conclusion and Perspectives
GEMOC, June 8th, 2015 - B. Combemale (Inria & Univ. Rennes 1) - 62
• Further developments:• Maturation of the generic tools (debugging env., concurrency env.
and heterogeneous coordination env.)• Maintenance of the GEMOC Studio• Application to xCapella
• Perspectives:• Deep investigation of the notion of language interface (viewpoint
engineering, etc.)• Formal analysis of model coordination
• Leveraging the execution trace of, possibly heterogeneous, coordinated executable models
• Simulation, model explorer, model checking• Adaptable MoC at the language level
• @design/compile time: design space exploration, optimizing compilers• @runtime: code adaptation, code obfuscation
• Application to sustainability systems• SLE in Education
Join us!
The GEMOC Initiativehttp://gemoc.org ~ @gemocinitiative
Advisory Board: Benoit Combemale, Robert B. France, Jeff Gray and Jean-Marc Jézéquel