Synchronisation Patterns for Distributability in Process Calculi

4 downloads 74 Views 301KB Size Report
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



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



18 / 18

Calculi with Locations

Distributability in Pi-like Calculi πm MA πs πa

J

K. Peters, U. Nestmann, U. Goltz ()

Synchronisation Patterns



18 / 18

Calculi with Locations

Distributability in Pi-like Calculi πm MA πs πa

J



Thank you! K. Peters, U. Nestmann, U. Goltz ()

Synchronisation Patterns

18 / 18