Date post: | 02-Jan-2016 |
Category: |
Documents |
Upload: | verity-cox |
View: | 213 times |
Download: | 0 times |
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
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
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
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
Examples
5
Construction project The King’s Concert
Examples (priority for strict sequencing)
6
Construction project The King’s Concert
Examples (priority for weak sequencing)
7
Construction project The King’s Concert
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
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
Sequencing of collaborations
10
Defining weak and strong sequencing by partial orders
Considering onlyinitiating and terminatingroles
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
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
Partial orders showing associativity
13
No associativity for mixed sequencing
14
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
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
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
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
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
Questions ??
Comments ??
These slides can be downloaded fromhttp://www.site.uottawa.ca/~bochmann/talks/w-s-sequencing.pdf