Right Money Management App For Your Financial Goals
The Behavioral Coordination Operator Language (BCOoL)
1. The Behavioral Coordination Operator
Language
Gemoc Final Workshop, March 17th
, 2016
Julien Deantoni
University of Nice, I3S CNRS, INRIA AOSTE
Julien.deantoni@polytech.unice.fr
3. 3
Conforms To
xDSML 1xDSML 1
Conforms To
xDSML 2xDSML 2
Conforms To
xDSML 3xDSML 3
Heterogeneous models and languages
Emerging System Behavior difficult to apprehend
Discrete Time Behavior
BATTERY
CONTROL
ADAPTIVE
CRUISE
CONTROL
SYSTEM
GPS
TRACKING
4. 4
Conforms To
xDSML 1xDSML 1
Heterogeneous models and languages
Emerging System Behavior difficult to apprehend
Discrete Time Behavior
BATTERY
CONTROL
ADAPTIVE
CRUISE
CONTROL
SYSTEM
GPS
TRACKING
Coordination
of Behavioral
Models
Know-how
System
Designer
Conforms To
xDSML 2xDSML 2
Conforms To
xDSML 3xDSML 3
5. 5
Outline
● State of the Art:
– Coordination Languages and ADLs
– Coordination Frameworks
● Our proposal:
– The Behavioral Coordination Operator Language
● Conclusion
6. 6
Running Example: the Coffee Machine
Timed Finite
State Machine
(TFSM)
Conforms To
when coin
/ !selectCoffee;
when releaseCoffee
/ doLock
Conforms To
Activity
State-based
language
Action-based
language
7. 7
Running Example: the Coffee Machine
Timed Finite
State Machine
(TFSM)
Conforms To
when coin
/ !selectCoffee;
when releaseCoffee
/ doLock
Conforms To
Activity
?
State-based
language
Action-based
language
8. 8
Running Example: the Coffee Machine
Timed Finite
State Machine
(TFSM)
Conforms To
when coin
/ !selectCoffee;
when releaseCoffee
/ doLock
Conforms To
Activity
?
State-based
language
Action-based
language
e.g.,When the event selectCoffee occurs,
the Action selectCoffee is started
9. 9
Coordination Languages & ADLs
defines
Know-how
System
Designer
Model of
Coordination
TFSM
when coin
/ !selectCoffee;
when releaseCoffee
/ doLock
Conforms To
Conforms To
Activity
Coordination Languages proposed to model the coordination by
using a dedicated Language, e.g., Linda or Esper.
ADLs proposed component based languages to coordinate,
possibly heterogeneous behaviors, e.g., Wright, Rapide or MetaH.
10. 10
Coordination Languages & ADLs
defines
Know-how
System
Designer
Model of
Coordination
TFSM
when coin
/ !selectCoffee;
when releaseCoffee
/ doLock
Model
Behavioral
Interface
Model
Behavioral
Interface
Model
Behavioral
Interface
Model
Behavioral
Interface
Conforms To Conforms To
Activity
Coordination Languages proposed to model the coordination by
using a dedicated Language, e.g., Linda or Esper.
ADLs proposed component based languages to coordinate,
possibly heterogeneous behaviors, e.g., Wright, Rapide or MetaH.
11. 11
Coordination Languages & ADLs
Know-how
System
Designer
Model of
Coordination
TFSM
when coin
/ !selectCoffee;
when releaseCoffee
/ doLock
Model
Behavioral
Interface
Model
Behavioral
Interface
Model
Behavioral
Interface
Model
Behavioral
Interface
Glue
Conforms To Conforms To
Activity
Coordination Languages proposed to model the coordination by
using a dedicated Language, e.g., Linda or Esper.
ADLs proposed component based languages to coordinate,
possibly heterogeneous behaviors, e.g., Wright, Rapide or MetaH.
SelectCoffee: Event
Rapide:CoffeeCoin.selectCoffee => CoffeeAlgorithm.selectCoffee
SelectCoffee: Action
defines
12. 12
Coordination Languages & ADLs
Know-how
System
Designer
Model of
Coordination
TFSM
when coin
/ !selectCoffee;
when releaseCoffee
/ doLock
Model
Behavioral
Interface
Model
Behavioral
Interface
Model
Behavioral
Interface
Model
Behavioral
Interface
Glue
Conforms To Conforms To
Activity
Coordination Languages proposed to model the coordination by
using a dedicated Language, e.g., Linda or Esper.
ADLs proposed component based languages to coordinate,
possibly heterogeneous behaviors, e.g., Wright or MetaH.
SelectCoffee: Event
Rapide:CoffeeCoin.selectCoffee => CoffeeAlgorithm.selectCoffee
SelectCoffee: Action
defines
The coordination is modeled explicitly
The coordination is defined rule by rule
14. 14
Coordination Frameworks
Know-how
System
Designer
Model of
Coordination
Coordination frameworks identified a systematic way to
coordinate models, i.e., a coordination pattern.
Coordination
Frameworks
e.g. Ptolemy
encodes
TFSM
when coin
/ !selectCoffee;
when releaseCoffee
/ doLock
Conforms To Conforms To
Activity
Model
Behavioral
Interface
Model
Behavioral
Interface
Model
Behavioral
Interface
Model
Behavioral
Interface
19. 19
Conforms ToConforms To
encodes
Coordination Frameworks
Know-how
System
Designer
Coordination
Frameworks
e.g. Ptolemy
TFSM
when coin
/ !selectCoffee;
when releaseCoffee
/ doLock
Syntax
Behavioral
Semantics
Director: TFSM
Syntax
Behavioral
Semantics
Director: Activity
Language
Behavioral
Interface
Language
Behavioral
Interface
Language
Behavioral
Interface
Language
Behavioral
Interface
Activity
Model of
Coordination
Model
Behavioral
Interface
Model
Behavioral
Interface
Model
Behavioral
Interface
Model
Behavioral
Interface
generates
20. 20
Conforms ToConforms To
encodes
Coordination Frameworks
Know-how
System
Designer
Coordination
Frameworks
e.g. Ptolemy
TFSM
when coin
/ !selectCoffee;
when releaseCoffee
/ doLock
Syntax
Behavioral
Semantics
Director: TFSM
Syntax
Behavioral
Semantics
Director: Activity
Language
Behavioral
Interface
Language
Behavioral
Interface
Language
Behavioral
Interface
Language
Behavioral
Interface
Activity
Model of
Coordination
Model
Behavioral
Interface
Model
Behavioral
Interface
Model
Behavioral
Interface
Model
Behavioral
Interface
generates
Coordination frameworks identified a systematic way to
coordinate models, i.e., a coordination pattern.
What?, When? and How?
the methods from the semantics
Interfaces are invoked (Java)
21. 21
Conforms ToConforms To
encodes
Coordination Frameworks
Know-how
System
Designer
Coordination
Frameworks
e.g. Ptolemy
TFSM
when coin
/ !selectCoffee;
when releaseCoffee
/ doLock
Syntax
Behavioral
Semantics
Director: TFSM
Syntax
Behavioral
Semantics
Director: Activity
Language
Behavioral
Interface
Language
Behavioral
Interface
Language
Behavioral
Interface
Language
Behavioral
Interface
Activity
Model of
Coordination
Model
Behavioral
Interface
Model
Behavioral
Interface
Model
Behavioral
Interface
Model
Behavioral
Interface
generates
Coordination frameworks identified a systematic way to
coordinate models, i.e., a coordination pattern.
The coordination is generated automatically
The coordination pattern is hidden/encoded
in the tool in a GPL
22. 22
Take-Away Lessons
● Coordination Languages & ADLs:
● Coordination Frameworks:
The coordination is modeled explicitly
The coordination is defined rule by rule
The coordination is generated automatically based on a
coordination pattern
The coordination pattern is hidden/encoded in the tool in a GPL
23. 23
Outline
● State of the Art
– Coordination Languages
– Coordination Frameworks
● Our proposal:
– The Behavioral Coordination Operator Language
● Conclusion
45. 45
when coin
/ !selectCoffee;
when releaseCoffee
/ doLock
selectCoffee:occurs
releaseCoffee:occurs
selectCoffee:startAction
releaseCoffee:startAction
Conforms To
Rendezvous
Rendezvous
Conforms To
BCOoL
Specification
BCOoL
Specification
BCOoL
Specification
BCOoL
Specification
SyncFSMEventsAndActions.bcool
BCOoLBCOoL
TFSM
Syntax
Behavioral
Semantics
Action::startActionFSMEvent::occurs
<<Conforms To>>
ImportInterface tfsm;
ImportInterface Activity;
Operator FSMEventsandActions
(FSMEvent::occurs, Action::startAction)
When(occurs.name = startAction.name);
CoordinationRule:
Rendezvous (occurs, startAction)
End Operator;
Heterogeneous
Execution
In the GEMOC Studio
46. Implemented into the GEMOC studio
Editing facilities
by using Xtext
Editing facilities
by using Xtext
47. Implemented into the GEMOC studio
Coordinated Heterogeneous
Execution
Coordinated Heterogeneous
Execution
Schedule space explorationSchedule space exploration
48. Conclusion
● BCOoL is a dedicated metalanguage to capture coordination
patterns.
● It automates the coordination of models by relying on a formal
language.
● It is associated to the GEMOC language/modeling workbench to
execute and analyze the coordinated system.
➔ Future work:
– Using the explicit coordination to generate master on co-simulation bus
– Understanding the interconnection with physical model (continuous time)
1
http://timesquare.inria.fr/BCOoL