Hoare vs. Milner: Comparing Synchronizations in a Graphical Framework With Mobility

Preview:

DESCRIPTION

Hoare vs. Milner: Comparing Synchronizations in a Graphical Framework With Mobility. Ugo Montanari Università di Pisa. in collaboration with. Ivan Lanese Università di Pisa. Outline. Graphical Calculi for Distributed Systems Synchronized Edge Replacement Systems Mobility - PowerPoint PPT Presentation

Citation preview

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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 }

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)

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

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

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

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

Rewriting Rules, Hoare Synchronization I

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

Rewriting Rules, Hoare Synchronization II

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

Rewriting Rules, Milner Synchronization I

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

Rewriting Rules, Milner Synchronization II

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]

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

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

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

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

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

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

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

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.

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

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

Recommended