the behavioral coordination operator language · the behavioral coordination operator language...

49
The Behavioral Coordination Operator Language GL/\CE Day, May 10 th , 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE [email protected]

Upload: others

Post on 27-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

The Behavioral Coordination Operator Language

GL/\CE Day, May 10th, 2016

Julien DeantoniUniversity of Nice, I3S CNRS, INRIA [email protected]

Page 2: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

2

Conforms To

xDSML 1xDSML 1

Discrete Time Behavior

ADAPTIVE CRUISE

CONTROL SYSTEM

Page 3: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

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

BATTERYCONTROL

ADAPTIVE CRUISE

CONTROL SYSTEM

GPS TRACKING

Page 4: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

4

Conforms To

xDSML 1xDSML 1

Heterogeneous models and languages

Emerging System Behavior difficult to apprehend

Discrete Time Behavior

BATTERYCONTROL

ADAPTIVE CRUISE

CONTROL SYSTEM

GPS TRACKING

Coordinationof Behavioral

Models

Know-how

System Designer

Conforms To

xDSML 2xDSML 2

Conforms To

xDSML 3xDSML 3

Page 5: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

5

Outline

● State of the Art:– Coordination Languages and ADLs– Coordination Frameworks

● Our proposal: – The Behavioral Coordination Operator Language

● Conclusion

Page 6: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

6

Running Example: the Coffee MachineTimed Finite State Machine (TFSM)

Conforms To

when coin / !selectCoffee;

when releaseCoffee / doLock

Conforms To

Activity

State-based language

Action-based language

Page 7: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

7

Running Example: the Coffee MachineTimed Finite State Machine (TFSM)

Conforms To

when coin / !selectCoffee;

when releaseCoffee / doLock

Conforms To

Activity

?

State-based language

Action-based language

Page 8: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

8

Running Example: the Coffee MachineTimed 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

Page 9: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

9

Coordination Languages & ADLs

defines

Know-how

System Designer

Model ofCoordination

TFSM

when coin / !selectCoffee;

when releaseCoffee / doLock

Conforms ToConforms 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.

Page 10: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

10

Coordination Languages & ADLs

defines

Know-how

System Designer

Model ofCoordination

TFSM

when coin / !selectCoffee;

when releaseCoffee / doLock

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

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.

Page 11: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

11

Coordination Languages & ADLs

Know-how

System Designer

Model ofCoordination

TFSM

when coin / !selectCoffee;

when releaseCoffee / doLock

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

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

Page 12: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

12

Coordination Languages & ADLs

Know-how

System Designer

Model ofCoordination

TFSM

when coin / !selectCoffee;

when releaseCoffee / doLock

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

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

Page 13: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

13

Coordination Patterns

defines

Know-how

System Designer

Model ofCoordination

TFSM

when coin / !selectCoffee;

when releaseCoffee / doLock

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

What?, When?,How?

Conforms To Conforms To

Activity

Page 14: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

14

Coordination Frameworks

Know-how

System Designer

Model ofCoordination

Coordination frameworks identified a systematic way to coordinate models, i.e., a coordination pattern.

CoordinationFrameworks

e.g. Ptolemy

enco

des

TFSM

when coin / !selectCoffee;

when releaseCoffee / doLock

Conforms To Conforms To

Activity

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

Page 15: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

15

Coordination Frameworks

Know-how

System Designer

Model ofCoordination

Coordination frameworks identified a systematic way to coordinate models, i.e., a coordination pattern.

CoordinationFrameworks

e.g. Ptolemy

encodes

TFSM

when coin / !selectCoffee;

when releaseCoffee / doLock

Conforms To Conforms To

Activity

Page 16: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

16

Coordination Frameworks

Know-how

System Designer

Model ofCoordination

Coordination frameworks identified a systematic way to coordinate models, i.e., a coordination pattern.

CoordinationFrameworks

e.g. Ptolemy

encodes

TFSM

when coin / !selectCoffee;

when releaseCoffee / doLock

Conforms To Conforms To

Activity

Page 17: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

17

Coordination Frameworks

Know-how

System Designer

Model ofCoordination

Coordination frameworks identified a systematic way to coordinate models, i.e., a coordination pattern.

CoordinationFrameworks

e.g. Ptolemy

encodes

TFSM

when coin / !selectCoffee;

when releaseCoffee / doLock

Conforms To Conforms To

Activity

Page 18: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

18

Coordination Frameworks

Know-how

System Designer

Model ofCoordination

Coordination frameworks identified a systematic way to coordinate models, i.e., a coordination pattern.

CoordinationFrameworks

e.g. Ptolemy

encodes

TFSM

when coin / !selectCoffee;

when releaseCoffee / doLock

Conforms To Conforms To

Activity

Page 19: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

19

Conforms ToConforms To

e

ncodes

Coordination Frameworks

Know-how

System Designer

CoordinationFrameworks

e.g. Ptolemy

TFSM

when coin / !selectCoffee;

when releaseCoffee / doLock

Syntax BehavioralSemantics

Director: TFSM

SyntaxBehavioralSemantics

Director: Activity

LanguageBehavioralInterface

LanguageBehavioralInterface

LanguageBehavioralInterface

LanguageBehavioralInterface

Activity

Model ofCoordination

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

generates

Page 20: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

20

Conforms ToConforms To

e

ncodes

Coordination Frameworks

Know-how

System Designer

CoordinationFrameworks

e.g. Ptolemy

TFSM

when coin / !selectCoffee;

when releaseCoffee / doLock

Syntax BehavioralSemantics

Director: TFSM

SyntaxBehavioralSemantics

Director: Activity

LanguageBehavioralInterface

LanguageBehavioralInterface

LanguageBehavioralInterface

LanguageBehavioralInterface

Activity

Model ofCoordination

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

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)

Page 21: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

21

Conforms ToConforms To

e

ncodes

Coordination Frameworks

Know-how

System Designer

CoordinationFrameworks

e.g. Ptolemy

TFSM

when coin / !selectCoffee;

when releaseCoffee / doLock

Syntax BehavioralSemantics

Director: TFSM

SyntaxBehavioralSemantics

Director: Activity

LanguageBehavioralInterface

LanguageBehavioralInterface

LanguageBehavioralInterface

LanguageBehavioralInterface

Activity

Model ofCoordination

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

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

Page 22: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

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

Page 23: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

23

Outline

● State of the Art– Coordination Languages

– Coordination Frameworks

● Our proposal: – The Behavioral Coordination Operator Language

● Conclusion

Page 24: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

24

Model ofCoordination

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

ModelBehavioralInterface

Know-how

System Designer

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

<<Conforms To>>TFSM

Syntax BehavioralSemantics

LanguageBehavioralInterface

LanguageBehavioralInterface

SyntaxBehavioralSemantics

LanguageBehavioralInterface

LanguageBehavioralInterface

Activity

defin

es

System Designer

when coin / !selectCoffee;

when releaseCoffee / doLock

generates

Page 25: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

25

Model ofCoordination

ModelBehavioralInterface

ModelBehavioralInterface

Know-how

System Designer

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

<<Conforms To>>

defin

es

System Designer

when coin / !selectCoffee;

when releaseCoffee / doLock

generates

ModelBehavioralInterface

ModelBehavioralInterface

Page 26: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

26

ModelBehavioralInterface

ModelBehavioralInterface

Model ofCoordination

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

<<Conforms To>>

generates

ModelBehavioralInterface

ModelBehavioralInterface

when coin / !selectCoffee;

when releaseCoffee / doLock

Page 27: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

27

ModelBehavioralInterface

ModelBehavioralInterface

Model ofCoordination

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

<<Conforms To>>

generates

ModelBehavioralInterface

ModelBehavioralInterface

when coin / !selectCoffee;

when releaseCoffee / doLock

State::entering

State::leaving

FSMEvent::occurs

Page 28: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

28

ModelBehavioralInterface

ModelBehavioralInterface

Model ofCoordination

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

<<Conforms To>>

generates

ModelBehavioralInterface

ModelBehavioralInterface

when coin / !selectCoffee;

when releaseCoffee / doLock

State::entering

State::leaving

FSMEvent::occurs

Alternates

Page 29: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

29

ModelBehavioralInterface

ModelBehavioralInterface

Model ofCoordination

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

<<Conforms To>>

generates

ModelBehavioralInterface

ModelBehavioralInterface

when coin / !selectCoffee;

when releaseCoffee / doLock

State::entering

State::leaving

FSMEvent::occurs

Alternates

releaseCoffee:occurs

Locked:entering

Locked:leaving

selectCoffee:occurs

Locked:entering

Locked:leaving

Page 30: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

30

ModelBehavioralInterface

ModelBehavioralInterface

Model ofCoordination

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

<<Conforms To>>

generates

ModelBehavioralInterface

ModelBehavioralInterface

when coin / !selectCoffee;

when releaseCoffee / doLock

State::entering

State::leaving

FSMEvent::occurs

Alternates

a1:Alternates

a2:Alternates

releaseCoffee:occurs

Locked:entering

Locked:leaving

selectCoffee:occurs

Locked:entering

Locked:leaving

Page 31: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

31

ModelBehavioralInterface

ModelBehavioralInterface

Model ofCoordination

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

<<Conforms To>>

generates

ModelBehavioralInterface

ModelBehavioralInterface

Action::startAction

Action::finishAction

when coin / !selectCoffee;

when releaseCoffee / doLock

State::entering

State::leaving

FSMEvent::occurs

Alternates

a1:Alternates

a2:Alternates

releaseCoffee:occurs

Locked:entering

Locked:leaving

selectCoffee:occurs

Locked:entering

Locked:leaving

Page 32: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

32

Model ofCoordination

Know-how

System Designer

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

<<Conforms To>>

defin

es

System Designer

when coin / !selectCoffee;

when releaseCoffee / doLock

generates

Page 33: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

33

Model ofCoordination

Know-how

System Designer

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

<<Conforms To>>

defin

es

System Designer

when coin / !selectCoffee;

when releaseCoffee / doLock

generates

Page 34: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

34

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

TFSM

Syntax BehavioralSemantics

Action::startActionFSMEvent::occurs

BCOoL Metamodel SyncFSMEventsAndActions.bcool

<<Conforms To>>

Page 35: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

35

BCOoL Metamodel SyncFSMEventsAndActions.bcoolImportInterface tfsm;ImportInterface Activity;

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

TFSM

Syntax BehavioralSemantics

Action::startActionFSMEvent::occurs

<<Conforms To>>

Page 36: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

36

BCOoL Metamodel SyncFSMEventsAndActions.bcoolImportInterface tfsm;ImportInterface Activity;

Operator RendezVousWhenSameName (FSMEvent::occurs,Action::startAction)

End Operator;

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

TFSM

Syntax BehavioralSemantics

Action::startActionFSMEvent::occurs

<<Conforms To>>

Page 37: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

37

BCOoL Metamodel SyncFSMEventsAndActions.bcoolImportInterface tfsm;ImportInterface Activity;

Operator RendezVousWhenSameName (FSMEvent::occurs,Action::startAction)      When(occurs.name = startAction.name);

End Operator;

OCL Boolean Expression between model elements

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

TFSM

Syntax BehavioralSemantics

Action::startActionFSMEvent::occurs

<<Conforms To>>

Page 38: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

38

BCOoL Metamodel SyncFSMEventsAndActions.bcoolImportInterface tfsm;ImportInterface Activity;

Operator RendezVousWhenSameName (FSMEvent::occurs,Action::startAction)     When(occurs.name = startAction.name);

  CoordinationRule: RendezVous (occurs, startAction)

End Operator;

Causal and Temporal relations between Events

e.g., Rendezvous, Precedes, etc.

EventType

EventTypes

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

TFSM

Syntax BehavioralSemantics

Action::startActionFSMEvent::occurs

<<Conforms To>>

Page 39: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

39

BCOoL Metamodel SyncFSMEventsAndActions.bcool

EventType

EventTypes

ImportInterface tfsm;ImportInterface Activity;

Operator RendezVousWhenSameName (FSMEvent::occurs,Action::startAction)     When(occurs.name = startAction.name);

  CoordinationRule: RendezVous (occurs, startAction)

End Operator;

Defined in MoCCML(Model of Concurrency and

Communication Modeling Language)

BCOoLBCOoL

BCOoLSpecification

BCOoLSpecification

TFSM

Syntax BehavioralSemantics

Action::startActionFSMEvent::occurs

<<Conforms To>>

Page 40: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

40

BCOoLSpecification

BCOoLSpecification

BCOoLSpecification

BCOoLSpecificationImportInterface tfsm;

ImportInterface Activity;

Operator FSMEventsandActions (FSMEvent::occurs, Action::startAction)  When(occurs.name = startAction.name);CoordinationRule: 

Rendezvous (occurs, startAction)End Operator;

SyncFSMEventsAndActions.bcool

when coin / !selectCoffee;

when releaseCoffee / doLock

selectCoffee:startAction

makeCoffee:startAction

releaseCoffee:startAction

releaseCoffee:finishAction

makeCoffee:finishAction

Conforms ToConforms To

releaseCoffee:occurs

Locked:entering

Locked:leaving

selectCoffee:occurs

Locked:entering

Locked:leaving

BCOoLBCOoL

TFSM

Syntax BehavioralSemantics

Action::startActionFSMEvent::occurs

<<Conforms To>>

Page 41: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

41

when coin / !selectCoffee;

when releaseCoffee / doLock

selectCoffee:occurs

releaseCoffee:occurs

selectCoffee:startAction

makeCoffee:startAction

releaseCoffee:startAction

Conforms ToConforms To

BCOoLSpecification

BCOoLSpecification

BCOoLSpecification

BCOoLSpecification

SyncFSMEventsAndActions.bcool

BCOoLBCOoL

TFSM

Syntax BehavioralSemantics

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;

Page 42: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

42

when coin / !selectCoffee;

when releaseCoffee / doLock

selectCoffee:occurs

releaseCoffee:occurs

selectCoffee:startAction

makeCoffee:startAction

releaseCoffee:startAction

Conforms ToConforms ToConforms To

BCOoLSpecification

BCOoLSpecification

BCOoLSpecification

BCOoLSpecification

SyncFSMEventsAndActions.bcool

BCOoLBCOoL

TFSM

Syntax BehavioralSemantics

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;

Page 43: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

43

when coin / !selectCoffee;

when releaseCoffee / doLock

selectCoffee:occurs

releaseCoffee:occurs

selectCoffee:startAction

releaseCoffee:startAction

Conforms ToConforms To

BCOoLSpecification

BCOoLSpecification

BCOoLSpecification

BCOoLSpecification

SyncFSMEventsAndActions.bcool

BCOoLBCOoL

TFSM

Syntax BehavioralSemantics

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;

Page 44: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

44

when coin / !selectCoffee;

when releaseCoffee / doLock

selectCoffee:occurs

releaseCoffee:occurs

selectCoffee:startAction

releaseCoffee:startAction

Conforms To

Rendezvous

Rendezvous

Conforms To

BCOoLSpecification

BCOoLSpecification

BCOoLSpecification

BCOoLSpecification

SyncFSMEventsAndActions.bcool

BCOoLBCOoL

TFSM

Syntax BehavioralSemantics

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;

Page 45: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

45

when coin / !selectCoffee;

when releaseCoffee / doLock

selectCoffee:occurs

releaseCoffee:occurs

selectCoffee:startAction

releaseCoffee:startAction

Conforms To

Rendezvous

Rendezvous

Conforms To

BCOoLSpecification

BCOoLSpecification

BCOoLSpecification

BCOoLSpecification

SyncFSMEventsAndActions.bcool

BCOoLBCOoL

TFSM

Syntax BehavioralSemantics

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

Page 46: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

Implemented into the GEMOC studio

Editing facilitiesby using XtextEditing facilitiesby using Xtext

Page 47: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

Implemented into the GEMOC studio

Coordinated HeterogeneousExecutionCoordinated HeterogeneousExecution

Schedule space explorationSchedule space exploration

Page 48: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

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)

1http://timesquare.inria.fr/BCOoL

Page 49: The Behavioral Coordination Operator Language · The Behavioral Coordination Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE

Thanks

http://timesquare.inria.fr/BCOoL

http://gemoc.org/ins