Reifying the concurrency concern into xDSML specifications
-
Upload
benoit-combemale -
Category
Software
-
view
255 -
download
1
Transcript of Reifying the concurrency concern into xDSML specifications
Benoit Combemale (Inria & Univ. Rennes 1)http://people.irisa.fr/[email protected]@bcombemale
Reifying the concurrency concern into xDSML specificationsFinal workshop of the ANR project GEMOCMarch 17th, 2016
- 2
Arduino Designer (& 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 usualway 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
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, "Bridgingthe Chasm between Executable Metamodeling and Models of Computation," In Software LanguageEngineering (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 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.
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 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
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-SpecificEvents
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-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..*
EcoreKermetaMoccML
GEL/ECL
Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
(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
- 11Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)
The GEMOC Studio
- 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
Activity Diagram Debugger
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 withSemantic Variation Points in Domain-Specific Modeling Languages", In EXE@MoDELS 2015.
Reifying the concurrency concern into xDSML specifications – GEMOC Workshop (Mar., 2016)