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
Jan 08, 2016
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