200 likes | 370 Views
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
E N D
Qiao and Bochmann, University of Ottawa Associativity betweenWeak 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 • 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
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. a b e d c 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. h g f a k j i
Gregor v. Bochmann, University of Ottawa Example of strong and weak sequencing strongly sequenced (yellow after red) can be enforce by Coordination message weakly sequenced (yellow afterw red) how to enforce ? (there are often race conditions)
Examples The King’s Concert Construction project
Examples (priority for strict sequencing) The King’s Concert Construction project
Examples (priority for weak sequencing) The King’s Concert Construction project
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
Global behaviors: collaborations and roles [Castejon, Bochmann, Braek 2013] role-3 role-1 role-2 role-2 role-1 role-3 A A B B (a) (b) Partial order of actions role-3 role-1 role-2 Initiating actions: (no earlier actions) Terminating actions: (no later actions) A (c)
Sequencing of collaborations Defining weak and strong sequencing by partial orders Considering only initiating and terminating roles
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
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)
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 A • Additional 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.
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. RC A B C
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
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])
Conclusions (suite) The identified ambiguity can be avoided: • By defining priority for either the weak or the strict sequencing operator. • 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.
Questions ??Comments ?? These slides can be downloaded from http://www.site.uottawa.ca/~bochmann/talks/w-s-sequencing.pdf