Title: Hoare vs. Milner: Comparing Synchronizations in a Graphical Framework With Mobility
1Hoare vs. Milner Comparing Synchronizationsin a
Graphical Framework With Mobility
Ugo Montanari Università di Pisa
in collaboration with
Ivan Lanese Università di Pisa
2Outline
- 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
3Outline
- 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
4Graphical 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 ADLs
- Well-developed foundations
5Graph vs. Term Transformations
- Terms
- LTS defined via SOS rules
- Reduction rules
- Abstract semantics
- Non-interleaving semantics
- Graphs
- Double-pushout derivations
- Concurrent semantics based on shift equivalence
- Synchronized (hyper)edge replacement
6(Hyper)Graphs
- Edge Atomic item with a label from alphabet LE
LEnn0,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 edge is connected, by its tentacles, to
its attachment nodes. A set of external nodes,
identified by distinct names, defines the
connecting points with the environment.
x
L
L
y
1
M
4
2
3
z
7A Notation For Graphs
- Edge Atomic item with a label from alphabet LE
LEnn0,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 edge is connected, by its tentacles, to
its attachment nodes. A set of external nodes,
identified by distinct names, defines the
connecting points with the environment.
8A Notation For Graphs
Well formed judgements for graphs
(AG2) G1G2 G2G1
(AG1) (G1G2)G3 G1(G2G3)
(AG3) G1 nil G1
(AG4) ?x.?y.G ?y.?x.G
(AG6) ?x.G ?y.G y/x if y ? fn(G)
(AG5) ?x.G G if x ? fn(G)
(AG7) ?x.(G1G2 ) (?x. G1) G2 if x ? fn(G2)
9A Notation For Graphs
Well formed judgements for graphs
(RG1)
(RG2)
x1,,xn nil
?
x1,,xn L(y1,,ym)
?
?, x G
(RG3)
(RG4)
? G1G2
?
? ? x. G
10A Notation For Graphs
11Outline
- 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
12Edge Replacement Systems
- Productions A context free production rewrites a
single edge labeled by L into an arbitrary graph
R. (Notation L ? R)
L
R
H
3
3
4
4
2
2
1
1
13Edge Replacement Systems
- Productions A context free production rewrites a
single edge labeled by L into an arbitrary graph
R. (Notation L ? R)
Rewritings of different edges can be executed
concurrently
14Synchronized 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
15Synchronized 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
16Outline
- 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
17Adding Mobility
18Transitions as Judgements
Formalization of synchronized rewriting as
judgements
19Transitions as Judgements
Formalization of synchronized rewriting as
judgements
- Transitions
- are generated from the productions by
applying the transition rules - of the chosen synchronization mechanism
20Synchronization 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 ? ?
21Example
22Synchronization 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
23Adding Fusion
Synchronized rewriting with mobility and fusion
24Outline
- 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
25Rewriting Rules, Hoare Synchronization I
26Rewriting Rules, Hoare Synchronization II
27Rewriting Rules, Milner Synchronization I
28Rewriting Rules, Milner Synchronization II
29Related 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 p-I-like mobility, Hoare
synchronization) - Hirsch and Montanari, Coordination 2000
- Modeling p-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
30Outline
- 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
31Expressiveness 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)
32Hoare 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
33Hoare 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
34Outline
- 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
35Translation 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
36Implementing 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
37Implementing 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 sin
ce the amoeboids can also synchronize several
pairs in parallel.
38Outline
- 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
39Conclusions 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