SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler 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)

Mais conteúdo relacionado

Mais procurados

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
Alpen-Adria-Universität
 

Mais procurados (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
 

Semelhante a Concurrency reification in the xDSML with MoCCML

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
DataWorks Summit
 
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
 
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
 

Semelhante a 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
 

Mais de Benoit 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 Models
Benoit 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
 

Mais de 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)
 

Último

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Último (20)

%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
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-...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 

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)