6. Setting: Distributed Systems
(νz)(x z | z(w).w ) | x(k).k v
Concurrency
Asynchrony
Mobility
e. g., by process calculi
May 17, 2013 S. Mennicke Symmetric Distributability Seite 2
Institut für Programmierung
und Reaktive Systeme
9. When are Systems Distributed?
It depends . . .
May 17, 2013 S. Mennicke Symmetric Distributability Seite 3
Institut für Programmierung
und Reaktive Systeme
10. When are Systems Distributed?
Symmetrically asynchronous systems . . .
. . .
May 17, 2013 S. Mennicke Symmetric Distributability Seite 3
Institut für Programmierung
und Reaktive Systeme
11. When are Systems Distributed?
Symmetrically asynchronous systems . . .
. . .
τ τ
May 17, 2013 S. Mennicke Symmetric Distributability Seite 3
Institut für Programmierung
und Reaktive Systeme
12. When are Systems Distributed?
Symmetrically asynchronous systems . . .
. . .
τ τ
. . . are neutral to asynchrony assumptions.
May 17, 2013 S. Mennicke Symmetric Distributability Seite 3
Institut für Programmierung
und Reaktive Systeme
13. Remember the Initial Question?
Concurrency
Asynchrony
here: Petri nets
Is this system
distributed?
May 17, 2013 S. Mennicke Symmetric Distributability Seite 4
Institut für Programmierung
und Reaktive Systeme
14. Remember the Initial Question?
Concurrency
Asynchrony
here: Petri nets
Is this system
distributed?
No!
May 17, 2013 S. Mennicke Symmetric Distributability Seite 4
Institut für Programmierung
und Reaktive Systeme
15. No! But Why?
May 17, 2013 S. Mennicke Symmetric Distributability Seite 5
Institut für Programmierung
und Reaktive Systeme
16. Symmetric Asynchrony
?
≈
τ τ
May 17, 2013 S. Mennicke Symmetric Distributability Seite 6
Institut für Programmierung
und Reaktive Systeme
17. Symmetric Asynchrony
≈
τ τ
Symmetrically asynchronous net systems are all
partially reachable N-free net systems.
May 17, 2013 S. Mennicke Symmetric Distributability Seite 6
Institut für Programmierung
und Reaktive Systeme
18. We can work it out
May 17, 2013 S. Mennicke Symmetric Distributability Seite 7
Institut für Programmierung
und Reaktive Systeme
19. We can work it out
May 17, 2013 S. Mennicke Symmetric Distributability Seite 7
Institut für Programmierung
und Reaktive Systeme
20. We can work it out
Distributed: No!
May 17, 2013 S. Mennicke Symmetric Distributability Seite 7
Institut für Programmierung
und Reaktive Systeme
21. We can work it out
Distributed: No!
Distributed: Yes?
May 17, 2013 S. Mennicke Symmetric Distributability Seite 7
Institut für Programmierung
und Reaktive Systeme
22. We can work it out
Distributed: No!
Distributed: Yes?
Distributable? YES!
May 17, 2013 S. Mennicke Symmetric Distributability Seite 7
Institut für Programmierung
und Reaktive Systeme
24. Specifications
x y z
a b c
“unlabeled”
τ-free
May 17, 2013 S. Mennicke Symmetric Distributability Seite 8
Institut für Programmierung
und Reaktive Systeme
25. Symmetric Distributability
Definition
A specification N is symmetrically distributable iff
there is a symmetrically asynchronous plain-labeled
net system N such that N ≈R N .
1. Which systems are distributable? How?
2. Which systems are not? Why?
Specifications are M-free.
May 17, 2013 S. Mennicke Symmetric Distributability Seite 9
Institut für Programmierung
und Reaktive Systeme
26. Partially and Fully Reachable N
x
t
u
Result
A partially and fully reachable N is not symmetrically
distributable.
May 17, 2013 S. Mennicke Symmetric Distributability Seite 10
Institut für Programmierung
und Reaktive Systeme
27. An Implementation Idea
May 17, 2013 S. Mennicke Symmetric Distributability Seite 11
Institut für Programmierung
und Reaktive Systeme
28. Implementation Idea SYM
May 17, 2013 S. Mennicke Symmetric Distributability Seite 12
Institut für Programmierung
und Reaktive Systeme
29. Implementation SYM
P1 := P
Pn+1 := Pn ∪ {pt,n+1 | t ∈ O(Nn) ∧ |•t| > 1}
T1 := T
Tn+1 := Tn ∪ {tt,u,n+1 | t ∈ O(Nn) ∧ |•t| > 1 ∧ u ∈ (•t)•}
F1 := F
Fn+1 := {(p, t) ∈ Fn | t ∈ O(Nn) ∨ |•t| 1} ∪
{(p, tt,t,n+1) | t ∈ O(Nn) ∧ |•t| > 1 ∧ (p, t) ∈ Fn} ∪
{(pt,n+1, t) | t ∈ O(Nn) ∧ |•t| > 1} ∪
{(pt,n+1, tt,u,n+1) | t ∈ O(Nn) ∧ |•t| > 1 ∧ u = t} ∪
{(p, tt,u,n+1) | t ∈ O(Nn) ∧ |•t| > 1 ∧ u = t ∧ (p, u) ∈ Fn} ∪
(Fn ∩ (Tn × Pn)) ∪
{(tt,t,n+1, pt,n+1) | t ∈ O(Nn) ∧ |•t| > 1} ∪
{(tt,u,n+1, p) | t ∈ O(Nn) ∧ |•t| > 1 ∧ u = t ∧ (u, p) ∈ Fn} ∪
{(tt,u,n+1, p) | t ∈ O(Nn) ∧ |•t| > 1 ∧ p ∈ •t •u}
l1 := l
ln+1(t) :=
l(t) if t ∈ T1
lk(t) if t ∈ Tk and k n
lk(u) if t = tt,u,n+1 and u = t
τ otherwise
May 17, 2013 S. Mennicke Symmetric Distributability Seite 13
Institut für Programmierung
und Reaktive Systeme
30. Results on SYM
1. Construction is finite.
2. τ-steps do not obstruct potential behavior.
3. Construction is not plain-labeled.
4. Construction respects weak step bisimulation.
5. Construction also works for partially and fully
reachable Ns.
6. SYM(N) is weak symmetrically distributed.
May 17, 2013 S. Mennicke Symmetric Distributability Seite 14
Institut für Programmierung
und Reaktive Systeme
31. Weak Symmetric Distributability
x τ
a
a
b
Result
Weak symmetric distributability iff asymmetric
distributability.
May 17, 2013 S. Mennicke Symmetric Distributability Seite 15
Institut für Programmierung
und Reaktive Systeme
32. Tackling Symmetric Distr.
Impossible to implement: partially and fully
reachable Ns.
May 17, 2013 S. Mennicke Symmetric Distributability Seite 16
Institut für Programmierung
und Reaktive Systeme
33. Tackling Symmetric Distr.
Impossible to implement: partially and fully
reachable Ns.
Remaining cases
1. Neither partially nor fully
2. fully but not partially
3. partially but not fully
May 17, 2013 S. Mennicke Symmetric Distributability Seite 16
Institut für Programmierung
und Reaktive Systeme
34. Tackling Symmetric Distr.
Impossible to implement: partially and fully
reachable Ns.
Remaining cases
1. Neither partially nor fully
2. fully but not partially
3. partially but not fully
May 17, 2013 S. Mennicke Symmetric Distributability Seite 16
Institut für Programmierung
und Reaktive Systeme
35. Fully but not Partially
Nfull(N) := {(t, u) ∈ T × T | •t ∩ •u = ∅ ∧ t = u ∧ |•u| > 1∧
∃M ∈ [N : •t ⊆ M∧
∀M ∈ [N : •t ⊆ M ⇒ •u ⊆ M}.
May 17, 2013 S. Mennicke Symmetric Distributability Seite 17
Institut für Programmierung
und Reaktive Systeme
36. Fully but not Partially
Nfull(N) := {(t, u) ∈ T × T | •t ∩ •u = ∅ ∧ t = u ∧ |•u| > 1∧
∃M ∈ [N : •t ⊆ M∧
∀M ∈ [N : •t ⊆ M ⇒ •u ⊆ M}.
May 17, 2013 S. Mennicke Symmetric Distributability Seite 17
Institut für Programmierung
und Reaktive Systeme
37. Fully but not Partially
Nfull(N) := {(t, u) ∈ T × T | •t ∩ •u = ∅ ∧ t = u ∧ |•u| > 1∧
∃M ∈ [N : •t ⊆ M∧
∀M ∈ [N : •t ⊆ M ⇒ •u ⊆ M}.
May 17, 2013 S. Mennicke Symmetric Distributability Seite 17
Institut für Programmierung
und Reaktive Systeme
38. Fully but not Partially
Nfull(N) := {(t, u) ∈ T × T | •t ∩ •u = ∅ ∧ t = u ∧ |•u| > 1∧
∃M ∈ [N : •t ⊆ M∧
∀M ∈ [N : •t ⊆ M ⇒ •u ⊆ M}.
Cool Implemenation Name
Symmetric Extended Free Choice (EFCSYM)
May 17, 2013 S. Mennicke Symmetric Distributability Seite 17
Institut für Programmierung
und Reaktive Systeme
39. EFCSYM
Algorithmic Idea
May 17, 2013 S. Mennicke Symmetric Distributability Seite 18
Institut für Programmierung
und Reaktive Systeme
40. EFCSYM
Algorithmic Idea
Iterate over all pairs (t, u) ∈ T × T
May 17, 2013 S. Mennicke Symmetric Distributability Seite 18
Institut für Programmierung
und Reaktive Systeme
41. EFCSYM
Algorithmic Idea
Iterate over all pairs (t, u) ∈ T × T
If (t, u) ∈ Nfull(N), make preplaces dependent
(EFC-construction)
May 17, 2013 S. Mennicke Symmetric Distributability Seite 18
Institut für Programmierung
und Reaktive Systeme
42. EFCSYM
Algorithmic Idea
Iterate over all pairs (t, u) ∈ T × T
If (t, u) ∈ Nfull(N), make preplaces dependent
(EFC-construction)
Result
N ≈B EFCSYM(N)
May 17, 2013 S. Mennicke Symmetric Distributability Seite 18
Institut für Programmierung
und Reaktive Systeme
43. Why is EFCSYM correct? I
t u
Lemma
Let (t, u) ∈ Nfull(N) and there is a reachable marking
M such that •
u ⊆ M. If (u, t) ∈ Nfull(N), then :-(
May 17, 2013 S. Mennicke Symmetric Distributability Seite 19
Institut für Programmierung
und Reaktive Systeme
44. Why is EFCSYM correct? II
t u v
Lemma
If (t, u), (u, v) ∈ Nfull(N) and t = v, then
(t, v) ∈ Nfull(N).
May 17, 2013 S. Mennicke Symmetric Distributability Seite 20
Institut für Programmierung
und Reaktive Systeme
45. Why is EFCSYM correct? III
t u v
Lemma
If (t, u), (v, u) ∈ Nfull(N), t = v, but
(t, v), (v, t) ∈ Nfull(N), then :-(
May 17, 2013 S. Mennicke Symmetric Distributability Seite 21
Institut für Programmierung
und Reaktive Systeme
46. Why is EFCSYM correct? IV
t uv
Lemma
If (t, u), (t, v) ∈ Nfull(N), u = v, but
(u, v), (v, u) ∈ Nfull(N), then :-(
May 17, 2013 S. Mennicke Symmetric Distributability Seite 22
Institut für Programmierung
und Reaktive Systeme
47. Nfull(EFCSYM(N)) is a Beauty!
Nfull(EFCSYM(N)) := {(t, u), (u, t) | (t, u) ∈ Nfull(N)}
May 17, 2013 S. Mennicke Symmetric Distributability Seite 23
Institut für Programmierung
und Reaktive Systeme
48. Nfull(EFCSYM(N)) is a Beauty!
Nfull(EFCSYM(N)) := {(t, u), (u, t) | (t, u) ∈ Nfull(N)}
It is sort of transitive
May 17, 2013 S. Mennicke Symmetric Distributability Seite 23
Institut für Programmierung
und Reaktive Systeme
49. Nfull(EFCSYM(N)) is a Beauty!
Nfull(EFCSYM(N)) := {(t, u), (u, t) | (t, u) ∈ Nfull(N)}
It is sort of transitive
It is symmetrical
May 17, 2013 S. Mennicke Symmetric Distributability Seite 23
Institut für Programmierung
und Reaktive Systeme
50. Nfull(EFCSYM(N)) is a Beauty!
Nfull(EFCSYM(N)) := {(t, u), (u, t) | (t, u) ∈ Nfull(N)}
It is sort of transitive
It is symmetrical
It is almost an equivalence relation
May 17, 2013 S. Mennicke Symmetric Distributability Seite 23
Institut für Programmierung
und Reaktive Systeme
51. Nfull(EFCSYM(N)) is a Beauty!
Nfull(EFCSYM(N)) := {(t, u), (u, t) | (t, u) ∈ Nfull(N)}
It is sort of transitive
It is symmetrical
It is almost an equivalence relation
It has at least as many elements as Nfull(N)
May 17, 2013 S. Mennicke Symmetric Distributability Seite 23
Institut für Programmierung
und Reaktive Systeme
52. SYMfull
1. Apply EFCSYM(N)
2. Make Nfull(EFCSYM(N)) an equivalence relation
3. Interpret an equivalence class as a cluster
4. Apply FC to all clusters
τ
May 17, 2013 S. Mennicke Symmetric Distributability Seite 24
Institut für Programmierung
und Reaktive Systeme
53. Results on SYMfull
N ≈B SYMfull(N)
May 17, 2013 S. Mennicke Symmetric Distributability Seite 25
Institut für Programmierung
und Reaktive Systeme
54. Results on SYMfull
N ≈B SYMfull(N)
Nfull(SYMfull(N)) = ∅
May 17, 2013 S. Mennicke Symmetric Distributability Seite 25
Institut für Programmierung
und Reaktive Systeme
55. Results on SYMfull
N ≈B SYMfull(N)
Nfull(SYMfull(N)) = ∅
Result
If N is an M-free specification that has no partially and
fully reachable Ns as well as no partially but not fully
reachable Ns, then N is symmetrically distributable.
May 17, 2013 S. Mennicke Symmetric Distributability Seite 25
Institut für Programmierung
und Reaktive Systeme
56. Partially but not Fully I
Npart(N) := {(t, u) ∈ T × T | •t ∩ •u = ∅ ∧ t = u ∧ |•u| > 1∧
∃M ∈ [N : •t ⊆ M∧
∀M ∈ [N : •u ⊆ M ⇒ •t ⊆ M}.
May 17, 2013 S. Mennicke Symmetric Distributability Seite 26
Institut für Programmierung
und Reaktive Systeme
57. Partially but not Fully I
Npart(N) := {(t, u) ∈ T × T | •t ∩ •u = ∅ ∧ t = u ∧ |•u| > 1∧
∃M ∈ [N : •t ⊆ M∧
∀M ∈ [N : •u ⊆ M ⇒ •t ⊆ M}.
Lemma
If (t, u) ∈ Npart(N) and u may be enabled, then
(u, t) ∈ Npart(N).
May 17, 2013 S. Mennicke Symmetric Distributability Seite 26
Institut für Programmierung
und Reaktive Systeme
58. Partially but not Fully I
Npart(N) := {(t, u) ∈ T × T | •t ∩ •u = ∅ ∧ t = u ∧ |•u| > 1∧
∃M ∈ [N : •t ⊆ M∧
∀M ∈ [N : •u ⊆ M ⇒ •t ⊆ M}.
Lemma
If (t, u) ∈ Npart(N) and u may be enabled, then
(u, t) ∈ Npart(N).
Lemma
If (t, u) ∈ Npart(N) and (u, t) ∈ Npart(N), then u is
dead.
May 17, 2013 S. Mennicke Symmetric Distributability Seite 26
Institut für Programmierung
und Reaktive Systeme
59. Partially but not Full II
at bu at bu
May 17, 2013 S. Mennicke Symmetric Distributability Seite 27
Institut für Programmierung
und Reaktive Systeme
60. Making Npart(N) symmetric
Remove non-symmetric partially but not fully
reachable Ns
May 17, 2013 S. Mennicke Symmetric Distributability Seite 28
Institut für Programmierung
und Reaktive Systeme
61. Making Npart(N) symmetric
Remove non-symmetric partially but not fully
reachable Ns
Remaining and still Open Question
What about the symmetric partially but not fully
reachable Ns?
May 17, 2013 S. Mennicke Symmetric Distributability Seite 28
Institut für Programmierung
und Reaktive Systeme
62. Examples
at bu a b
Idea
Divide and Conquer!
May 17, 2013 S. Mennicke Symmetric Distributability Seite 29
Institut für Programmierung
und Reaktive Systeme
67. Promising Idea
Partial Unfoldings
x y
a b
x y
a b
May 17, 2013 S. Mennicke Symmetric Distributability Seite 34
Institut für Programmierung
und Reaktive Systeme
71. Conclusions
We investigated three forms of symmetric
distributability
Free Choice Distributability (not in this talk, closed)
Weak Symmetric Distributability (closed)
Strong Symmetric Distributability (open)
Implementation algorithms are either standard or
generalizations of the standard ones
We identified two critical structures
a partially and fully reachable N (proven)
the evil W (sketched)
May 17, 2013 S. Mennicke Symmetric Distributability Seite 38
Institut für Programmierung
und Reaktive Systeme
72. Further things we have done
We
motivated a framework of distributability for net
based systems
instantiated distributability notions from the
literature
motivated another benefit of our research
May 17, 2013 S. Mennicke Symmetric Distributability Seite 39
Institut für Programmierung
und Reaktive Systeme
73. Future Work
Close the gap in symmetric distributability (next
few months, paper on symmetric distributability)
Complete the characterization of the W
Is there any more?
What about the non-plain-labeled case?
What about causality-respecting implementations?
Applications in the field of asynchronous circuits
(paper on free choice distributability)
Find an appropriate gap-filler for our
hierarchy/hierarchies of distributability
May 17, 2013 S. Mennicke Symmetric Distributability Seite 40
Institut für Programmierung
und Reaktive Systeme