20
Qiao and Bochmann, University of Ottawa Gregor v. Bochmann Department of Electrical Engineering and Computer Science University of Ottawa Canada presentation at the SAM Conference September 2014, Valence (Spain) Associativity between Weak and Strict Sequencing

Associativity between Weak and Strict Sequencing

Embed Size (px)

DESCRIPTION

Associativity between Weak and Strict Sequencing. Gregor v. Bochmann Department of Electrical Engineering and Computer Science University of Ottawa Canada presentation at the SAM Conference September 2014, Valence (Spain). Overview. Introduction Weak and strict sequencing Examples - PowerPoint PPT Presentation

Citation preview

Page 1: Associativity between Weak and Strict Sequencing

Qiao and Bochmann, University of Ottawa

Gregor v. Bochmann

Department of Electrical Engineering and Computer Science

University of OttawaCanada

presentation at the SAM Conference

September 2014, Valence (Spain)

Associativity betweenWeak and Strict Sequencing

Page 2: Associativity between Weak and Strict Sequencing

Overview

Introduction– Weak and strict sequencing– Examples – Associativity

System design: collaborations and partial orders– Structure of global behaviors: collaborations and roles– Initiating and terminating roles– Definition of weak and strong sequencing

Association rules– Associativity of weak and of strict sequencing– No associativity for mixed sequencing– Consideration of initiating and terminating roles

Conclusions– Possible impact on performance measures

– How to avoid the ambiguity of mixed sequencing

2

Page 3: Associativity between Weak and Strict Sequencing

Gregor v. Bochmann, University of Ottawa

Partial order of events

Lamport [1978] pointed out that in a distributed system, there is in general no total order of events, only a partial order.

– The events taking place at a given component can be totally ordered (assuming sequential execution).

– The reception of a message is after its sending.

– The after-relation is transitive.

For example, we have b after a and c after b; but d and e are unrelated (no order defined - concurrent), also j and i are concurrent. d after a by transitivity.

a bc

j

a

e

f

d

i

k

hg

Page 4: Associativity between Weak and Strict Sequencing

Gregor v. Bochmann, University of Ottawa

Example of strong and weak sequencing

strongly sequenced(yellow after red)

can be enforce by

weakly sequenced(yellow afterw red)

how to enforce ?(there are often race conditions)

Coordination message

Page 5: Associativity between Weak and Strict Sequencing

Examples

5

Construction project The King’s Concert

Page 6: Associativity between Weak and Strict Sequencing

Examples (priority for strict sequencing)

6

Construction project The King’s Concert

Page 7: Associativity between Weak and Strict Sequencing

Examples (priority for weak sequencing)

7

Construction project The King’s Concert

Page 8: Associativity between Weak and Strict Sequencing

Overview

Introduction– Weak and strict sequencing– Examples – Associativity

System design: collaborations and partial orders– Structure of global behaviors: collaborations and roles– Initiating and terminating roles– Definition of weak and strong sequencing

Association rules– Associativity of weak and of strict sequencing– No associativity for mixed sequencing– Consideration of initiating and terminating roles

Conclusions– Possible impact on performance measures

– How to avoid the ambiguity of mixed sequencing

8

Page 9: Associativity between Weak and Strict Sequencing

Global behaviors: collaborations and roles

[Castejon, Bochmann, Braek 2013]

9

role-1 role-2 role-3

A B

(a)

role-1 role-2 role-3

A

B

(b)

role-1 role-2 role-3

A

(c)

Initiating actions:(no earlier actions)

Terminating actions:(no later actions)

Partial order of actions

Page 10: Associativity between Weak and Strict Sequencing

Sequencing of collaborations

10

Defining weak and strong sequencing by partial orders

Considering onlyinitiating and terminatingroles

Page 11: Associativity between Weak and Strict Sequencing

Overview

Introduction– Weak and strict sequencing– Examples – Associativity

System design: collaborations and partial orders– Structure of global behaviors: collaborations and roles– Initiating and terminating roles– Definition of weak and strong sequencing

Association rules– Associativity of weak and of strict sequencing– No associativity for mixed sequencing– Consideration of initiating and terminating roles

Conclusions– Possible impact on performance measures

– How to avoid the ambiguity of mixed sequencing

11

Page 12: Associativity between Weak and Strict Sequencing

Associativity

Three collaborations A, B and C executed in sequence A ; B ; C

Case of weak sequence: A ;w B ;w C Associativity: (A ;w B) ;w C = A ;w (B ;w C)

Associativity for strong sequencing: (A ;s B) ;s C = A ;s (B ;s C)

12

Page 13: Associativity between Weak and Strict Sequencing

Partial orders showing associativity

13

Page 14: Associativity between Weak and Strict Sequencing

No associativity for mixed sequencing

14

Page 15: Associativity between Weak and Strict Sequencing

In general: no associativity

Two additional dependencies for (A ;s (B ;w C) ) as compared with ( (A ;s B) ;w C) :

Additional dependency for RC: The roles only involved in C only have to wait for all roles to have completed activity AAdditional dependency for RAC: The roles involved in A and C (but not in B) have to wait for all roles to have completed activity A.

Note: The case of weak and strict order interchanged (i.e. A ;w B ;s C ) can be treated similarly by reversing the direction of time.

15

Page 16: Associativity between Weak and Strict Sequencing

Condition for associativity

We have (A ;s (B ;w C) ) = ( (A ;s B) ;w C) if there is no role in the sets RC and RAC

However, this condition is not necessary.See example:

Proposition: We have (A ;s (B ;w C) ) = ( (A ;s B) ;w C) iff each initiating role of C is also involved in B.

16

A

B

C

RC

Page 17: Associativity between Weak and Strict Sequencing

Overview

Introduction– Weak and strict sequencing– Examples – Associativity

System design: collaborations and partial orders– Structure of global behaviors: collaborations and roles– Initiating and terminating roles– Definition of weak and strong sequencing

Association rules– Associativity of weak and of strict sequencing– No associativity for mixed sequencing– Consideration of initiating and terminating roles

Conclusions– Possible impact on performance measures

– How to avoid the ambiguity of mixed sequencing

17

Page 18: Associativity between Weak and Strict Sequencing

Conclusions

The meaning of a mixture of weak and strong sequencing for distributed workflow applications is in general ambiguous.

This can have an impact on – the possible ordering of actions performed by the

different parties involved in the distributed processes

– the performance properties of the global collaboration (see for instance [Israr 2011 and 2014])

18

Page 19: Associativity between Weak and Strict Sequencing

Conclusions (suite)

The identified ambiguity can be avoided:1.By defining priority for either the weak or the strict sequencing operator.2.By using a notation of parenthesis.

– However, often graphical notations are used.

– In UML Activity Diagrams, the notation of regions may be used to show the order in which the sequencing operations should be applied.

19

Page 20: Associativity between Weak and Strict Sequencing

Questions ??

Comments ??

These slides can be downloaded fromhttp://www.site.uottawa.ca/~bochmann/talks/w-s-sequencing.pdf