SlideShare a Scribd company logo
1 of 14
Download to read offline
17/03/2016
1
Joël Champeau (Lab-STICC – ENSTA Bretagne)
Joel.champeau@ensta-bretagne.fr
Concurrency reification in the xDSML with
MoCCML
Gemoc Final Workshop, March 17th, 2016
17/03/2016
2
The MoCCML approach
Gemoc Final Workshop - 2
DSE
17/03/2016
3
import 'platform:/resource/org.gemoc.sigpmldomain/model/sigpmldomain.ecore'
--import './sigpmldomain.ecore'
ECLimport "platform:/resource/org.gemoc.sigpmltuto.mocc/mocc/SigpmlTuto.moccml"
--ECLimport "./xSigpml.moccml"
ECLimport "platform:/plugin/fr.inria.aoste.timesquare.ccslkernel.model/ccsllibrary/kernel.ccslLib"
ECLimport "platform:/plugin/fr.inria.aoste.timesquare.ccslkernel.model/ccsllibrary/CCSL.ccslLib"
package sigpml
context Block
def : execute : Event = self.execute()
context Connector
inv ConnectorComputing:
let capacity : Integer = self.oclAsType(Connector).capacity in
let inRate : Integer = self.itsInputPort.oclAsType(Port).rate in
let outRate : Integer = self.itsOutputPort.oclAsType(Port).rate in
let currentSize : Integer = self.oclAsType(Connector).currentSize in
Relation ConnectorSDF_PAM (
self.itsOutputPort.oclAsType(OutputPort).owner.oclAsType(Block).execute,
self.itsInputPort.oclAsType(InputPor
DSE definition and MoCCML Libraries
Gemoc Final Workshop - 3
Focus on DSE and MoCCML specifications
• Domain Model with Execution Function and Data
• DSE = Event definition on EF
• MoCCML definition = Declarative constraints on events
MoCCML LibraryDSE Definition
Execution Function
Execution Data
17/03/2016
4
DSE declaration
Gemoc Final Workshop - 4
import 'platform:/resource/org.gemoc.sigpmldomain/model/sigpmldomain.ecore'
ECLimport "platform:/resource/org.gemoc.sigpmltuto.mocc/mocc/SigpmlTuto.moccml"
ECLimport "platform:/plugin/fr.inria.aoste.timesquare.ccslkernel.model/ccsllibrary/kernel.ccslLib"
ECLimport "platform:/plugin/fr.inria.aoste.timesquare.ccslkernel.model/ccsllibrary/CCSL.ccslLib"
package sigpml
context Block
def : execute : Event = self.execute()
context Connector
inv ConnectorSynchronization:
Relation Coincides( self.itsOutputPort.oclAsType(OutputPort).owner.oclAsType(Block).execute,
self.itsInputPort.oclAsType(InputPort).owner.oclAsType(Block).execute )
endpackage
17/03/2016
5
DSE declaration
Gemoc Final Workshop - 5
context Block
def : execute : Event = self.execute()
context Connector
inv ConnectorComputing:
let capacity : Integer = self.oclAsType(Connector).capacity in
let inRate : Integer = self.itsInputPort.oclAsType(Port).rate in
let outRate : Integer = self.itsOutputPort.oclAsType(Port).rate in
let currentSize : Integer = self.oclAsType(Connector).currentSize in
Relation MoccSDFLike (
self.itsOutputPort.oclAsType(OutputPort).owner.oclAsType(Block).execute,
self.itsInputPort.oclAsType(InputPort).owner.oclAsType(Block).execute,
capacity,
inRate,
outRate,
currentSize )
endpackage
17/03/2016
6
MoCCML meta-language
Gemoc Final Workshop - 6
MoCCML language
• Declarative language dedicated to concurrency definition
• Clock-based approach
• Formally defined
• MoCCML = Declarative operators and state machine constraints
MoCCML in Gemoc
• Concurrency definition at meta-level
• Constraints the model events
• Enables simulation and state-space analysis
Towards a Meta-Language for Concurrency Concern in DSLs
Julien Deantoni, Papa Issa Diallo, Ciprian Teodorov, Joël Champeau, Benoit Combemale,
In Design, Automation and Test in Europe Conference and Exhibition (DATE 2015), 2015
17/03/2016
7
MoCCML language
Gemoc Final Workshop - 8
MoCCML usage
• Declarative predefined operators in DSE definition
• Reusable and parametric library definitions
17/03/2016
8
MoCCML language
Gemoc Final Workshop - 9
MoCCML state machine intuitive semantics
• Triggers as Clocks
• Guards as Condition expressions on integer variables
• Action as assignment and arithmetic operators on variables
17/03/2016
9
MoCCML language
Gemoc Final Workshop - 10
MoCCML models define
• MoCCML relations as a set of constraints on the model events
• The semantics defines a state space with the associated
value of the events
• The acceptable schedules are a set of steps
step = set of possible occurring events
• Adding MoCCML relation reduces the execution possibilities
17/03/2016
10
MoCCML language
Gemoc Final Workshop - 11
MoCCML metamodel
17/03/2016
11
MoCCML model instantiation
• A MoCCML relation is instantiated for each model element
• The execution model is interpreted by the solver
MoCCML instantiation process
Gemoc Final Workshop - 12
Concurrent
Execution
Engine
EF + ED
EF + ED
EF + ED
EF + ED
17/03/2016
12
Backward DSE Mapping
Gemoc Final Workshop - 13
Feedback Protocol
• How a value returned by an Execution Function influences the decision of
the execution engine?
• For language constructs whose control flow depends on runtime data
available only at runtime (e.g. DecisionNode).
17/03/2016
13
Feedback DSE extension
Gemoc Final Workshop - 14
DSE EvaluateGuard:
upon evaluateGuard
triggers ActivityEdge.EvaluateGuard
returning result
feedback:
[result] => allow MayExecuteTarget
default => allow MayNotExecuteTarget
end
end
Weaving Concurrency in eXecutable Domain-Specific Modeling Languages (Florent Latombe, Xavier
Crégut, Benoît Combemale, Julien Deantoni, Marc Pantel), In 8th ACM SIGPLAN International Conference
on Software Language Engineering (SLE 2015), ACM, 2015.
17/03/2016
14
Concurrency reification in Gemoc
Gemoc Final Workshop - 15
Concurrency specification
• DSE specification including feedback protocol
• MoCCML language
− Textual and graphical syntax
− Declarative operators and state machine relations
• MoCCML relations for architecture model to add constraints
related to the mapping
• Relation instantiation at model level to simulate the xDSML in
the Gemoc Studio (Demo ArduinoDesigner)
• Coupled with a state space analysis tooling as an extension of
the Gemoc Studio (Demo ArduinoDesigner)

More Related Content

What's hot

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
 
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSEXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSBenoit Combemale
 
Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Benoit Combemale
 
Coping with Semantic Variation Points in Domain-Specific Modeling Languages
Coping with Semantic Variation Points in Domain-Specific Modeling LanguagesCoping with Semantic Variation Points in Domain-Specific Modeling Languages
Coping with Semantic Variation Points in Domain-Specific Modeling LanguagesMarc Pantel
 
Mise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
Mise14 @ ICSE1 14 Uncertainty in Bidirectional TransformationsMise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
Mise14 @ ICSE1 14 Uncertainty in Bidirectional TransformationsAlfonso Pierantonio
 
Comparative Analysis of Transformer Based Pre-Trained NLP Models
Comparative Analysis of Transformer Based Pre-Trained NLP ModelsComparative Analysis of Transformer Based Pre-Trained NLP Models
Comparative Analysis of Transformer Based Pre-Trained NLP Modelssaurav singla
 
Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Benoit Combemale
 
The epistemology of programming language paradigms
The epistemology of programming language paradigmsThe epistemology of programming language paradigms
The epistemology of programming language paradigmsFederico Gobbo
 
Extract Package Refactoring in ARIES
Extract Package Refactoring in ARIESExtract Package Refactoring in ARIES
Extract Package Refactoring in ARIESFabio Palomba
 
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...Università degli Studi dell'Aquila
 
Dynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented ModelingDynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented ModelingBenoit Combemale
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and FutureBenoit Combemale
 
QSOUL/Aop
QSOUL/AopQSOUL/Aop
QSOUL/AopESUG
 
A Hybrid Approach to Modeling End-to-End Delay in P2P Networks
A Hybrid Approach to Modeling End-to-End Delay in P2P NetworksA Hybrid Approach to Modeling End-to-End Delay in P2P Networks
A Hybrid Approach to Modeling End-to-End Delay in P2P NetworksAlpen-Adria-Universität
 

What's hot (16)

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 ...
 
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSEXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
 
Unified Parallel C - IK
Unified Parallel C - IKUnified Parallel C - IK
Unified Parallel C - IK
 
Cp3-- A module support tool for C++
Cp3-- A module support tool for C++Cp3-- A module support tool for C++
Cp3-- A module support tool for C++
 
Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)
 
Coping with Semantic Variation Points in Domain-Specific Modeling Languages
Coping with Semantic Variation Points in Domain-Specific Modeling LanguagesCoping with Semantic Variation Points in Domain-Specific Modeling Languages
Coping with Semantic Variation Points in Domain-Specific Modeling Languages
 
Mise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
Mise14 @ ICSE1 14 Uncertainty in Bidirectional TransformationsMise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
Mise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
 
Comparative Analysis of Transformer Based Pre-Trained NLP Models
Comparative Analysis of Transformer Based Pre-Trained NLP ModelsComparative Analysis of Transformer Based Pre-Trained NLP Models
Comparative Analysis of Transformer Based Pre-Trained NLP Models
 
Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)
 
The epistemology of programming language paradigms
The epistemology of programming language paradigmsThe epistemology of programming language paradigms
The epistemology of programming language paradigms
 
Extract Package Refactoring in ARIES
Extract Package Refactoring in ARIESExtract Package Refactoring in ARIES
Extract Package Refactoring in ARIES
 
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
Domain-specific Modeling and Code Generation for Cross-platform Mobile and Io...
 
Dynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented ModelingDynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented Modeling
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and Future
 
QSOUL/Aop
QSOUL/AopQSOUL/Aop
QSOUL/Aop
 
A Hybrid Approach to Modeling End-to-End Delay in P2P Networks
A Hybrid Approach to Modeling End-to-End Delay in P2P NetworksA Hybrid Approach to Modeling End-to-End Delay in P2P Networks
A Hybrid Approach to Modeling End-to-End Delay in P2P Networks
 

Similar to Concurrency reification in the xDSML with MoCCML

Digital twin for ports and terminals schuett slideshare
Digital twin for ports and terminals schuett slideshareDigital twin for ports and terminals schuett slideshare
Digital twin for ports and terminals schuett slideshareHolger Schuett
 
Cloud Operations with Streaming Analytics using Apache NiFi and Apache Flink
Cloud Operations with Streaming Analytics using Apache NiFi and Apache FlinkCloud Operations with Streaming Analytics using Apache NiFi and Apache Flink
Cloud Operations with Streaming Analytics using Apache NiFi and Apache FlinkDataWorks Summit
 
Cloud operations with streaming analytics using big data tools
Cloud operations with streaming analytics using big data toolsCloud operations with streaming analytics using big data tools
Cloud operations with streaming analytics using big data toolsMiguel Pérez Colino
 
Lean&Mean Terminal Design benefits from advanced modelling (Terminal Operator...
Lean&Mean Terminal Design benefits from advanced modelling (Terminal Operator...Lean&Mean Terminal Design benefits from advanced modelling (Terminal Operator...
Lean&Mean Terminal Design benefits from advanced modelling (Terminal Operator...Yvo Saanen
 
Präsentation, Dook Noij (IHEC), ESCom developments, 18. April 2018
Präsentation, Dook Noij (IHEC), ESCom developments, 18. April 2018Präsentation, Dook Noij (IHEC), ESCom developments, 18. April 2018
Präsentation, Dook Noij (IHEC), ESCom developments, 18. April 2018BDI
 
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...
Lean Model-Driven Development through  Model-Interpretation: the CPAL design ...Lean Model-Driven Development through  Model-Interpretation: the CPAL design ...
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...Nicolas Navet
 
Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioBenoit Combemale
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDEBenoit Combemale
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!melbats
 
Integrating Performance Modeling in Industrial Automation through AutomationM...
Integrating Performance Modeling in Industrial Automation through AutomationM...Integrating Performance Modeling in Industrial Automation through AutomationM...
Integrating Performance Modeling in Industrial Automation through AutomationM...Luca Berardinelli
 
notesnet.dk - Eclipse Modelling Tools
notesnet.dk - Eclipse Modelling Toolsnotesnet.dk - Eclipse Modelling Tools
notesnet.dk - Eclipse Modelling ToolsTonny Madsen
 
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Benoit Combemale
 
HPC on Cloud for SMEs. The case of bolt tightening.
HPC on Cloud for SMEs. The case of bolt tightening.HPC on Cloud for SMEs. The case of bolt tightening.
HPC on Cloud for SMEs. The case of bolt tightening.Andrés Gómez
 
The Micromapping Model of Computation
The Micromapping Model of ComputationThe Micromapping Model of Computation
The Micromapping Model of ComputationEdward Willink
 
Implementation of a SaaS based simulation platform using open standards and o...
Implementation of a SaaS based simulation platform using open standards and o...Implementation of a SaaS based simulation platform using open standards and o...
Implementation of a SaaS based simulation platform using open standards and o...Thomas Paviot
 
ROADART - Research On Alternative Diversity Aspects foR Trucks
ROADART - Research On Alternative Diversity Aspects foR TrucksROADART - Research On Alternative Diversity Aspects foR Trucks
ROADART - Research On Alternative Diversity Aspects foR TrucksEuropean Green Vehicle Initiative
 

Similar to Concurrency reification in the xDSML with MoCCML (20)

Digital twin for ports and terminals schuett slideshare
Digital twin for ports and terminals schuett slideshareDigital twin for ports and terminals schuett slideshare
Digital twin for ports and terminals schuett slideshare
 
Cloud Operations with Streaming Analytics using Apache NiFi and Apache Flink
Cloud Operations with Streaming Analytics using Apache NiFi and Apache FlinkCloud Operations with Streaming Analytics using Apache NiFi and Apache Flink
Cloud Operations with Streaming Analytics using Apache NiFi and Apache Flink
 
Cloud operations with streaming analytics using big data tools
Cloud operations with streaming analytics using big data toolsCloud operations with streaming analytics using big data tools
Cloud operations with streaming analytics using big data tools
 
Lean&Mean Terminal Design benefits from advanced modelling (Terminal Operator...
Lean&Mean Terminal Design benefits from advanced modelling (Terminal Operator...Lean&Mean Terminal Design benefits from advanced modelling (Terminal Operator...
Lean&Mean Terminal Design benefits from advanced modelling (Terminal Operator...
 
Präsentation, Dook Noij (IHEC), ESCom developments, 18. April 2018
Präsentation, Dook Noij (IHEC), ESCom developments, 18. April 2018Präsentation, Dook Noij (IHEC), ESCom developments, 18. April 2018
Präsentation, Dook Noij (IHEC), ESCom developments, 18. April 2018
 
Starwest 2011
Starwest 2011Starwest 2011
Starwest 2011
 
Rock Overview
Rock OverviewRock Overview
Rock Overview
 
COCOMO
COCOMOCOCOMO
COCOMO
 
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...
Lean Model-Driven Development through  Model-Interpretation: the CPAL design ...Lean Model-Driven Development through  Model-Interpretation: the CPAL design ...
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...
 
Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC Studio
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDE
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!
 
Integrating Performance Modeling in Industrial Automation through AutomationM...
Integrating Performance Modeling in Industrial Automation through AutomationM...Integrating Performance Modeling in Industrial Automation through AutomationM...
Integrating Performance Modeling in Industrial Automation through AutomationM...
 
notesnet.dk - Eclipse Modelling Tools
notesnet.dk - Eclipse Modelling Toolsnotesnet.dk - Eclipse Modelling Tools
notesnet.dk - Eclipse Modelling Tools
 
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
 
An Optics Life
An Optics LifeAn Optics Life
An Optics Life
 
HPC on Cloud for SMEs. The case of bolt tightening.
HPC on Cloud for SMEs. The case of bolt tightening.HPC on Cloud for SMEs. The case of bolt tightening.
HPC on Cloud for SMEs. The case of bolt tightening.
 
The Micromapping Model of Computation
The Micromapping Model of ComputationThe Micromapping Model of Computation
The Micromapping Model of Computation
 
Implementation of a SaaS based simulation platform using open standards and o...
Implementation of a SaaS based simulation platform using open standards and o...Implementation of a SaaS based simulation platform using open standards and o...
Implementation of a SaaS based simulation platform using open standards and o...
 
ROADART - Research On Alternative Diversity Aspects foR Trucks
ROADART - Research On Alternative Diversity Aspects foR TrucksROADART - Research On Alternative Diversity Aspects foR Trucks
ROADART - Research On Alternative Diversity Aspects foR Trucks
 

More from Benoit Combemale

When Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software EngineeringWhen Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software EngineeringBenoit Combemale
 
Table ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciencesTable ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciencesBenoit Combemale
 
SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019Benoit Combemale
 
Smart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering ModelsSmart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering ModelsBenoit Combemale
 
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...Benoit Combemale
 
Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Modeling For Sustainability: Or How to Make Smart CPS Smarter?Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Modeling For Sustainability: Or How to Make Smart CPS Smarter?Benoit Combemale
 
Introduction of the SLE'17 conference
Introduction of the SLE'17 conferenceIntroduction of the SLE'17 conference
Introduction of the SLE'17 conferenceBenoit Combemale
 
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of ViewSound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of ViewBenoit 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
 
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...
A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models (E...Benoit Combemale
 
Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)Benoit Combemale
 
Formally Defining and Iterating Infinite Models (MODELS 2012)
Formally Defining and Iterating Infinite Models (MODELS 2012)Formally Defining and Iterating Infinite Models (MODELS 2012)
Formally Defining and Iterating Infinite Models (MODELS 2012)Benoit Combemale
 
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-TimeHyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-TimeBenoit Combemale
 
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...Benoit Combemale
 
A Journey Through MDE, DSL and SLE (July 2nd, 2015)
A Journey Through MDE, DSL and SLE (July 2nd, 2015)A Journey Through MDE, DSL and SLE (July 2nd, 2015)
A Journey Through MDE, DSL and SLE (July 2nd, 2015)Benoit Combemale
 

More from Benoit Combemale (15)

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

Recently uploaded

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 

Recently uploaded (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 

Concurrency reification in the xDSML with MoCCML

  • 1. 17/03/2016 1 Joël Champeau (Lab-STICC – ENSTA Bretagne) Joel.champeau@ensta-bretagne.fr Concurrency reification in the xDSML with MoCCML Gemoc Final Workshop, March 17th, 2016
  • 2. 17/03/2016 2 The MoCCML approach Gemoc Final Workshop - 2 DSE
  • 3. 17/03/2016 3 import 'platform:/resource/org.gemoc.sigpmldomain/model/sigpmldomain.ecore' --import './sigpmldomain.ecore' ECLimport "platform:/resource/org.gemoc.sigpmltuto.mocc/mocc/SigpmlTuto.moccml" --ECLimport "./xSigpml.moccml" ECLimport "platform:/plugin/fr.inria.aoste.timesquare.ccslkernel.model/ccsllibrary/kernel.ccslLib" ECLimport "platform:/plugin/fr.inria.aoste.timesquare.ccslkernel.model/ccsllibrary/CCSL.ccslLib" package sigpml context Block def : execute : Event = self.execute() context Connector inv ConnectorComputing: let capacity : Integer = self.oclAsType(Connector).capacity in let inRate : Integer = self.itsInputPort.oclAsType(Port).rate in let outRate : Integer = self.itsOutputPort.oclAsType(Port).rate in let currentSize : Integer = self.oclAsType(Connector).currentSize in Relation ConnectorSDF_PAM ( self.itsOutputPort.oclAsType(OutputPort).owner.oclAsType(Block).execute, self.itsInputPort.oclAsType(InputPor DSE definition and MoCCML Libraries Gemoc Final Workshop - 3 Focus on DSE and MoCCML specifications • Domain Model with Execution Function and Data • DSE = Event definition on EF • MoCCML definition = Declarative constraints on events MoCCML LibraryDSE Definition Execution Function Execution Data
  • 4. 17/03/2016 4 DSE declaration Gemoc Final Workshop - 4 import 'platform:/resource/org.gemoc.sigpmldomain/model/sigpmldomain.ecore' ECLimport "platform:/resource/org.gemoc.sigpmltuto.mocc/mocc/SigpmlTuto.moccml" ECLimport "platform:/plugin/fr.inria.aoste.timesquare.ccslkernel.model/ccsllibrary/kernel.ccslLib" ECLimport "platform:/plugin/fr.inria.aoste.timesquare.ccslkernel.model/ccsllibrary/CCSL.ccslLib" package sigpml context Block def : execute : Event = self.execute() context Connector inv ConnectorSynchronization: Relation Coincides( self.itsOutputPort.oclAsType(OutputPort).owner.oclAsType(Block).execute, self.itsInputPort.oclAsType(InputPort).owner.oclAsType(Block).execute ) endpackage
  • 5. 17/03/2016 5 DSE declaration Gemoc Final Workshop - 5 context Block def : execute : Event = self.execute() context Connector inv ConnectorComputing: let capacity : Integer = self.oclAsType(Connector).capacity in let inRate : Integer = self.itsInputPort.oclAsType(Port).rate in let outRate : Integer = self.itsOutputPort.oclAsType(Port).rate in let currentSize : Integer = self.oclAsType(Connector).currentSize in Relation MoccSDFLike ( self.itsOutputPort.oclAsType(OutputPort).owner.oclAsType(Block).execute, self.itsInputPort.oclAsType(InputPort).owner.oclAsType(Block).execute, capacity, inRate, outRate, currentSize ) endpackage
  • 6. 17/03/2016 6 MoCCML meta-language Gemoc Final Workshop - 6 MoCCML language • Declarative language dedicated to concurrency definition • Clock-based approach • Formally defined • MoCCML = Declarative operators and state machine constraints MoCCML in Gemoc • Concurrency definition at meta-level • Constraints the model events • Enables simulation and state-space analysis Towards a Meta-Language for Concurrency Concern in DSLs Julien Deantoni, Papa Issa Diallo, Ciprian Teodorov, Joël Champeau, Benoit Combemale, In Design, Automation and Test in Europe Conference and Exhibition (DATE 2015), 2015
  • 7. 17/03/2016 7 MoCCML language Gemoc Final Workshop - 8 MoCCML usage • Declarative predefined operators in DSE definition • Reusable and parametric library definitions
  • 8. 17/03/2016 8 MoCCML language Gemoc Final Workshop - 9 MoCCML state machine intuitive semantics • Triggers as Clocks • Guards as Condition expressions on integer variables • Action as assignment and arithmetic operators on variables
  • 9. 17/03/2016 9 MoCCML language Gemoc Final Workshop - 10 MoCCML models define • MoCCML relations as a set of constraints on the model events • The semantics defines a state space with the associated value of the events • The acceptable schedules are a set of steps step = set of possible occurring events • Adding MoCCML relation reduces the execution possibilities
  • 10. 17/03/2016 10 MoCCML language Gemoc Final Workshop - 11 MoCCML metamodel
  • 11. 17/03/2016 11 MoCCML model instantiation • A MoCCML relation is instantiated for each model element • The execution model is interpreted by the solver MoCCML instantiation process Gemoc Final Workshop - 12 Concurrent Execution Engine EF + ED EF + ED EF + ED EF + ED
  • 12. 17/03/2016 12 Backward DSE Mapping Gemoc Final Workshop - 13 Feedback Protocol • How a value returned by an Execution Function influences the decision of the execution engine? • For language constructs whose control flow depends on runtime data available only at runtime (e.g. DecisionNode).
  • 13. 17/03/2016 13 Feedback DSE extension Gemoc Final Workshop - 14 DSE EvaluateGuard: upon evaluateGuard triggers ActivityEdge.EvaluateGuard returning result feedback: [result] => allow MayExecuteTarget default => allow MayNotExecuteTarget end end Weaving Concurrency in eXecutable Domain-Specific Modeling Languages (Florent Latombe, Xavier Crégut, Benoît Combemale, Julien Deantoni, Marc Pantel), In 8th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2015), ACM, 2015.
  • 14. 17/03/2016 14 Concurrency reification in Gemoc Gemoc Final Workshop - 15 Concurrency specification • DSE specification including feedback protocol • MoCCML language − Textual and graphical syntax − Declarative operators and state machine relations • MoCCML relations for architecture model to add constraints related to the mapping • Relation instantiation at model level to simulate the xDSML in the Gemoc Studio (Demo ArduinoDesigner) • Coupled with a state space analysis tooling as an extension of the Gemoc Studio (Demo ArduinoDesigner)