SlideShare a Scribd company logo
1 of 36
Download to read offline
Coping with Semantic Variation Points in
Domain-Specific Modeling Languages
1st International Workshop on Executable Modeling (EXE 2015)
MODELS 2015 Workshops
Florent Latombe1
Xavier Cr´egut1
Julien De Antoni2
Marc Pantel1
Benoˆıt Combemale3
1
University of Toulouse, IRIT, Toulouse, France
first.last@irit.fr
2
Univ. Nice Sophia Antipolis, CNRS, I3S, Inria, Sophia Antipolis, France
first.last@polytech.unice.fr
3
University of Rennes I, IRISA, Inria, Rennes, France
first.last@irisa.fr
2015/09/27
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Table of contents
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 2/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Context: xDSMLs
Semantic Variation Points
Overview
Introduction
Context: xDSMLs
Semantic Variation Points
Concurrency and SVPs
Implementing SVPs
Conclusion
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 3/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Context: xDSMLs
Semantic Variation Points
eXecutable Domain-Specific Modeling Languages
(xDSMLs)
Modern systems: Too big to be addressed only as a whole.
Domain-Specific Languages (DSLs) capitalize domain knowledge
(security, fault tolerance, etc.) as language constructs.
Modeling Languages (MLs) provide user-friendly abstractions for
domain experts.
eXecutable DSMLs ease the design, verification and validation of modern
systems.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 4/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Context: xDSMLs
Semantic Variation Points
Overview
Introduction
Context: xDSMLs
Semantic Variation Points
Concurrency and SVPs
Implementing SVPs
Conclusion
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 5/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Context: xDSMLs
Semantic Variation Points
Semantic Variation Points
Semantic Variation Point (SVP) language specification part left intentionally
under-specified to allow further language adaptation. Usually dealt with:
Further refinement of the specification (e.g., stereotypes or profiles in
UML).
Arbitrary choices in the implementation (e.g., multithreaded programs in
CPython or Jython, fUML, etc.).
Tool vendors responsible for specifying and documenting the
implemented solution.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 6/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Context: xDSMLs
Semantic Variation Points
Example: priorities of conflicting transitions in
Statecharts
Figure 1: Simple music player statechart.
When Event “StopEvent” occurs in
States “On” and “Playing”.
Original formalism: Transition
from “On” to “Off” is fired.
UML/Rhapsody: Transition from
“Playing” to “Paused” is fired.
Courtesy of the comparative study of the dif-
ferent Statecharts dialects and their SVPs by M.
Crane and J. Dingel [3].
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 7/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Context: xDSMLs
Semantic Variation Points
Vocabulary Clarification
Language: syntax and semantics specification that may contain SVPs.
Dialect: language implementation, making choices about some – possibly
all – its SVPs.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 8/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Context: xDSMLs
Semantic Variation Points
Problem
SVPs usually identified informally in the syntax and semantics
specification documents.
Tools usually only provide one dialect, constraining the end-user.
Complicates cooperation between tools (providing different dialects) and
users (who may assume different meanings for the same syntax).
Hinders cooperation in larger projects using different variants of the
same language that may be better fit for some aspects.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 9/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Context: xDSMLs
Semantic Variation Points
Summary of our Contribution
A concurrent executable metamodeling approach enabling the
specification of Concurrency-aware eXecutable Domain-Specific
Modeling Languages.
Specification of operational semantics that makes explicit the language
concurrency concerns in an adapted formalism based on concurrency
theory.
That allows to explicitly specify and implement xDSML’s SVPs.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 10/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Concurrency-aware xDSMLs
Statechart Example
Overview
Introduction
Concurrency and SVPs
Concurrency-aware xDSMLs
Statechart Example
Implementing SVPs
Conclusion
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 11/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Concurrency-aware xDSMLs
Statechart Example
Designing xDSMLs
Language design
Language AS + SD + M(AS, SD) Where:
Abstract Syntax (AS): concepts and relations between concepts
Semantic Domain (SD): meaningfull existing language
Semantic Mapping (M(AS, SD)): maps concepts from the AS to their
meaning in the SD.
Three main approaches to the Semantic Mapping: Axiomatic, Translational
(incl. Denotational) and Operational.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 12/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Concurrency-aware xDSMLs
Statechart Example
Overview of the GEMOC Approach
Separation of Concerns
(SLE 2013 [2])
Split the Semantic Mapping in:
Semantic Rules: Operational
specification of the model
runtime state evolution.
Concurrency Model: Partial
ordering of abstract actions in a
formalism inspired by
concurrency theory.
Communication Protocol: Relates
abstract actions and Semantic
Rules.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 13/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Concurrency-aware xDSMLs
Statechart Example
Concurrency Model
Called Model of Concurrency
and Communication (MoCC) in
GEMOC.
Focuses on concurrency,
synchronization and the, possibly
timed, causalities between
actions.
Actions are opaque (data
manipulations are abstracted).
Given as an EventType Structure
which builds the Event
Structure [10] for each model
concurrent control flow.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 14/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Concurrency-aware xDSMLs
Statechart Example
Communication Protocol
Relates the Concurrency Model
and the Execution Functions
See Weaving Concurrency in
eXecutable Domain-Specific
Modeling Languages (SLE
2015) [8].
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 15/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Concurrency-aware xDSMLs
Statechart Example
Class Diagram of the concurrent executable
metamodeling approach
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 16/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Concurrency-aware xDSMLs
Statechart Example
Execution
Translation
Model-specific specifications are generated (i.e., Semantic Rules,
Communication Protocol and MoCC all specific to the given model).
Runtime
The Event Structure (MoCC at the model level) gives a partial ordering
over abstract events.
Abstracts all the possible model executions paths (including all
interleavings of concurrent events).
Event occurrences are mapped to model runtime state changes by the
Communication Protocol.
Nondeterministic situations are resolved by runtime heuristics.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 17/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Concurrency-aware xDSMLs
Statechart Example
Overview
Introduction
Concurrency and SVPs
Concurrency-aware xDSMLs
Statechart Example
Implementing SVPs
Conclusion
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 18/36
Event Structure for our example model
At the Language Level
Main EventTypes:
Event.et occur,
Transition.et fire
Main constraints: When anEvent
occurs, one of the Transitions it
triggers will be fired.
Event Structure
Nodes
areconfigurations:
Unsorted set of
event occurrences
which occured at
this execution
point.
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Concurrency-aware xDSMLs
Statechart Example
Illustration of the Separation of Concerns at the
model level
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 20/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
SVPs and Concurrency Models
Example: Statecharts
Overview
Introduction
Concurrency and SVPs
Implementing SVPs
SVPs and Concurrency Models
Example: Statecharts
Conclusion
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 21/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
SVPs and Concurrency Models
Example: Statecharts
Event Structures and SVPs
Nondeterminism in Event Structures gives potential SVPs.
SVPs can be implemented by constraining the Event Structure partial
ordering.
Done at the language level in the EventType Structure.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 22/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
SVPs and Concurrency Models
Example: Statecharts
Overview
Introduction
Concurrency and SVPs
Implementing SVPs
SVPs and Concurrency Models
Example: Statecharts
Conclusion
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 23/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
SVPs and Concurrency Models
Example: Statecharts
Example: Conflicting Transitions SVP
Main Idea
Most of the concurrency concerns are shared by Statecharts dialects.
Statecharts MoCC specifies the superset of possible partial orderings.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 24/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
SVPs and Concurrency Models
Example: Statecharts
Example: Conflicting Transitions SVP (2)
SVP Implementations
Dialects extend the common MoCC to restrict partial orderings.
Removes On2Of for UML/Rhapsody dialects, and Playing2Paused for
Original dialect.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 25/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
Overview
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 26/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
Implementation
GEMOC Studio1
implementation based EMF [7].
Abstract Syntax: Ecore (EMF implementation of EMOF [9]).
Semantic Rules: Kermeta 3 [6] (based on Xtend [1]).
Concurrency Model: MoCCML [4] and ECL [5].
Communication Protocol: Gemoc Events Language (GEL) [8].
1http://www.gemoc.org/studio
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 27/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
Overview
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 28/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
Overview of our contribution
SVPs are usually poorly identified in language specifications.
GEMOC concurrent executable metamodeling approach, based on Event
Structure for the Concurrency Model of concurrency-aware xDSMLs
provides potential SVPs as nondeterministic situations.
Restricting the partial ordering defined in the Concurrency Model
implements SVPs.
SVP implementations are weaved in the language definition, allowing the
execution tool to remain independent from any arbitrary choice.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 29/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
Overview
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 30/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
Perspectives
Distinguish wanted nondeterminism from potential SVPs (forbid
restrictions).
Other kind of SVPs using Semantic Rules and/or Communication
Protocol.
Integration with SVPs at the syntax level, both abstract and concrete.
Experiment the use of variability management techniques to handle
dialects.
Acknowledgement
This work is partially supported by the ANR INS Project GEMOC
(ANR-12-INSE-0011).
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 31/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
Overview
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 32/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
Thank you for your attention.
Questions?
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 33/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
References I
L. Bettini.
Implementing Domain-Specific Languages with Xtext and Xtend.
Packt Publishing Ltd, 2013.
B. Combemale, J. De Antoni, M. Vara Larsen, F. Mallet, O. Barais,
B. Baudry, and R. France.
Reifying Concurrency for Executable Metamodeling.
In SLE 2013, LNCS. Springer-Verlag.
M. L. Crane and J. Dingel.
UML vs. Classical vs. Rhapsody statecharts: not all models are created
equal.
SoSyM, 2007.
J. De Antoni, P. Issa Diallo, C. Teodorov, J. Champeau, and B. Combemale.
Towards a Meta-Language for the Concurrency Concern in DSLs.
In DATE’15, Mar. 2015.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 34/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
References II
J. De Antoni and F. Mallet.
ECL: the event constraint language, an extension of OCL with events.
Technical report, Inria, 2012.
DIVERSE-team.
Github for K3AL, 2015.
Eclipse Foundation.
EMF homepage, 2015.
F. Latombe, X. Cr´egut, B. Combemale, J. Deantoni, and M. Pantel.
Weaving Concurrency in eXecutable Domain-Specific Modeling
Languages.
In 8th ACM SIGPLAN International Conference on Software Language
Engineering (SLE 2015), Pittsburg, United States, Oct. 2015. ACM.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 35/36
Introduction
Concurrency and SVPs
Implementing SVPs
Conclusion
Implementation
Overview
Perspectives
Questions
References III
OMG.
MOF specification v2.5, 2015.
G. Winskel.
Event structures.
Springer, 1987.
F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 36/36

More Related Content

What's hot

Wrap-up of the ANR project GEMOC
Wrap-up of the ANR project GEMOCWrap-up of the ANR project GEMOC
Wrap-up of the ANR project GEMOCBenoit Combemale
 
Experimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCExperimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCBenoit Combemale
 
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...Marc Pantel
 
Concurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLConcurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLBenoit Combemale
 
Thomas Wolf "Transfer learning in NLP"
Thomas Wolf "Transfer learning in NLP"Thomas Wolf "Transfer learning in NLP"
Thomas Wolf "Transfer learning in NLP"Fwdays
 
A Model-driven Approach for Telecommunications Network Services Definition
A Model-driven Approach for Telecommunications Network Services DefinitionA Model-driven Approach for Telecommunications Network Services Definition
A Model-driven Approach for Telecommunications Network Services DefinitionVanea Chiprianov
 
Reference Scope Identification in Citing Sentences
Reference Scope Identification in Citing SentencesReference Scope Identification in Citing Sentences
Reference Scope Identification in Citing SentencesAkihiro Kameda
 
8. Qun Liu (DCU) Hybrid Solutions for Translation
8. Qun Liu (DCU) Hybrid Solutions for Translation8. Qun Liu (DCU) Hybrid Solutions for Translation
8. Qun Liu (DCU) Hybrid Solutions for TranslationRIILP
 
Notes on attention mechanism
Notes on attention mechanismNotes on attention mechanism
Notes on attention mechanismKhang Pham
 
BERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from TransformersBERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from TransformersLiangqun Lu
 
Obtaining Natural Language Descriptions of Process Specifications
Obtaining Natural Language Descriptions of Process SpecificationsObtaining Natural Language Descriptions of Process Specifications
Obtaining Natural Language Descriptions of Process SpecificationsManuel Blechschmidt
 
Tiancheng Zhao - 2017 - Learning Discourse-level Diversity for Neural Dialog...
Tiancheng Zhao - 2017 -  Learning Discourse-level Diversity for Neural Dialog...Tiancheng Zhao - 2017 -  Learning Discourse-level Diversity for Neural Dialog...
Tiancheng Zhao - 2017 - Learning Discourse-level Diversity for Neural Dialog...Association for Computational Linguistics
 
Arabic Phoneme Recognition using Hierarchical Neural Fuzzy Petri Net and LPC ...
Arabic Phoneme Recognition using Hierarchical Neural Fuzzy Petri Net and LPC ...Arabic Phoneme Recognition using Hierarchical Neural Fuzzy Petri Net and LPC ...
Arabic Phoneme Recognition using Hierarchical Neural Fuzzy Petri Net and LPC ...CSCJournals
 
Contexts for Quantification
Contexts for Quantification Contexts for Quantification
Contexts for Quantification Valeria de Paiva
 

What's hot (20)

Wrap-up of the ANR project GEMOC
Wrap-up of the ANR project GEMOCWrap-up of the ANR project GEMOC
Wrap-up of the ANR project GEMOC
 
Experimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCExperimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOC
 
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of ...
 
Concurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLConcurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCML
 
Thomas Wolf "Transfer learning in NLP"
Thomas Wolf "Transfer learning in NLP"Thomas Wolf "Transfer learning in NLP"
Thomas Wolf "Transfer learning in NLP"
 
A Model-driven Approach for Telecommunications Network Services Definition
A Model-driven Approach for Telecommunications Network Services DefinitionA Model-driven Approach for Telecommunications Network Services Definition
A Model-driven Approach for Telecommunications Network Services Definition
 
Reference Scope Identification in Citing Sentences
Reference Scope Identification in Citing SentencesReference Scope Identification in Citing Sentences
Reference Scope Identification in Citing Sentences
 
8. Qun Liu (DCU) Hybrid Solutions for Translation
8. Qun Liu (DCU) Hybrid Solutions for Translation8. Qun Liu (DCU) Hybrid Solutions for Translation
8. Qun Liu (DCU) Hybrid Solutions for Translation
 
Notes on attention mechanism
Notes on attention mechanismNotes on attention mechanism
Notes on attention mechanism
 
[Paper review] BERT
[Paper review] BERT[Paper review] BERT
[Paper review] BERT
 
Smt in-a-few-slides
Smt in-a-few-slidesSmt in-a-few-slides
Smt in-a-few-slides
 
BERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from TransformersBERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from Transformers
 
Obtaining Natural Language Descriptions of Process Specifications
Obtaining Natural Language Descriptions of Process SpecificationsObtaining Natural Language Descriptions of Process Specifications
Obtaining Natural Language Descriptions of Process Specifications
 
Generic Programming
Generic ProgrammingGeneric Programming
Generic Programming
 
SYNTAX AND SEMANTICS FOR CINNAMON PROGRAMMING
SYNTAX AND SEMANTICS FOR CINNAMON PROGRAMMINGSYNTAX AND SEMANTICS FOR CINNAMON PROGRAMMING
SYNTAX AND SEMANTICS FOR CINNAMON PROGRAMMING
 
BERT
BERTBERT
BERT
 
Tiancheng Zhao - 2017 - Learning Discourse-level Diversity for Neural Dialog...
Tiancheng Zhao - 2017 -  Learning Discourse-level Diversity for Neural Dialog...Tiancheng Zhao - 2017 -  Learning Discourse-level Diversity for Neural Dialog...
Tiancheng Zhao - 2017 - Learning Discourse-level Diversity for Neural Dialog...
 
Session6 01.helmut schmid
Session6 01.helmut schmidSession6 01.helmut schmid
Session6 01.helmut schmid
 
Arabic Phoneme Recognition using Hierarchical Neural Fuzzy Petri Net and LPC ...
Arabic Phoneme Recognition using Hierarchical Neural Fuzzy Petri Net and LPC ...Arabic Phoneme Recognition using Hierarchical Neural Fuzzy Petri Net and LPC ...
Arabic Phoneme Recognition using Hierarchical Neural Fuzzy Petri Net and LPC ...
 
Contexts for Quantification
Contexts for Quantification Contexts for Quantification
Contexts for Quantification
 

Similar to Coping with Semantic Variation Points in Domain-Specific Modeling Languages

An Approach To Verilog-VHDL Interoperability For Synchronous Designs
An Approach To Verilog-VHDL Interoperability For Synchronous DesignsAn Approach To Verilog-VHDL Interoperability For Synchronous Designs
An Approach To Verilog-VHDL Interoperability For Synchronous DesignsDawn Cook
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDEBenoit Combemale
 
2-Chapter Two-N-gram Language Models.ppt
2-Chapter Two-N-gram Language Models.ppt2-Chapter Two-N-gram Language Models.ppt
2-Chapter Two-N-gram Language Models.pptmilkesa13
 
13. Constantin Orasan (UoW) Natural Language Processing for Translation
13. Constantin Orasan (UoW) Natural Language Processing for Translation13. Constantin Orasan (UoW) Natural Language Processing for Translation
13. Constantin Orasan (UoW) Natural Language Processing for TranslationRIILP
 
A survey on parallel corpora alignment
A survey on parallel corpora alignment A survey on parallel corpora alignment
A survey on parallel corpora alignment andrefsantos
 
A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...
A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...
A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...iyo
 
Pangeanic Cor-ActivaTM-Neural machine translation Taus Tokyo 2017
Pangeanic Cor-ActivaTM-Neural machine translation Taus Tokyo 2017Pangeanic Cor-ActivaTM-Neural machine translation Taus Tokyo 2017
Pangeanic Cor-ActivaTM-Neural machine translation Taus Tokyo 2017Manuel Herranz
 
From MDE to SLE (April 17th, 2015)
From MDE to SLE (April 17th, 2015)From MDE to SLE (April 17th, 2015)
From MDE to SLE (April 17th, 2015)Benoit Combemale
 
On the Globalization of Modeling Languages (June 8th, 2015)
On the Globalization of Modeling Languages (June 8th, 2015)On the Globalization of Modeling Languages (June 8th, 2015)
On the Globalization of Modeling Languages (June 8th, 2015)Benoit Combemale
 
Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC StudioBenoit Combemale
 
End-to-End Joint Learning of Natural Language Understanding and Dialogue Manager
End-to-End Joint Learning of Natural Language Understanding and Dialogue ManagerEnd-to-End Joint Learning of Natural Language Understanding and Dialogue Manager
End-to-End Joint Learning of Natural Language Understanding and Dialogue ManagerYun-Nung (Vivian) Chen
 
ESR11 Hoang Cuong - EXPERT Summer School - Malaga 2015
ESR11 Hoang Cuong - EXPERT Summer School - Malaga 2015ESR11 Hoang Cuong - EXPERT Summer School - Malaga 2015
ESR11 Hoang Cuong - EXPERT Summer School - Malaga 2015RIILP
 
An expert system for automatic reading of a text written in standard arabic
An expert system for automatic reading of a text written in standard arabicAn expert system for automatic reading of a text written in standard arabic
An expert system for automatic reading of a text written in standard arabicijnlc
 
Lectura 3.5 word normalizationintwitter finitestate_transducers
Lectura 3.5 word normalizationintwitter finitestate_transducersLectura 3.5 word normalizationintwitter finitestate_transducers
Lectura 3.5 word normalizationintwitter finitestate_transducersMatias Menendez
 
Multilingual Text Classification using Ontologies
Multilingual Text Classification using OntologiesMultilingual Text Classification using Ontologies
Multilingual Text Classification using OntologiesGerard de Melo
 
Labelled Variables in Logic Programming: A First Prototipe in tuProlog
Labelled Variables in Logic Programming: A First Prototipe in tuPrologLabelled Variables in Logic Programming: A First Prototipe in tuProlog
Labelled Variables in Logic Programming: A First Prototipe in tuPrologRoberta Calegari
 
Acceptance Testing Of A Spoken Language Translation System
Acceptance Testing Of A Spoken Language Translation SystemAcceptance Testing Of A Spoken Language Translation System
Acceptance Testing Of A Spoken Language Translation SystemMichele Thomas
 
Object Oriented Programming Implementation of Scalar, Vector, and Tensor Vari...
Object Oriented Programming Implementation of Scalar, Vector, and Tensor Vari...Object Oriented Programming Implementation of Scalar, Vector, and Tensor Vari...
Object Oriented Programming Implementation of Scalar, Vector, and Tensor Vari...LLGYeo
 

Similar to Coping with Semantic Variation Points in Domain-Specific Modeling Languages (20)

Plug play language_models
Plug play language_modelsPlug play language_models
Plug play language_models
 
Mjfg now
Mjfg nowMjfg now
Mjfg now
 
An Approach To Verilog-VHDL Interoperability For Synchronous Designs
An Approach To Verilog-VHDL Interoperability For Synchronous DesignsAn Approach To Verilog-VHDL Interoperability For Synchronous Designs
An Approach To Verilog-VHDL Interoperability For Synchronous Designs
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDE
 
2-Chapter Two-N-gram Language Models.ppt
2-Chapter Two-N-gram Language Models.ppt2-Chapter Two-N-gram Language Models.ppt
2-Chapter Two-N-gram Language Models.ppt
 
13. Constantin Orasan (UoW) Natural Language Processing for Translation
13. Constantin Orasan (UoW) Natural Language Processing for Translation13. Constantin Orasan (UoW) Natural Language Processing for Translation
13. Constantin Orasan (UoW) Natural Language Processing for Translation
 
A survey on parallel corpora alignment
A survey on parallel corpora alignment A survey on parallel corpora alignment
A survey on parallel corpora alignment
 
A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...
A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...
A Study Of Statistical Models For Query Translation :Finding A Good Unit Of T...
 
Pangeanic Cor-ActivaTM-Neural machine translation Taus Tokyo 2017
Pangeanic Cor-ActivaTM-Neural machine translation Taus Tokyo 2017Pangeanic Cor-ActivaTM-Neural machine translation Taus Tokyo 2017
Pangeanic Cor-ActivaTM-Neural machine translation Taus Tokyo 2017
 
From MDE to SLE (April 17th, 2015)
From MDE to SLE (April 17th, 2015)From MDE to SLE (April 17th, 2015)
From MDE to SLE (April 17th, 2015)
 
On the Globalization of Modeling Languages (June 8th, 2015)
On the Globalization of Modeling Languages (June 8th, 2015)On the Globalization of Modeling Languages (June 8th, 2015)
On the Globalization of Modeling Languages (June 8th, 2015)
 
Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC Studio
 
End-to-End Joint Learning of Natural Language Understanding and Dialogue Manager
End-to-End Joint Learning of Natural Language Understanding and Dialogue ManagerEnd-to-End Joint Learning of Natural Language Understanding and Dialogue Manager
End-to-End Joint Learning of Natural Language Understanding and Dialogue Manager
 
ESR11 Hoang Cuong - EXPERT Summer School - Malaga 2015
ESR11 Hoang Cuong - EXPERT Summer School - Malaga 2015ESR11 Hoang Cuong - EXPERT Summer School - Malaga 2015
ESR11 Hoang Cuong - EXPERT Summer School - Malaga 2015
 
An expert system for automatic reading of a text written in standard arabic
An expert system for automatic reading of a text written in standard arabicAn expert system for automatic reading of a text written in standard arabic
An expert system for automatic reading of a text written in standard arabic
 
Lectura 3.5 word normalizationintwitter finitestate_transducers
Lectura 3.5 word normalizationintwitter finitestate_transducersLectura 3.5 word normalizationintwitter finitestate_transducers
Lectura 3.5 word normalizationintwitter finitestate_transducers
 
Multilingual Text Classification using Ontologies
Multilingual Text Classification using OntologiesMultilingual Text Classification using Ontologies
Multilingual Text Classification using Ontologies
 
Labelled Variables in Logic Programming: A First Prototipe in tuProlog
Labelled Variables in Logic Programming: A First Prototipe in tuPrologLabelled Variables in Logic Programming: A First Prototipe in tuProlog
Labelled Variables in Logic Programming: A First Prototipe in tuProlog
 
Acceptance Testing Of A Spoken Language Translation System
Acceptance Testing Of A Spoken Language Translation SystemAcceptance Testing Of A Spoken Language Translation System
Acceptance Testing Of A Spoken Language Translation System
 
Object Oriented Programming Implementation of Scalar, Vector, and Tensor Vari...
Object Oriented Programming Implementation of Scalar, Vector, and Tensor Vari...Object Oriented Programming Implementation of Scalar, Vector, and Tensor Vari...
Object Oriented Programming Implementation of Scalar, Vector, and Tensor Vari...
 

Recently uploaded

Module for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learningModule for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learninglevieagacer
 
FAIRSpectra - Enabling the FAIRification of Analytical Science
FAIRSpectra - Enabling the FAIRification of Analytical ScienceFAIRSpectra - Enabling the FAIRification of Analytical Science
FAIRSpectra - Enabling the FAIRification of Analytical ScienceAlex Henderson
 
Grade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsGrade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsOrtegaSyrineMay
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPirithiRaju
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryAlex Henderson
 
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRLKochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRLkantirani197
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000Sapana Sha
 
chemical bonding Essentials of Physical Chemistry2.pdf
chemical bonding Essentials of Physical Chemistry2.pdfchemical bonding Essentials of Physical Chemistry2.pdf
chemical bonding Essentials of Physical Chemistry2.pdfTukamushabaBismark
 
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate ProfessorThyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate Professormuralinath2
 
Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Silpa
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfrohankumarsinghrore1
 
pumpkin fruit fly, water melon fruit fly, cucumber fruit fly
pumpkin fruit fly, water melon fruit fly, cucumber fruit flypumpkin fruit fly, water melon fruit fly, cucumber fruit fly
pumpkin fruit fly, water melon fruit fly, cucumber fruit flyPRADYUMMAURYA1
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPirithiRaju
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformationAreesha Ahmad
 
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑Damini Dixit
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and ClassificationsAreesha Ahmad
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)Areesha Ahmad
 
GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)Areesha Ahmad
 
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICESAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICEayushi9330
 

Recently uploaded (20)

Module for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learningModule for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learning
 
FAIRSpectra - Enabling the FAIRification of Analytical Science
FAIRSpectra - Enabling the FAIRification of Analytical ScienceFAIRSpectra - Enabling the FAIRification of Analytical Science
FAIRSpectra - Enabling the FAIRification of Analytical Science
 
Grade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsGrade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its Functions
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
 
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRLKochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
Kochi ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Kochi ESCORT SERVICE❤CALL GIRL
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
chemical bonding Essentials of Physical Chemistry2.pdf
chemical bonding Essentials of Physical Chemistry2.pdfchemical bonding Essentials of Physical Chemistry2.pdf
chemical bonding Essentials of Physical Chemistry2.pdf
 
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate ProfessorThyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
 
Clean In Place(CIP).pptx .
Clean In Place(CIP).pptx                 .Clean In Place(CIP).pptx                 .
Clean In Place(CIP).pptx .
 
Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
pumpkin fruit fly, water melon fruit fly, cucumber fruit fly
pumpkin fruit fly, water melon fruit fly, cucumber fruit flypumpkin fruit fly, water melon fruit fly, cucumber fruit fly
pumpkin fruit fly, water melon fruit fly, cucumber fruit fly
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
 
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)
 
GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)
 
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICESAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
 

Coping with Semantic Variation Points in Domain-Specific Modeling Languages

  • 1. Coping with Semantic Variation Points in Domain-Specific Modeling Languages 1st International Workshop on Executable Modeling (EXE 2015) MODELS 2015 Workshops Florent Latombe1 Xavier Cr´egut1 Julien De Antoni2 Marc Pantel1 Benoˆıt Combemale3 1 University of Toulouse, IRIT, Toulouse, France first.last@irit.fr 2 Univ. Nice Sophia Antipolis, CNRS, I3S, Inria, Sophia Antipolis, France first.last@polytech.unice.fr 3 University of Rennes I, IRISA, Inria, Rennes, France first.last@irisa.fr 2015/09/27
  • 2. Introduction Concurrency and SVPs Implementing SVPs Conclusion Table of contents Introduction Concurrency and SVPs Implementing SVPs Conclusion F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 2/36
  • 3. Introduction Concurrency and SVPs Implementing SVPs Conclusion Context: xDSMLs Semantic Variation Points Overview Introduction Context: xDSMLs Semantic Variation Points Concurrency and SVPs Implementing SVPs Conclusion F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 3/36
  • 4. Introduction Concurrency and SVPs Implementing SVPs Conclusion Context: xDSMLs Semantic Variation Points eXecutable Domain-Specific Modeling Languages (xDSMLs) Modern systems: Too big to be addressed only as a whole. Domain-Specific Languages (DSLs) capitalize domain knowledge (security, fault tolerance, etc.) as language constructs. Modeling Languages (MLs) provide user-friendly abstractions for domain experts. eXecutable DSMLs ease the design, verification and validation of modern systems. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 4/36
  • 5. Introduction Concurrency and SVPs Implementing SVPs Conclusion Context: xDSMLs Semantic Variation Points Overview Introduction Context: xDSMLs Semantic Variation Points Concurrency and SVPs Implementing SVPs Conclusion F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 5/36
  • 6. Introduction Concurrency and SVPs Implementing SVPs Conclusion Context: xDSMLs Semantic Variation Points Semantic Variation Points Semantic Variation Point (SVP) language specification part left intentionally under-specified to allow further language adaptation. Usually dealt with: Further refinement of the specification (e.g., stereotypes or profiles in UML). Arbitrary choices in the implementation (e.g., multithreaded programs in CPython or Jython, fUML, etc.). Tool vendors responsible for specifying and documenting the implemented solution. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 6/36
  • 7. Introduction Concurrency and SVPs Implementing SVPs Conclusion Context: xDSMLs Semantic Variation Points Example: priorities of conflicting transitions in Statecharts Figure 1: Simple music player statechart. When Event “StopEvent” occurs in States “On” and “Playing”. Original formalism: Transition from “On” to “Off” is fired. UML/Rhapsody: Transition from “Playing” to “Paused” is fired. Courtesy of the comparative study of the dif- ferent Statecharts dialects and their SVPs by M. Crane and J. Dingel [3]. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 7/36
  • 8. Introduction Concurrency and SVPs Implementing SVPs Conclusion Context: xDSMLs Semantic Variation Points Vocabulary Clarification Language: syntax and semantics specification that may contain SVPs. Dialect: language implementation, making choices about some – possibly all – its SVPs. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 8/36
  • 9. Introduction Concurrency and SVPs Implementing SVPs Conclusion Context: xDSMLs Semantic Variation Points Problem SVPs usually identified informally in the syntax and semantics specification documents. Tools usually only provide one dialect, constraining the end-user. Complicates cooperation between tools (providing different dialects) and users (who may assume different meanings for the same syntax). Hinders cooperation in larger projects using different variants of the same language that may be better fit for some aspects. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 9/36
  • 10. Introduction Concurrency and SVPs Implementing SVPs Conclusion Context: xDSMLs Semantic Variation Points Summary of our Contribution A concurrent executable metamodeling approach enabling the specification of Concurrency-aware eXecutable Domain-Specific Modeling Languages. Specification of operational semantics that makes explicit the language concurrency concerns in an adapted formalism based on concurrency theory. That allows to explicitly specify and implement xDSML’s SVPs. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 10/36
  • 11. Introduction Concurrency and SVPs Implementing SVPs Conclusion Concurrency-aware xDSMLs Statechart Example Overview Introduction Concurrency and SVPs Concurrency-aware xDSMLs Statechart Example Implementing SVPs Conclusion F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 11/36
  • 12. Introduction Concurrency and SVPs Implementing SVPs Conclusion Concurrency-aware xDSMLs Statechart Example Designing xDSMLs Language design Language AS + SD + M(AS, SD) Where: Abstract Syntax (AS): concepts and relations between concepts Semantic Domain (SD): meaningfull existing language Semantic Mapping (M(AS, SD)): maps concepts from the AS to their meaning in the SD. Three main approaches to the Semantic Mapping: Axiomatic, Translational (incl. Denotational) and Operational. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 12/36
  • 13. Introduction Concurrency and SVPs Implementing SVPs Conclusion Concurrency-aware xDSMLs Statechart Example Overview of the GEMOC Approach Separation of Concerns (SLE 2013 [2]) Split the Semantic Mapping in: Semantic Rules: Operational specification of the model runtime state evolution. Concurrency Model: Partial ordering of abstract actions in a formalism inspired by concurrency theory. Communication Protocol: Relates abstract actions and Semantic Rules. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 13/36
  • 14. Introduction Concurrency and SVPs Implementing SVPs Conclusion Concurrency-aware xDSMLs Statechart Example Concurrency Model Called Model of Concurrency and Communication (MoCC) in GEMOC. Focuses on concurrency, synchronization and the, possibly timed, causalities between actions. Actions are opaque (data manipulations are abstracted). Given as an EventType Structure which builds the Event Structure [10] for each model concurrent control flow. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 14/36
  • 15. Introduction Concurrency and SVPs Implementing SVPs Conclusion Concurrency-aware xDSMLs Statechart Example Communication Protocol Relates the Concurrency Model and the Execution Functions See Weaving Concurrency in eXecutable Domain-Specific Modeling Languages (SLE 2015) [8]. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 15/36
  • 16. Introduction Concurrency and SVPs Implementing SVPs Conclusion Concurrency-aware xDSMLs Statechart Example Class Diagram of the concurrent executable metamodeling approach F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 16/36
  • 17. Introduction Concurrency and SVPs Implementing SVPs Conclusion Concurrency-aware xDSMLs Statechart Example Execution Translation Model-specific specifications are generated (i.e., Semantic Rules, Communication Protocol and MoCC all specific to the given model). Runtime The Event Structure (MoCC at the model level) gives a partial ordering over abstract events. Abstracts all the possible model executions paths (including all interleavings of concurrent events). Event occurrences are mapped to model runtime state changes by the Communication Protocol. Nondeterministic situations are resolved by runtime heuristics. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 17/36
  • 18. Introduction Concurrency and SVPs Implementing SVPs Conclusion Concurrency-aware xDSMLs Statechart Example Overview Introduction Concurrency and SVPs Concurrency-aware xDSMLs Statechart Example Implementing SVPs Conclusion F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 18/36
  • 19. Event Structure for our example model At the Language Level Main EventTypes: Event.et occur, Transition.et fire Main constraints: When anEvent occurs, one of the Transitions it triggers will be fired. Event Structure Nodes areconfigurations: Unsorted set of event occurrences which occured at this execution point.
  • 20. Introduction Concurrency and SVPs Implementing SVPs Conclusion Concurrency-aware xDSMLs Statechart Example Illustration of the Separation of Concerns at the model level F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 20/36
  • 21. Introduction Concurrency and SVPs Implementing SVPs Conclusion SVPs and Concurrency Models Example: Statecharts Overview Introduction Concurrency and SVPs Implementing SVPs SVPs and Concurrency Models Example: Statecharts Conclusion F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 21/36
  • 22. Introduction Concurrency and SVPs Implementing SVPs Conclusion SVPs and Concurrency Models Example: Statecharts Event Structures and SVPs Nondeterminism in Event Structures gives potential SVPs. SVPs can be implemented by constraining the Event Structure partial ordering. Done at the language level in the EventType Structure. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 22/36
  • 23. Introduction Concurrency and SVPs Implementing SVPs Conclusion SVPs and Concurrency Models Example: Statecharts Overview Introduction Concurrency and SVPs Implementing SVPs SVPs and Concurrency Models Example: Statecharts Conclusion F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 23/36
  • 24. Introduction Concurrency and SVPs Implementing SVPs Conclusion SVPs and Concurrency Models Example: Statecharts Example: Conflicting Transitions SVP Main Idea Most of the concurrency concerns are shared by Statecharts dialects. Statecharts MoCC specifies the superset of possible partial orderings. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 24/36
  • 25. Introduction Concurrency and SVPs Implementing SVPs Conclusion SVPs and Concurrency Models Example: Statecharts Example: Conflicting Transitions SVP (2) SVP Implementations Dialects extend the common MoCC to restrict partial orderings. Removes On2Of for UML/Rhapsody dialects, and Playing2Paused for Original dialect. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 25/36
  • 26. Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions Overview Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 26/36
  • 27. Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions Implementation GEMOC Studio1 implementation based EMF [7]. Abstract Syntax: Ecore (EMF implementation of EMOF [9]). Semantic Rules: Kermeta 3 [6] (based on Xtend [1]). Concurrency Model: MoCCML [4] and ECL [5]. Communication Protocol: Gemoc Events Language (GEL) [8]. 1http://www.gemoc.org/studio F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 27/36
  • 28. Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions Overview Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 28/36
  • 29. Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions Overview of our contribution SVPs are usually poorly identified in language specifications. GEMOC concurrent executable metamodeling approach, based on Event Structure for the Concurrency Model of concurrency-aware xDSMLs provides potential SVPs as nondeterministic situations. Restricting the partial ordering defined in the Concurrency Model implements SVPs. SVP implementations are weaved in the language definition, allowing the execution tool to remain independent from any arbitrary choice. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 29/36
  • 30. Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions Overview Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 30/36
  • 31. Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions Perspectives Distinguish wanted nondeterminism from potential SVPs (forbid restrictions). Other kind of SVPs using Semantic Rules and/or Communication Protocol. Integration with SVPs at the syntax level, both abstract and concrete. Experiment the use of variability management techniques to handle dialects. Acknowledgement This work is partially supported by the ANR INS Project GEMOC (ANR-12-INSE-0011). F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 31/36
  • 32. Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions Overview Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 32/36
  • 33. Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions Thank you for your attention. Questions? F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 33/36
  • 34. Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions References I L. Bettini. Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing Ltd, 2013. B. Combemale, J. De Antoni, M. Vara Larsen, F. Mallet, O. Barais, B. Baudry, and R. France. Reifying Concurrency for Executable Metamodeling. In SLE 2013, LNCS. Springer-Verlag. M. L. Crane and J. Dingel. UML vs. Classical vs. Rhapsody statecharts: not all models are created equal. SoSyM, 2007. J. De Antoni, P. Issa Diallo, C. Teodorov, J. Champeau, and B. Combemale. Towards a Meta-Language for the Concurrency Concern in DSLs. In DATE’15, Mar. 2015. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 34/36
  • 35. Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions References II J. De Antoni and F. Mallet. ECL: the event constraint language, an extension of OCL with events. Technical report, Inria, 2012. DIVERSE-team. Github for K3AL, 2015. Eclipse Foundation. EMF homepage, 2015. F. Latombe, X. Cr´egut, B. Combemale, J. Deantoni, and M. Pantel. Weaving Concurrency in eXecutable Domain-Specific Modeling Languages. In 8th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2015), Pittsburg, United States, Oct. 2015. ACM. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 35/36
  • 36. Introduction Concurrency and SVPs Implementing SVPs Conclusion Implementation Overview Perspectives Questions References III OMG. MOF specification v2.5, 2015. G. Winskel. Event structures. Springer, 1987. F. Latombe, X. Cr´egut, J. De Antoni, M. Pantel, B. Combemale Coping with Semantic Variation Points in DSMLs 36/36