Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 GT-VC 2005, San Francisco, August 22, 2005 Ugo Montanari Università di Pisa Ivan Lanese Università di Pisa Hoare vs. Milner: Comparing Synchronizations.

Similar presentations


Presentation on theme: "1 GT-VC 2005, San Francisco, August 22, 2005 Ugo Montanari Università di Pisa Ivan Lanese Università di Pisa Hoare vs. Milner: Comparing Synchronizations."— Presentation transcript:

1 1 GT-VC 2005, San Francisco, August 22, 2005 Ugo Montanari Università di Pisa Ivan Lanese Università di Pisa Hoare vs. Milner: Comparing Synchronizations in a Graphical Framework With Mobility in collaboration with

2 2 GT-VC 2005, San Francisco, August 22, 2005 Outline Graphical Calculi for Distributed Systems Synchronized Edge Replacement Systems Mobility Hoare and Milner Synchronization, with Fusion Direct Comparison Comparison with Translations Conclusions and Future Work

3 3 GT-VC 2005, San Francisco, August 22, 2005 Outline Graphical Calculi for Distributed Systems Synchronized Edge Replacement Systems Mobility Hoare and Milner Synchronization, with Fusion Direct Comparison Comparison with Translations Conclusions and Future Work

4 4 GT-VC 2005, San Francisco, August 22, 2005 Graphical Approach to Distributed Systems Motivations: Intuitive representation of distribution Natural concurrent semantics No need of structural axioms Existing modeling languages, e.g. UML Applications to software architectures and ADL’s Well-developed foundations

5 5 GT-VC 2005, San Francisco, August 22, 2005 Graph vs. Term Transformations Terms Terms –LTS defined via SOS rules –Reduction rules –Abstract semantics –Non-interleaving semantics Graphs Graphs –Double-pushout derivations –Concurrent semantics based on shift equivalence –Synchronized (hyper)edge replacement

6 6 GT-VC 2005, San Francisco, August 22, 2005 (Hyper)Graphs Edge: Atomic item with a label from alphabet LE= {LE n } n=0,1,… with as many (ordered) tentacles as the rank of its label. Graph: A set of nodes and a set of edges such that each edgeis connected, by its tentacles, to its attachment nodes. A set of external nodes, identified by distinct names, defines the connecting points with the environment. L M 1 2 3 4 L M 1 2 3 4 x y z

7 7 GT-VC 2005, San Francisco, August 22, 2005 A Notation For Graphs Edge: Atomic item with a label from alphabet LE= {LE n } n=0,1,… with as many (ordered) tentacles as the rank of its label. Graph: A set of nodes and a set of edges such that each edgeis connected, by its tentacles, to its attachment nodes. A set of external nodes, identified by distinct names, defines the connecting points with the environment.  G  G ::= L(x) | G|G | x. G | nil Representation of graphs as syntactic judgements   N set of names G set of edges fn(G)   binds as usual

8 8 GT-VC 2005, San Francisco, August 22, 2005 A Notation For Graphs Well formed judgements for graphs Structural Axioms (AG5) x.G = G if x  fn(G) (AG1) (G 1 |G 2 )|G 3 = G 1 |(G 2 |G 3 ) (AG2) G 1 |G 2 = G 2 |G 1 (AG3) G 1 | nil = G 1 (AG4) x. y.G = y. x.G (AG6) x.G = y.G {y/x} if y  fn(G) (AG7) x.(G 1 |G 2 ) = ( x. G 1 ) | G 2 if x  fn(G 2 )

9 9 GT-VC 2005, San Francisco, August 22, 2005 A Notation For Graphs Well formed judgements for graphs (RG1)  x 1,…,x n nil (RG2) x 1,…,x n L(y 1,…,y m )  L  LE m y i  {x j }  G 1 |G 2 (RG3)  G 1  G 2    Syntactic Rules (RG4) , x G   x. G 

10 10 GT-VC 2005, San Francisco, August 22, 2005 x,y z, w. C(x,w) | C(w,y) | C (y,z) | C(z,x)  A Notation For Graphs Ring Example w z

11 11 GT-VC 2005, San Francisco, August 22, 2005 Outline Graphical Calculi for Distributed Systems Synchronized Edge Replacement Systems Mobility Hoare and Milner Synchronization, with Fusion Direct Comparison Comparison with Translations Conclusions and Future Work

12 12 GT-VC 2005, San Francisco, August 22, 2005 Edge Replacement Systems Productions: A context free production rewrites a single edge labeled by L into an arbitrary graph R. (Notation: L  R) L 1 2 3 4 R 1 2 3 4 H

13 13 GT-VC 2005, San Francisco, August 22, 2005 Edge Replacement Systems Productions: A context free production rewrites a single edge labeled by L into an arbitrary graph R. (Notation: L  R) R R’ 1 2 3 4 1 2 3 Rewritings of different edges can be executed concurrently L L’ 1 2 3 4 1 2 3 H

14 14 GT-VC 2005, San Francisco, August 22, 2005 Synchronized Edge Replacement Synchronized rewriting: Actions are associated to nodes in productions. Each rewrite of an edge must match actions with (a number of) its adjacent edges and they have to move simultaneously How many edges synchronize depends on the synchronization policy Synchronized rewriting propagates synchronization all over the graph

15 15 GT-VC 2005, San Francisco, August 22, 2005 Synchronized Edge Replacement Hoare Synchronization: All adjacent edges must match the actions on the shared node Milner Synchronization: Only two of the adjacent edges synchronize by matching their complementary actions a a a 3 3 B1A1 B2A2 Hoare synchronization a

16 16 GT-VC 2005, San Francisco, August 22, 2005 Outline Graphical Calculi for Distributed Systems Synchronized Edge Replacement Systems Mobility Hoare and Milner Synchronization, with Fusion Direct Comparison Comparison with Translations Conclusions and Future Work

17 17 GT-VC 2005, San Francisco, August 22, 2005 Adding Mobility Synchronized rewriting with name mobility – Add to an action in a node a tuple of names that it wants to communicate – The synchronization step has to match actions and tuples – The declared names that were matched are used to merge the corresponding nodes a ( x ) ( y ) B1A1 a = a B2A2 a a x= y

18 18 GT-VC 2005, San Francisco, August 22, 2005 Transitions as Judgements Formalization of synchronized rewriting as judgements Transitions  G 1  ,   G 2     :   (A x N* ) (x, a, y)   if  (x) = (a, y)   is the set of new names that are used in synchronization   = {z |  x.  (x) = (a, y), z  , z  set(y)} o

19 19 GT-VC 2005, San Francisco, August 22, 2005 Transitions as Judgements Formalization of synchronized rewriting as judgements Derivations  0 G 0   1 G 1  …   n G n   11 22 nn  x 1,…,x n L(x 1,…,x n )  x 1,…,x n,  G Productions    Free names can: i) be added to productions; and ii) renaming is possible Transitions are generated from the productions by applying the transition rules of the chosen synchronization mechanism

20 20 GT-VC 2005, San Francisco, August 22, 2005 Synchronization via Unification Hoare synchronization On each node all edges must have the same action Synchronization is possible if there is a most general unifier of the new nodes For any R   x A x N* (not necessarily a partial function)  (R):    n(R) is the mgu of equations (a= b)  (Y = Z) with (x,a,Y) and (x,b,Z) in R where (as usual)   = {z | (x,a,Y)  R, z  set(Y), z   }

21 21 GT-VC 2005, San Francisco, August 22, 2005 Example b) x C Brother C C C C C C CCC (4)(3)(2)(1) x Initial Graph C Brother: C C C Star Rec. S S SS (5) C S Star Reconfiguration: (w) r(w)

22 22 GT-VC 2005, San Francisco, August 22, 2005 Synchronization via Unification Milner synchronization On each node at most two edges must have actions, and in this case they must be complementary Synchronization is possible if there is a most general unifier of the new nodes

23 23 GT-VC 2005, San Francisco, August 22, 2005 Adding Fusion Synchronized rewriting with mobility and fusion  G 1  ,  G 2    yy  :   (A x N* ) (x,a,y)   if  (x) = (a, y)  :    idempotent yy n(  ) = { z |  x.  (x)=(a,y), z  Set(y) }   = n(  ) \   =  +   o

24 24 GT-VC 2005, San Francisco, August 22, 2005 Outline Graphical Calculi for Distributed Systems Synchronized Edge Replacement Systems Mobility Hoare and Milner Synchronization, with Fusion Direct Comparison Comparison with Translations Conclusions and Future Work

25 25 GT-VC 2005, San Francisco, August 22, 2005 Rewriting Rules, Hoare Synchronization I

26 26 GT-VC 2005, San Francisco, August 22, 2005 Rewriting Rules, Hoare Synchronization II

27 27 GT-VC 2005, San Francisco, August 22, 2005 Rewriting Rules, Milner Synchronization I

28 28 GT-VC 2005, San Francisco, August 22, 2005 Rewriting Rules, Milner Synchronization II

29 29 GT-VC 2005, San Francisco, August 22, 2005 Related Work Grammars for distributed systems [Castellani and Montanari, LNCS 1953, 1982], [Degano and Montanari, JACM 1987] Graph amalgamation [Boehm, Fonio and Habel, JCSS, 1987] CHARM (R for restriction) [Corradini, Montanari and Rossi, TCS 1994] Mobile version (w. applications to software architectures, only  -I-like mobility, Hoare synchronization) [Hirsch and Montanari, Coordination 2000] Modeling  -calculus (Milner synchronization) [Hirsch and Montanari, Concur 2001] Modeling Ambient calculus [Ferrari, Montanari and Tuosto, ICTCS 2001] Modeling Fusion calculus [Lanese and Montanari, to appear in TCS]

30 30 GT-VC 2005, San Francisco, August 22, 2005 Outline Graphical Calculi for Distributed Systems Synchronized Edge Replacement Systems Mobility Hoare and Milner Synchronization, with Fusion Direct Comparison Comparison with Translations Conclusions and Future Work

31 31 GT-VC 2005, San Francisco, August 22, 2005 Expressiveness Measure (S 1,C 1 ) ≥ (S 2,C 2 ) (i.e. style S 1 is more expressive than style S 2 ) iff there exists a uniform simulation function f such that for all P and G C 2 -behav S 2 (P)(G) = C 1 -behav S 1 (f(P))(G) C-behav S (P)(G) = reachable graphs 1 : one-step computations max: maximal computations all: all computations synchronization style: H, M set of productions initial graph

32 32 GT-VC 2005, San Francisco, August 22, 2005 Hoare and Milner, Direct Comparison, I (Milner,C 1 ) ≥ (Hoare,C 2 ) for all C 1 and C 2 i.e. Hoare cannot be uniformely simulated by Milner The reason is that Milner synchronization style is monotone, i.e. in a Milner computation we can always add to a graph an additional part which stays idle, while Hoare style is not monotone

33 33 GT-VC 2005, San Francisco, August 22, 2005 Hoare and Milner, Direct Comparison, II (Hoare,C 1 ) ≥ (Milner,C 2 ) for all C 1 and C 2 i.e. Milner cannot be uniformely simulated by Hoare The reason is that in Hoare synchronization style restriction just hides part of the observation, while in Milner style restriction may forbid computations

34 34 GT-VC 2005, San Francisco, August 22, 2005 Outline Graphical Calculi for Distributed Systems Synchronized Edge Replacement Systems Mobility Hoare and Milner Synchronization, with Fusion Direct Comparison Comparison with Translations Conclusions and Future Work

35 35 GT-VC 2005, San Francisco, August 22, 2005 Translation via Amoeboids Amoeboids are graphs with suitable edge labels and corresponding productions which simulate the behavior of nodes in a different synchronization style Function [[-]] replaces nodes with amoeboids while function [[-]] -1 replaces amoeboids with nodes. We always have that [[([[G]])]] -1 = G

36 36 GT-VC 2005, San Francisco, August 22, 2005 Implementing Hoare with Milner H-amoeboids implement broadcasting. C-amoeboids saturate nodes with less than 3 tentacles. We have rules for every action a (here with arity 2). We have C-behav H (P)(G) = [[C-behav M (f(P))([[G]])]] -1

37 37 GT-VC 2005, San Francisco, August 22, 2005 Implementing Milner with Hoare M-amoeboids implement routing. We have rules for every action a and two analogous productions for synchronizing x with z and y with z. We have only C-behav M (P)(G)  [[C-behav H (f(P))([[G]])]] -1 since the amoeboids can also synchronize several pairs in parallel.

38 38 GT-VC 2005, San Francisco, August 22, 2005 Outline Graphical Calculi for Distributed Systems Synchronized Edge Replacement Systems Mobility Hoare and Milner Synchronization, with Fusion Direct Comparison Comparison with Translations Conclusions and Future Work

39 39 GT-VC 2005, San Francisco, August 22, 2005 Conclusions and Future Work Graph models with synchronized hyperedge replacement allow for more general synchronization mechanisms than ordinary process algebras, e.g. processes can synchronize at more than one channel and with more than one other process. These extensions are needed for implementing one synchronization style into another. Reachability in Hoare/Milner synchronization styles cannot be simulated uniformely No countexample uses mobility, and thus the expressivenesses are incomparable even without mobility, and mobility does not bridge the gap Distributed simulation via amoeboids of Milner style routers allows only concurrent pairwise synchronization Generic synchronization styles and more general notions of implementation and refinement involving atomicity and bisimilarity can be considered: see the forthcoming PhD thesis of Ivan Lanese


Download ppt "1 GT-VC 2005, San Francisco, August 22, 2005 Ugo Montanari Università di Pisa Ivan Lanese Università di Pisa Hoare vs. Milner: Comparing Synchronizations."

Similar presentations


Ads by Google