39
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

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

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 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

1GT-VC 2005, San Francisco, August 22, 2005

Ugo MontanariUniversità di Pisa

Ivan LaneseUniversità di Pisa

Hoare vs. Milner: Comparing Synchronizationsin a Graphical Framework With Mobility

in collaboration with

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

2GT-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

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

3GT-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

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

4GT-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

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

5GT-VC 2005, San Francisco, August 22, 2005

Graph vs. Term Transformations

TermsTerms

– LTS defined via SOS rules

– Reduction rules

– Abstract semantics

– Non-interleaving semantics

GraphsGraphs

– Double-pushout derivations

– Concurrent semantics based on shift equivalence

– Synchronized (hyper)edge replacement

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

6GT-VC 2005, San Francisco, August 22, 2005

(Hyper)Graphs

Edge: Atomic item with a label from alphabet LE= {LEn}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

4L

M

1

2

3

4

x

y

z

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

7GT-VC 2005, San Francisco, August 22, 2005

A Notation For Graphs

Edge: Atomic item with a label from alphabet LE= {LEn}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

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

8GT-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) (G1|G2)|G3 = G1|(G2|G3) (AG2) G1|G2 = G2|G1

(AG3) G1| nil = G1 (AG4) x.y.G = y.x.G

(AG6) x.G = y.G {y/x} if y fn(G)

(AG7) x.(G1|G2 ) = (x. G1) | G2 if x fn(G2)

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

9GT-VC 2005, San Francisco, August 22, 2005

A Notation For Graphs

Well formed judgements for graphs

(RG1)

x1,…,xn nil(RG2)

x1,…,xn L(y1,…,ym)

L LEm yi {xj}

G1|G2

(RG3) G1 G2

Syntactic Rules

(RG4), x G

x. G

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

10GT-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

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

11GT-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

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

12GT-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 4H

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

13GT-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

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

14GT-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

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

15GT-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

aa a

3 3

B1 A1

B2 A2

Hoare synchronization

a

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

16GT-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

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

17GT-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 > a < y >

( x ) ( y )

B1 A1

a<x> = a<y>

B2 A2

a<x> a<y>

x= y

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

18GT-VC 2005, San Francisco, August 22, 2005

Transitions as Judgements

Formalization of synchronized rewriting as judgementsTransitions

G1 , G2

: (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

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

19GT-VC 2005, San Francisco, August 22, 2005

Transitions as Judgements

Formalization of synchronized rewriting as judgements

Derivations

0 G0 1 G1 … n Gn

12 n

x1,…,xn L(x1,…,xn) x1,…,xn , 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

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

20GT-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 }

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

21GT-VC 2005, San Francisco, August 22, 2005

Example

b)

x CBrother

C

C

C

C

C

C

CC CBrother Brother

(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)

r(w)

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

22GT-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

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

23GT-VC 2005, San Francisco, August 22, 2005

Adding Fusion

Synchronized rewriting with mobility and fusion

G1 , G2

: (A x N* ) (x,a,yy) if (x) = (a, yy)

: idempotent n() = { z | x. (x)=(a,yy), z Set(yy) } = n() \ = +

o

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

24GT-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

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

25GT-VC 2005, San Francisco, August 22, 2005

Rewriting Rules, Hoare Synchronization I

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

26GT-VC 2005, San Francisco, August 22, 2005

Rewriting Rules, Hoare Synchronization II

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

27GT-VC 2005, San Francisco, August 22, 2005

Rewriting Rules, Milner Synchronization I

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

28GT-VC 2005, San Francisco, August 22, 2005

Rewriting Rules, Milner Synchronization II

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

29GT-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]

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

30GT-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

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

31GT-VC 2005, San Francisco, August 22, 2005

Expressiveness Measure

(S1,C1) ≥ (S2,C2)

(i.e. style S1 is more expressive than style S2)

iff there exists a uniform simulation function f such that for all P and G

C2-behavS2(P)(G) = C1-behavS1(f(P))(G)

C-behavS(P)(G) = reachable graphs

1 : one-step computationsmax: maximal computationsall: all computations synchronization style: H, M

set of productions

initial graph

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

32GT-VC 2005, San Francisco, August 22, 2005

Hoare and Milner, Direct Comparison, I

(Milner,C1) ≥ (Hoare,C2) for all C1 and C2

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

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

33GT-VC 2005, San Francisco, August 22, 2005

Hoare and Milner, Direct Comparison, II

(Hoare,C1) ≥ (Milner,C2) for all C1 and C2

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

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

34GT-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

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

35GT-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

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

36GT-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-behavH(P)(G) = [[C-behavM(f(P))([[G]])]]-1

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

37GT-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-behavM(P)(G) [[C-behavH(f(P))([[G]])]]-1

since the amoeboids can also synchronize several pairs in parallel.

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

38GT-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

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

39GT-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