SlideShare a Scribd company logo
Benoit Combemale (Inria & Univ. Rennes 1)
http://people.irisa.fr/Benoit.Combemale
benoit.combemale@irisa.fr
@bcombemale
Reifying the concurrency concern into
xDSML specifications
Final workshop of the ANR project GEMOC
March 17th, 2016
- 2
ArduinoDesigner(&Debugger)
https://github.com/gemoc/arduinomodeling
Debugging and Concurrent Execution of Heterogeneous Models – GEMOC Workshop (Mar., 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
- 3
• 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
Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
Reifying Concurrency in xDSML: Grand Challenge
- 4
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."
Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
Reifying Concurrency in xDSML: Approach
- 5
Kermeta
ModHel'X
Abstract
Syntax
(AS)
Concrete
Syntax
(CS)
Mas cs Mas sd
Semantic
Domain
(SD)
Abstract
Syntax
(AS)
Concrete
Syntax
(CS)
MoC
Domain-Specific
Actions
Mas cs
Benoit Combemale, Cécile Hardebolle, Christophe Jacquet, Frédéric Boulanger, Benoit Baudry, "Bridging
the Chasm between Executable Metamodeling and Models of Computation," In Software Language
Engineering (SLE), 2012.
Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
Reifying Concurrency in xDSML: Approach
- 6
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.
Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
Reifying Concurrency in xDSML: Approach
- 7
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
Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
Reifying Concurrency in xDSML: Approach
- 8
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
Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
Reifying Concurrency in xDSML: Contribution
- 9
Model of
Concurrency &
Communication
Domain-Specific
Actions
Abstract
Syntax
Domain-Specific
Events
Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
Reifying Concurrency in xDSML: Contribution
- 10
Model of
Concurrency &
Communication
Domain-Specific
Actions
Abstract
Syntax
Domain-Specific
Events
0..*
DSAMoCC
DSE
Concept0..*
Concepts
(from Las)
Execution
Function
(from Ldsa)
Las
Event
(from Lmoc)
Ldsa
Ldse
Lmocc
Event
0..*
* *
Constraint
0..*
0..*
Legend
<<dependsOn>>
<<conformsTo>>
Property
type
1Execution
State
0..*
Execution
Function
0..*
0..*
EcoreKermetaMoccML
GEL/ECL
Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
(executable)
Model
(executable)
Modeling
Language
Metamodeling
Languages
MoccML Kermeta Ecore
MoC.lib.moc
(MoC)
MyDSML
.xtend
(DSA)
MyDSML
.ecore
(AS)
GEL/ECL
DSE4MyDSML
.gel
(MoC<->DSA)
aModel
MyDSML
DSA-AS.jar
MyDSML
Concurrency
Model.mocLegend
code generation
<<dependsOn>>
<<conformsTo>>
Reifying Concurrency in xDSML: Contribution
- 11Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
TheGEMOCStudio
- 12
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
Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
- 13
ActivityDiagramDebugger
https://github.com/gemoc/activitydiagram
Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
Coping with Semantic Variation Points
- 14
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.
Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)

More Related Content

PDF
Experimentations, transfer and development during the ANR project GEMOC
PDF
The Behavioral Coordination Operator Language (BCOoL)
PDF
Wrap-up of the ANR project GEMOC
PDF
Concurrency reification in the xDSML with MoCCML
PDF
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
PDF
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
PDF
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
PDF
Modeling for Sustainability
Experimentations, transfer and development during the ANR project GEMOC
The Behavioral Coordination Operator Language (BCOoL)
Wrap-up of the ANR project GEMOC
Concurrency reification in the xDSML with MoCCML
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
Modeling for Sustainability

What's hot (20)

PDF
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
PDF
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
PDF
Coping with Semantic Variation Points in Domain-Specific Modeling Languages
PDF
Towards Smart Modeling (Environments)
PPTX
Mise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
PDF
Inria/CWI ALE team (progresses in Sep., 2017)
PDF
Model Execution: Past, Present and Future
PPTX
Comparison of Meta-Modeling Languages
PPTX
Interoperability of Meta-Modeling Tools
PPTX
Mapping-Based Exchange of Models between Meta-Modeling Tools
PDF
Dynamic V&V in Language-Oriented Modeling
PDF
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
PDF
Post-graduate course: Object technology: Implementation of object-oriented pr...
ODP
Cp3-- A module support tool for C++
PDF
The epistemology of programming language paradigms
PDF
QSOUL/Aop
PDF
Extract Package Refactoring in ARIES
PPTX
Programming paradigm
PDF
EclipseCon Eu 2012 - Build your own System Engineering workbench
PPTX
What is needed for managing co-evolution in MDE?
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
Coping with Semantic Variation Points in Domain-Specific Modeling Languages
Towards Smart Modeling (Environments)
Mise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
Inria/CWI ALE team (progresses in Sep., 2017)
Model Execution: Past, Present and Future
Comparison of Meta-Modeling Languages
Interoperability of Meta-Modeling Tools
Mapping-Based Exchange of Models between Meta-Modeling Tools
Dynamic V&V in Language-Oriented Modeling
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
Post-graduate course: Object technology: Implementation of object-oriented pr...
Cp3-- A module support tool for C++
The epistemology of programming language paradigms
QSOUL/Aop
Extract Package Refactoring in ARIES
Programming paradigm
EclipseCon Eu 2012 - Build your own System Engineering workbench
What is needed for managing co-evolution in MDE?
Ad

Similar to Reifying the concurrency concern into xDSML specifications (20)

PDF
Towards Language-Oriented Modeling (HDR Defense)
PDF
Model executability within the GEMOC Studio
PDF
On the Globalization of Modeling Languages (June 8th, 2015)
PDF
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...
PDF
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
PDF
Execution Framework of the GEMOC Studio
PDF
A DSL to feedback formal verification results
PPTX
Event-driven Model Transformations in Domain-specific Modeling Languages
PDF
Breathe Life Into Your IDE
PPTX
On the Semantics of Real-Time Domain Specific Modeling Languages
PPT
xUMLFinalPresentation.ppt
PDF
From MDE to SLE (April 17th, 2015)
PDF
Executable modeling & dynamic adaptation
PDF
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
PPT
Software development... for all? (keynote at ICSOFT'2024)
PPTX
Architecting Domain-Specific Languages
PPTX
Executable UML Roadmap (as of September 2014)
PDF
Model-Based Systems Engineering Demystified
PPTX
Ardu robotml
PDF
Comparison of the Formal Specification Languages Based Upon Various Parameters
Towards Language-Oriented Modeling (HDR Defense)
Model executability within the GEMOC Studio
On the Globalization of Modeling Languages (June 8th, 2015)
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Execution Framework of the GEMOC Studio
A DSL to feedback formal verification results
Event-driven Model Transformations in Domain-specific Modeling Languages
Breathe Life Into Your IDE
On the Semantics of Real-Time Domain Specific Modeling Languages
xUMLFinalPresentation.ppt
From MDE to SLE (April 17th, 2015)
Executable modeling & dynamic adaptation
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
Software development... for all? (keynote at ICSOFT'2024)
Architecting Domain-Specific Languages
Executable UML Roadmap (as of September 2014)
Model-Based Systems Engineering Demystified
Ardu robotml
Comparison of the Formal Specification Languages Based Upon Various Parameters
Ad

More from Benoit Combemale (12)

PDF
When Scientific Software Meets (Model-Driven) Software Engineering
PDF
Table ronde: les sciences du logiciel au croisement des autres sciences
PDF
SLE Most Influential Paper (MIP) Awards 2018 and 2019
PDF
Smart Modeling: On the Convergence of Scientific and Engineering Models
PDF
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
PDF
Modeling For Sustainability: Or How to Make Smart CPS Smarter?
PDF
Introduction of the SLE'17 conference
PDF
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
PDF
Executable Metamodeling for Model V&V (May 25th, 2010)
PDF
Formally Defining and Iterating Infinite Models (MODELS 2012)
PDF
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
PDF
A Journey Through MDE, DSL and SLE (July 2nd, 2015)
When Scientific Software Meets (Model-Driven) Software Engineering
Table ronde: les sciences du logiciel au croisement des autres sciences
SLE Most Influential Paper (MIP) Awards 2018 and 2019
Smart Modeling: On the Convergence of Scientific and Engineering Models
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Introduction of the SLE'17 conference
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
Executable Metamodeling for Model V&V (May 25th, 2010)
Formally Defining and Iterating Infinite Models (MODELS 2012)
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
A Journey Through MDE, DSL and SLE (July 2nd, 2015)

Recently uploaded (20)

PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
ai tools demonstartion for schools and inter college
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Transform Your Business with a Software ERP System
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Design an Analysis of Algorithms II-SECS-1021-03
Navsoft: AI-Powered Business Solutions & Custom Software Development
Operating system designcfffgfgggggggvggggggggg
CHAPTER 2 - PM Management and IT Context
VVF-Customer-Presentation2025-Ver1.9.pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
L1 - Introduction to python Backend.pptx
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
ai tools demonstartion for schools and inter college
Odoo Companies in India – Driving Business Transformation.pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Transform Your Business with a Software ERP System
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Design an Analysis of Algorithms I-SECS-1021-03
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Softaken Excel to vCard Converter Software.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Odoo POS Development Services by CandidRoot Solutions
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Design an Analysis of Algorithms II-SECS-1021-03

Reifying the concurrency concern into xDSML specifications

  • 1. Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/Benoit.Combemale benoit.combemale@irisa.fr @bcombemale Reifying the concurrency concern into xDSML specifications Final workshop of the ANR project GEMOC March 17th, 2016
  • 2. - 2 ArduinoDesigner(&Debugger) https://github.com/gemoc/arduinomodeling Debugging and Concurrent Execution of Heterogeneous Models – GEMOC Workshop (Mar., 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).
  • 3. Reifying Concurrency in xDSML: Limitations - 3 • 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 Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
  • 4. Reifying Concurrency in xDSML: Grand Challenge - 4 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." Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
  • 5. Reifying Concurrency in xDSML: Approach - 5 Kermeta ModHel'X Abstract Syntax (AS) Concrete Syntax (CS) Mas cs Mas sd Semantic Domain (SD) Abstract Syntax (AS) Concrete Syntax (CS) MoC Domain-Specific Actions Mas cs Benoit Combemale, Cécile Hardebolle, Christophe Jacquet, Frédéric Boulanger, Benoit Baudry, "Bridging the Chasm between Executable Metamodeling and Models of Computation," In Software Language Engineering (SLE), 2012. Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
  • 6. Reifying Concurrency in xDSML: Approach - 6 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. Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
  • 7. Reifying Concurrency in xDSML: Approach - 7 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 Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
  • 8. Reifying Concurrency in xDSML: Approach - 8 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 Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
  • 9. Reifying Concurrency in xDSML: Contribution - 9 Model of Concurrency & Communication Domain-Specific Actions Abstract Syntax Domain-Specific Events Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
  • 10. Reifying Concurrency in xDSML: Contribution - 10 Model of Concurrency & Communication Domain-Specific Actions Abstract Syntax Domain-Specific Events 0..* DSAMoCC DSE Concept0..* Concepts (from Las) Execution Function (from Ldsa) Las Event (from Lmoc) Ldsa Ldse Lmocc Event 0..* * * Constraint 0..* 0..* Legend <<dependsOn>> <<conformsTo>> Property type 1Execution State 0..* Execution Function 0..* 0..* EcoreKermetaMoccML GEL/ECL Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
  • 11. (executable) Model (executable) Modeling Language Metamodeling Languages MoccML Kermeta Ecore MoC.lib.moc (MoC) MyDSML .xtend (DSA) MyDSML .ecore (AS) GEL/ECL DSE4MyDSML .gel (MoC<->DSA) aModel MyDSML DSA-AS.jar MyDSML Concurrency Model.mocLegend code generation <<dependsOn>> <<conformsTo>> Reifying Concurrency in xDSML: Contribution - 11Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
  • 12. TheGEMOCStudio - 12 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 Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
  • 13. - 13 ActivityDiagramDebugger https://github.com/gemoc/activitydiagram Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
  • 14. Coping with Semantic Variation Points - 14 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. Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)