Top Banner
The Behavioral Coordination Operator Language GL/\CE Day, May 10 th , 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE [email protected]
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

Jun 27, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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