Uwe Nestmann (TU Berlin) and Ursula Goltz (TU Braunschweig). 08 August 2013
, Königswinter. K. Peters, U. Nestmann, U. Goltz (). Synchronisation Patterns.
Synchronisation Patterns for Distributability in Process Calculi πm
πs πa
J
Kirstin Peters (TU Berlin) Uwe Nestmann (TU Berlin) and Ursula Goltz (TU Braunschweig)
08 August 2013, K¨ onigswinter K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
1 / 18
Preliminaries
Considered Calculi Parallel
Output
Input
J
P1 | P2
y hui
def D in P
πa
P1 | P2
y hui
y (x) .P
–
P1 | P2
y hui .P
y (x) .P
y1 hui .P1 + y2 hv i .P2 y1 (x) .P1 + y2 (x) .P2
P1 | P2
y hui .P
y (x) .P
y1 hui .P1 + y2 (x) .P2
πs πm
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
Choice
2 / 18
Preliminaries
Considered Calculi Parallel
Output
Input
J
P1 | P2
y hui
def D in P
πa
P1 | P2
y hui
y (x) .P
–
P1 | P2
y hui .P
y (x) .P
y1 hui .P1 + y2 hv i .P2 y1 (x) .P1 + y2 (x) .P2
P1 | P2
y hui .P
y (x) .P
y1 hui .P1 + y2 (x) .P2
πs πm πm
Choice
πs πa
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
J
2 / 18
Preliminaries
Considered Calculi Parallel
Output
Input
J
P1 | P2
y hui
def D in P
πa
P1 | P2
y hui
y (x) .P
–
P1 | P2
y hui .P
y (x) .P
y1 hui .P1 + y2 hv i .P2 y1 (x) .P1 + y2 (x) .P2
P1 | P2
y hui .P
y (x) .P
y1 hui .P1 + y2 (x) .P2
πs πm πm
asynchronous
πs πa
synchronous
K. Peters, U. Nestmann, U. Goltz ()
Choice
Synchronisation Patterns
J
2 / 18
Preliminaries
Considered Calculi Parallel
Output
Input
J
P1 | P2
y hui
def D in P
πa
P1 | P2
y hui
y (x) .P
–
P1 | P2
y hui .P
y (x) .P
y1 hui .P1 + y2 hv i .P2 y1 (x) .P1 + y2 (x) .P2
P1 | P2
y hui .P
y (x) .P
y1 hui .P1 + y2 (x) .P2
πs πm πm
Choice
asynchronous
πs πa
synchronous
J
model a conflict
+mixed choice K. Peters, U. Nestmann, U. Goltz ()
+separate choice Synchronisation Patterns
+inputs
only outputs 2 / 18
Preliminaries
Encodings
I I
an encoding is a function J · K : PS → PT quality criteria of [Gorla 10] rule out trivial encodings operational correspondence w.r.t. , divergence reflection, success sensitiveness compositionality or more than one observable in
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
3 / 18
Preliminaries
Encodings
I I
an encoding is a function J · K : PS → PT quality criteria of [Gorla 10] rule out trivial encodings operational correspondence w.r.t. , divergence reflection, success sensitiveness compositionality or more than one observable in
What about distributability?
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
3 / 18
Preliminaries
Distributability
I
P is distributable into P1 , . . . , Pn if (ignoring restrictions) P is the parallel composition of P1 , . . . , Pn . for the pi-calculus: if P ≡ (ν˜ x ) (P1 | . . . | Pn ).
I
Two steps of P are distributable if they are independent steps of distributable parts of P.
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
4 / 18
Preliminaries
Distributability
I
P is distributable into P1 , . . . , Pn if (ignoring restrictions) P is the parallel composition of P1 , . . . , Pn . for the pi-calculus: if P ≡ (ν˜ x ) (P1 | . . . | Pn ).
I
Two steps of P are distributable if they are independent steps of distributable parts of P.
Assume J · K satisfies operational correspondence w.r.t. . Preservation of Distributability Whenever S is distributable into S1 , . . . , Sn then also J S K is distributable into T1 , . . . , Tn such that Ti J Si K.
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
4 / 18
Preliminaries
Initial Situation on Distributability-Preserving Encodings
πm
πs πa
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
J
5 / 18
Preliminaries
Initial Situation on Distributability-Preserving Encodings
πm
πs πa
I
J
πa is a subcalculus of πs is a subcalculus of πm
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
5 / 18
Preliminaries
Initial Situation on Distributability-Preserving Encodings
πm
πs πa
I
J
πa is a subcalculus of πs is a subcalculus of πm
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
5 / 18
Preliminaries
Initial Situation on Distributability-Preserving Encodings
πm
πs πa
I
πa is a subcalculus of πs is a subcalculus of πm
I
πs → πa [Nestmann ’00]
I
J → πa [Fournet, Gonthier ’96]
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
J
5 / 18
Preliminaries
Initial Situation on Distributability-Preserving Encodings
πm
πs πa
I
πa is a subcalculus of πs is a subcalculus of πm
I
πs → πa [Nestmann ’00]
I
J → πa [Fournet, Gonthier ’96]
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
J
5 / 18
Separation Results 1
Synchronisation Pattern M A fully reachable pure M in Petri nets [van Glabbeek, Goltz, Schicke ’08/’12]:
a
K. Peters, U. Nestmann, U. Goltz ()
b
Synchronisation Patterns
c
6 / 18
Separation Results 1
Synchronisation Pattern M A fully reachable pure M in Petri nets [van Glabbeek, Goltz, Schicke ’08/’12]:
a
b
c
Theorem A Petri net is distributable iff it does not contain a fully reachable pure M.
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
6 / 18
Separation Results 1
Synchronisation Pattern M A fully reachable pure M in Petri nets [van Glabbeek, Goltz, Schicke ’08/’12]:
a
b
c
Theorem A Petri net is distributable iff it does not contain a fully reachable pure M.
I
transfer this result on Petri nets to a result between process calculi
I
propose a proof method for separation results based on synchronisation patterns
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
6 / 18
Separation Results 1
Overview
πm
πs πa
J ?
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
7 / 18
Separation Results 1
Separation Result: πa −→ 6 J y hui | y (x) .P1
|
y hv i | y (x) .P2
τ
τ
τ
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
8 / 18
Separation Results 1
Separation Result: πa −→ 6 J y hui | y (x) .P1
|
y hv i | y (x) .P2
τ
τ
τ
Example There are M in πa .
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
8 / 18
Separation Results 1
Separation Result: πa −→ 6 J y hui | y (x) .P1
|
y hv i | y (x) .P2
τ
τ
τ
Example There are M in πa . Lemma All M in the Join-Calculus are local.
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
8 / 18
Separation Results 1
Separation Result: πa −→ 6 J y hui | y (x) .P1
|
y hv i | y (x) .P2
τ
τ
τ
Example There are M in πa . Lemma All M in the Join-Calculus are local. Proposition The join-calculus is distributable, but the (asynchronous) pi-calculus is not. K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
8 / 18
Separation Results 1
Separation Result: πa −→ 6 J Lemma Every good and distributability-preserving encoding from πa into J has to split up the conflict between the blue step and the green steps.
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
9 / 18
Separation Results 1
Separation Result: πa −→ 6 J Lemma Every good and distributability-preserving encoding from πa into J has to split up the conflict between the blue step and the green steps. y hui | y (x) .P1
|
y hv i | y (x) .P2
τ
τ
τ
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
9 / 18
Separation Results 1
Separation Result: πa −→ 6 J Lemma Every good and distributability-preserving encoding from πa into J has to split up the conflict between the blue step and the green steps. [[ y hui | y (x) .P1
τ
K. Peters, U. Nestmann, U. Goltz ()
|
y hv i | y (x) .P2 ]]
τ
Synchronisation Patterns
τ
9 / 18
Separation Results 1
Separation Result: πa −→ 6 J Lemma Every good and distributability-preserving encoding from πa into J has to split up the conflict between the blue step and the green steps. [[ y hui | y (x) .P1
τ
K. Peters, U. Nestmann, U. Goltz ()
|
y hv i | y (x) .P2 ]]
τ
Synchronisation Patterns
τ
9 / 18
Separation Results 1
Separation Result: πa −→ 6 J Lemma Every good and distributability-preserving encoding from πa into J has to split up the conflict between the blue step and the green steps. [[ y hui | y (x) .P1
τ
|
y hv i | y (x) .P2 ]]
τ
τ
Theorem There is no good and distributability-preserving encoding from πa into J. K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
9 / 18
Separation Results 1
Distributability in Pi-like Calculi
πm
πs πa
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
J
10 / 18
Separation Results 1
Distributability in Pi-like Calculi
πm
πs πa
J
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
10 / 18
Separation Results 1
Distributability in Pi-like Calculi
πm
πs πa
J
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
10 / 18
Separation Results 1
Distributability in Pi-like Calculi
? πm
πs πa
J
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
10 / 18
Separation Results 2
Synchronisation Pattern ?
a
b
e
c
I
more complex synchronisation pattern
I
several M that overlap in a cycle
I
instance of dinning philosophers
d
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
11 / 18
Separation Results 2
Synchronisation Pattern ?
a
b
e
c
I
more complex synchronisation pattern
I
several M that overlap in a cycle
I
instance of dinning philosophers
d
Synchronisation Pattern New synchronisation pattern to capture the difference of mixed and separate choice.
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
11 / 18
Separation Results 2
Translational Separation Result: πm −→ 6 πs d + e.S4 τ
c + d.S3
τ
τ
e + a.S5 τ
τ b + c.S2
K. Peters, U. Nestmann, U. Goltz ()
a + b.S1
Synchronisation Patterns
12 / 18
Separation Results 2
Translational Separation Result: πm −→ 6 πs d + e.S4 τ
c + d.S3
τ
τ
e + a.S5 τ
τ b + c.S2
a + b.S1
Lemma There are no ? in πs .
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
12 / 18
Separation Results 2
Translational Separation Result: πm −→ 6 πs d + e.S4 τ
c + d.S3
τ
τ
τ
τ
τ
τ τ
τ b + c.S2
τ
e + a.S5
a + b.S1
a + b.S1
Lemma There are no ? in πs .
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
12 / 18
Separation Results 2
Translational Separation Result: πm −→ 6 πs d + e.S4 τ
c + d.S3
τ
τ
τ
e + a.S5 τ
τ
τ τ
τ b + c.S2
τ
a + b.S1
b + c.S2
a + b.S1
Lemma There are no ? in πs .
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
12 / 18
Separation Results 2
Translational Separation Result: πm −→ 6 πs d + e.S4 τ
c + d.S3
τ
τ
e + a.S5
τ
c + d.S3 τ
τ
τ τ
τ b + c.S2
τ
a + b.S1
b + c.S2
a + b.S1
Lemma There are no ? in πs .
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
12 / 18
Separation Results 2
Translational Separation Result: πm −→ 6 πs d + e.S4
d + e.S4 τ
c + d.S3
τ
τ
e + a.S5
τ
c + d.S3 τ
τ
τ τ
τ b + c.S2
τ
a + b.S1
b + c.S2
a + b.S1
Lemma There are no ? in πs .
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
12 / 18
Separation Results 2
Translational Separation Result: πm −→ 6 πs d + e.S4
d + e.S4 τ
c + d.S3
τ
τ
e + a.S5
τ
c + d.S3 τ
τ
? τ
τ
τ b + c.S2
τ
a + b.S1
b + c.S2
a + b.S1
Lemma There are no ? in πs .
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
12 / 18
Separation Results 2
Translational Separation Result: πm −→ 6 πs d + e.S4
d + e.S4 τ
c + d.S3
τ
τ
e + a.S5
τ
c + d.S3 τ
τ
? τ
τ
τ b + c.S2
τ
a + b.S1
b + c.S2
a + b.S1
Lemma There are no ? in πs . Theorem There is no good and distributability-preserving encoding from πm into πs . K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
12 / 18
Separation Results 2
Distributability in Pi-like Calculi
πm
πs πa
J
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
13 / 18
Separation Results 2
Distributability in Pi-like Calculi πm
πs πa
J
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
13 / 18
Separation Results 2
Distributability in Pi-like Calculi πm
πs πa
J
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
13 / 18
Separation Results 2
Distributability in Pi-like Calculi πm
πs πa
J Hierarchy Three different levels of distributability in pi-like calculi. K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
13 / 18
Calculi with Locations
Distributed Pi: Dπ
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
14 / 18
Calculi with Locations
Distributed Pi: Dπ
P, Q, R ::= u?(X : T )Q | u! < V > Q | goto l.P | P | Q | if u = v then P else Q | (new e : T ) P | ∗ P M, N ::=
l[P]
K. Peters, U. Nestmann, U. Goltz ()
| M|N
| (new e@l : T ) M
Synchronisation Patterns
| 0
14 / 18
Calculi with Locations
Distributed Pi: Dπ
P, Q, R ::= u?(X : T )Q | u! < V > Q | goto l.P | P | Q | if u = v then P else Q | (new e : T ) P | ∗ P M, N ::=
l[P]
| M|N
| (new e@l : T ) M
| 0
Lemma All M in the Dπ-Calculus are local.
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
14 / 18
Calculi with Locations
Distributed Pi: Dπ
P, Q, R ::= u?(X : T )Q | u! < V > Q | goto l.P | P | Q | if u = v then P else Q | (new e : T ) P | ∗ P M, N ::=
l[P]
| M|N
| (new e@l : T ) M
| 0
Lemma All M in the Dπ-Calculus are local. Theorem There is no good and distributability-preserving encoding from πa into Dπ. K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
14 / 18
Calculi with Locations
Distributability in Pi-like Calculi
πm
πs πa
J
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
15 / 18
Calculi with Locations
Distributability in Pi-like Calculi
πm
πs πa
J
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
Dπ
15 / 18
Calculi with Locations
Mobile Ambients: MA
P, Q ::= (νn)P M
::= in n
K. Peters, U. Nestmann, U. Goltz ()
| 0
|
| out n
P|Q
|
!P
| n [P]
| M.P
| open n
Synchronisation Patterns
16 / 18
Calculi with Locations
Mobile Ambients: MA
P, Q ::= (νn)P M
::= in n
| 0
|
| out n
P|Q
|
!P
| n [P]
| M.P
| open n
n [in m.P | Q] | m [R] −→ m [n [P | Q] | R] m [n [out m.P | Q] | R] −→ n [P | Q] | m [R] open n.P | n [Q] −→ P | Q
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
16 / 18
Calculi with Locations
Mobile Ambients: MA open n1 | n1 [open n2 .X] | n2 [] | n1 [n3 [out n1 .n4 [out n3 ]]] | open n4 . (X | open n1 )
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
17 / 18
Calculi with Locations
Mobile Ambients: MA open n1 | n1 [open n2 .X] | n2 [] | n1 [n3 [out n1 .n4 [out n3 ]]] | open n4 . (X | open n1 )
(a)
−→ open n2 .X | n2 [] | n1 [n3 [out n1 .n4 [out n3 ]]] | open n4 . (X | open n1 )
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
17 / 18
Calculi with Locations
Mobile Ambients: MA open n1 | n1 [open n2 .X] | n2 [] | n1 [n3 [out n1 .n4 [out n3 ]]] | open n4 . (X | open n1 )
(a)
−→ open n2 .X | n2 [] | n1 [n3 [out n1 .n4 [out n3 ]]] | open n4 . (X | open n1 )
(b)
−→ n1 [open n2 .X] | n2 [] | n3 [out n1 .n4 [out n3 ]] | open n4 . (X | open n1 )
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
17 / 18
Calculi with Locations
Mobile Ambients: MA open n1 | n1 [open n2 .X] | n2 [] | n1 [n3 [out n1 .n4 [out n3 ]]] | open n4 . (X | open n1 )
(a)
−→ open n2 .X | n2 [] | n1 [n3 [out n1 .n4 [out n3 ]]] | open n4 . (X | open n1 )
(b)
−→ n1 [open n2 .X] | n2 [] | n3 [out n1 .n4 [out n3 ]] | open n4 . (X | open n1 )
(c)
−→ open n1 | n1 [open n2 .X] | n2 [] | n1 [] | n3 [n4 [out n3 ]] | open n4 . (X | open n1 )
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
17 / 18
Calculi with Locations
Mobile Ambients: MA open n1 | n1 [open n2 .X] | n2 [] | n1 [n3 [out n1 .n4 [out n3 ]]] | open n4 . (X | open n1 ) (a)
−→ open n2 .X | n2 [] | n1 [n3 [out n1 .n4 [out n3 ]]] | open n4 . (X | open n1 )
(b)
−→ n1 [open n2 .X] | n2 [] | n3 [out n1 .n4 [out n3 ]] | open n4 . (X | open n1 )
(c)
−→ open n1 | n1 [open n2 .X] | n2 [] | n1 [] | n3 [n4 [out n3 ]] | open n4 . (X | open n1 )
Example There are processes behaving like an M in MA. K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
17 / 18
Calculi with Locations
Distributability in Pi-like Calculi πm
πs πa
J
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
Dπ
18 / 18
Calculi with Locations
Distributability in Pi-like Calculi πm MA πs πa
J
K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
Dπ
18 / 18
Calculi with Locations
Distributability in Pi-like Calculi πm MA πs πa
J
Dπ
Thank you! K. Peters, U. Nestmann, U. Goltz ()
Synchronisation Patterns
18 / 18