86
A Compositional Encoding of the Asynchronous π-Calculus into the Join-Calculus Stephan Mennicke Tobias Prehn Tsvetelina Yonova-Karbe Institute for Programming and Reactive Systems, TU Braunschweig Institute for Software Engineering and Theoretical Computer Science, TU Berlin September 3, 2012 YR-CONCUR 2012

A Compositional Encoding for the Asynchronous Pi-Calculus into the Join-Calculus

Embed Size (px)

Citation preview

A Compositional Encoding of the Asynchronousπ-Calculus into the Join-Calculus

Stephan Mennicke† Tobias Prehn‡ Tsvetelina Yonova-Karbe‡

Institute for Programming and Reactive Systems, TU Braunschweig†

Institute for Software Engineering and Theoretical Computer Science, TU Berlin‡

September 3, 2012YR-CONCUR 2012

WraP – Writing and Publishing a Scientific Paper

Supervision by Uwe Nestmann andKirstin Peters

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 2 / 15

Scope of Interest

Asynchronous π (πa) Join-Calculus

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 3 / 15

Scope of Interest

Asynchronous π (πa)

x〈v〉

x(w).P

x(w)∗.P

x(w).P |x〈v〉

P |Q

Join-Calculus

x〈v〉

def x〈w〉 | o〈〉 . P in . . . | o〈〉

def x〈w〉 . P in . . .

def x〈w〉 . P in x〈v〉

P |Q

Send

Receive

Recursion

Communication

Parallelism

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 3 / 15

Scope of Interest

Asynchronous π (πa)

x〈v〉

x(w).P

x(w)∗.P

x(w).P |x〈v〉

P |Q

Join-Calculus

x〈v〉

def x〈w〉 | o〈〉 . P in . . . | o〈〉

def x〈w〉 . P in . . .

def x〈w〉 . P in x〈v〉

P |Q

Send

Receive

Recursion

Communication

Restriction

Parallelism

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 3 / 15

Scope of Interest

Asynchronous π (πa)

x〈v〉

x(w).P

x(w)∗.P

x(w).P |x〈v〉

(νx)(x(w).P |x〈v〉)

P |Q

Join-Calculus

x〈v〉

def x〈w〉 | o〈〉 . P in . . . | o〈〉

def x〈w〉 . P in . . .

def x〈w〉 . P in x〈v〉

P |Q

Send

Receive

Recursion

Communication

Restriction

Parallelism

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 3 / 15

Scope of Interest

Asynchronous π (πa)

x〈v〉

x(w).P

x(w)∗.P

x(w).P |x〈v〉

(νx)(x(w).P |x〈v〉)

P |Q

Join-Calculus

x〈v〉

def x〈w〉 | o〈〉 . P in . . . | o〈〉

def x〈w〉 . P in . . .

def x〈w〉 . P in x〈v〉

def x〈w〉 . P in x〈v〉

P |Q

Send

Receive

Recursion

Communication

Restriction

Parallelism

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 3 / 15

Scope of Interest

Asynchronous π (πa)

x〈v〉

x(w).P

x(w)∗.P

x(w).P |x〈v〉

(νx)(x(w).P |x〈v〉)

P |Q

Join-Calculus

x〈v〉

def x〈w〉 | o〈〉 . P in . . . | o〈〉

def x〈w〉 . P in . . .

def x〈w〉 . P in x〈v〉

def x〈w〉 . P in x〈v〉

P |Q

Send

Receive

Recursion

Communication

Restriction

Parallelism

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 3 / 15

Scope of Interest

Asynchronous π (πa)

x〈v〉

x(w).P

x(w)∗.P

x(w).P |x〈v〉

(νx)(x(w).P |x〈v〉)

P |Q

Join-Calculus

x〈v〉

def x〈w〉 | o〈〉 . P in . . . | o〈〉

def x〈w〉 . P in . . .

def x〈w〉 . P in x〈v〉

def x〈w〉 . P in x〈v〉

P |Q

Send

Receive

Recursion

Communication

Restriction

Parallelism

J Kπj

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 3 / 15

An Encoding is Non-Trivial

|

x(w)

x〈v〉no (νx)

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 4 / 15

An Encoding is Non-Trivial

|

x(w)

x〈v〉no (νx)

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 4 / 15

An Encoding is Non-Trivial

|

def x

x〈v〉

|

x(w)

x〈v〉no (νx)

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 4 / 15

An Encoding is Non-Trivial

|

def x

x〈v〉

|

x(w)

x〈v〉no (νx)

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 4 / 15

The Encoding of Fournet and Gonthier[Fournet and Gonthier(1996)]

First Layer

x〈v〉 7→ xo〈v〉P |Q 7→ P |Qx(w).P 7→ def κ . JP K in xi(νx)P 7→ def xi |xo . κ in JP K

Second Layer

Restrict all free names

Is this good?

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 5 / 15

The Encoding of Fournet and Gonthier[Fournet and Gonthier(1996)]

First Layerx〈v〉 7→ xo〈v〉P |Q 7→ P |Q

x(w).P 7→ def κ . JP K in xi(νx)P 7→ def xi |xo . κ in JP K

Second Layer

Restrict all free names

Is this good?

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 5 / 15

The Encoding of Fournet and Gonthier[Fournet and Gonthier(1996)]

First Layerx〈v〉 7→ xo〈v〉P |Q 7→ P |Qx(w).P 7→ def κ . JP K in xi

(νx)P 7→ def xi |xo . κ in JP K

Second Layer

Restrict all free names

Is this good?

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 5 / 15

The Encoding of Fournet and Gonthier[Fournet and Gonthier(1996)]

First Layerx〈v〉 7→ xo〈v〉P |Q 7→ P |Qx(w).P 7→ def κ . JP K in xi(νx)P 7→ def xi |xo . κ in JP K

Second Layer

Restrict all free names

Is this good?

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 5 / 15

The Encoding of Fournet and Gonthier[Fournet and Gonthier(1996)]

First Layerx〈v〉 7→ xo〈v〉P |Q 7→ P |Qx(w).P 7→ def κ . JP K in xi(νx)P 7→ def xi |xo . κ in JP K

Second LayerRestrict all free names

Is this good?

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 5 / 15

The Encoding of Fournet and Gonthier[Fournet and Gonthier(1996)]

First Layerx〈v〉 7→ xo〈v〉P |Q 7→ P |Qx(w).P 7→ def κ . JP K in xi(νx)P 7→ def xi |xo . κ in JP K

Second LayerRestrict all free names

Is this good?S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 5 / 15

Gorla’s Criteria for Good Encodings [Gorla(2010)]

J.K

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 6 / 15

Gorla’s Criteria for Good Encodings [Gorla(2010)]

J.K

I. Compositionality

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 6 / 15

Gorla’s Criteria for Good Encodings [Gorla(2010)]

J.K

I. Compositionality

II. Name Invariance

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 6 / 15

Gorla’s Criteria for Good Encodings [Gorla(2010)]

Syntactic Criteria

J.K

I. Compositionality

II. Name Invariance

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 6 / 15

Gorla’s Criteria for Good Encodings [Gorla(2010)]

Syntactic Criteria

J.K

I. Compositionality

II. Name Invariance

III. Operational Correspondence

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 6 / 15

Gorla’s Criteria for Good Encodings [Gorla(2010)]

Syntactic Criteria

J.K

I. Compositionality

II. Name Invariance

III. Operational Correspondence

IV. Divergence Reflection

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 6 / 15

Gorla’s Criteria for Good Encodings [Gorla(2010)]

Syntactic Criteria

J.K

I. Compositionality

II. Name Invariance

III. Operational Correspondence

IV. Divergence Reflection

V. Success Sensitiveness

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 6 / 15

Gorla’s Criteria for Good Encodings [Gorla(2010)]

Semantic CriteriaSyntactic Criteria

J.K

I. Compositionality

II. Name Invariance

III. Operational Correspondence

IV. Divergence Reflection

V. Success Sensitiveness

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 6 / 15

Fournet and Gonthier’s Encoding Revisited

First level encoding is compositional and operationally correspondentfor closed terms

First level encoding is not operationally correspondent for opentermsFirst+Second level encoding is not compositional

Our Approach

We introduce send/receive requests carrying the channel namesWe keep the main idea of restrictionWe implement a protocol to handle communication[Peters and Nestmann(2011)]We need matching to decide which requests may cooperate

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 7 / 15

Fournet and Gonthier’s Encoding Revisited

First level encoding is compositional and operationally correspondentfor closed termsFirst level encoding is not operationally correspondent for openterms

First+Second level encoding is not compositional

Our Approach

We introduce send/receive requests carrying the channel namesWe keep the main idea of restrictionWe implement a protocol to handle communication[Peters and Nestmann(2011)]We need matching to decide which requests may cooperate

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 7 / 15

Fournet and Gonthier’s Encoding Revisited

First level encoding is compositional and operationally correspondentfor closed termsFirst level encoding is not operationally correspondent for opentermsFirst+Second level encoding is not compositional

Our Approach

We introduce send/receive requests carrying the channel namesWe keep the main idea of restrictionWe implement a protocol to handle communication[Peters and Nestmann(2011)]We need matching to decide which requests may cooperate

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 7 / 15

Fournet and Gonthier’s Encoding Revisited

First level encoding is compositional and operationally correspondentfor closed termsFirst level encoding is not operationally correspondent for opentermsFirst+Second level encoding is not compositional

Our Approach

We introduce send/receive requests carrying the channel namesWe keep the main idea of restrictionWe implement a protocol to handle communication[Peters and Nestmann(2011)]We need matching to decide which requests may cooperate

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 7 / 15

Fournet and Gonthier’s Encoding Revisited

First level encoding is compositional and operationally correspondentfor closed termsFirst level encoding is not operationally correspondent for opentermsFirst+Second level encoding is not compositional

Our ApproachWe introduce send/receive requests carrying the channel names

We keep the main idea of restrictionWe implement a protocol to handle communication[Peters and Nestmann(2011)]We need matching to decide which requests may cooperate

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 7 / 15

Fournet and Gonthier’s Encoding Revisited

First level encoding is compositional and operationally correspondentfor closed termsFirst level encoding is not operationally correspondent for opentermsFirst+Second level encoding is not compositional

Our ApproachWe introduce send/receive requests carrying the channel namesWe keep the main idea of restriction

We implement a protocol to handle communication[Peters and Nestmann(2011)]We need matching to decide which requests may cooperate

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 7 / 15

Fournet and Gonthier’s Encoding Revisited

First level encoding is compositional and operationally correspondentfor closed termsFirst level encoding is not operationally correspondent for opentermsFirst+Second level encoding is not compositional

Our ApproachWe introduce send/receive requests carrying the channel namesWe keep the main idea of restrictionWe implement a protocol to handle communication[Peters and Nestmann(2011)]

We need matching to decide which requests may cooperate

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 7 / 15

Fournet and Gonthier’s Encoding Revisited

First level encoding is compositional and operationally correspondentfor closed termsFirst level encoding is not operationally correspondent for opentermsFirst+Second level encoding is not compositional

Our ApproachWe introduce send/receive requests carrying the channel namesWe keep the main idea of restrictionWe implement a protocol to handle communication[Peters and Nestmann(2011)]We need matching to decide which requests may cooperate

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 7 / 15

The Big Picture

(1) J x〈v〉 Kπj = def lf 〈t, f〉 | false〈〉 . f〈〉 | false〈〉 in(2) def lt〈t, f〉 | true〈〉 . t〈〉 | false〈〉 in(3) def l〈t, f〉 . lt〈t, f〉 | lf 〈t, f〉 in sr〈x, v, l〉 | true〈〉(4) J P |Q Kπj = def rrτ 〈c, k〉 | trans0〈m〉 . m〈c, k〉 | trans0〈m〉 in(5) def chain〈trans0〉 | srτ 〈c, v, l〉.(6) def mup〈c, k〉 | trans〈m〉 . m〈c, k〉 | trans〈m〉 in(7) def m〈c′, k〉.(8) [c = c′]k〈v, l〉 |mup〈c′, k〉(9) in trans0〈m〉 | chain〈trans〉

(10) in chain〈trans0〉 |(11) def sr〈c, v, l〉 . srup〈c, v, l〉 | srτ 〈c, v, l〉 in(12) def srup〈c, v, l〉 . sr〈c, v, l〉 in(13) def rr〈c, k〉 . rrup〈c, k〉 | rrτ 〈c, k〉 in(14) def rrup〈c, k〉 . rr〈c, k〉 in(15) J P Kπj | J Q Kπj(16) J x(v).P Kπj = def k〈v, l〉 | once〈〉.(17) def t〈〉 . J P Kπj in(18) def f〈〉 . once〈〉 in l〈t, f〉(19) in rr〈x, k〉 | once〈〉(20) J (νx)P Kπj = def x〈〉 . 0 in J P Kπj

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 8 / 15

What our Encoding does

P = (νx)(y〈a〉 |x(u).Q) |x〈b〉 | y(z).R

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 9 / 15

What our Encoding does

P = (νx)(y〈a〉 |x(u).Q) |x〈b〉 | y(z).R

|

νx |

|

y x

x y

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 9 / 15

What our Encoding does

P = (νx)(y〈a〉 |x(u).Q) |x〈b〉 | y(z).R

|

νx |

|

y x

x y

y x

x y

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 9 / 15

What our Encoding does

P = (νx)(y〈a〉 |x(u).Q) |x〈b〉 | y(z).R

|

νx |

|

y x

x y

x

x yy

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 9 / 15

What our Encoding does

P = (νx)(y〈a〉 |x(u).Q) |x〈b〉 | y(z).R

|

νx |

|

y x

x y

x

x yy

y

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 9 / 15

What our Encoding does

P = (νx)(y〈a〉 |x(u).Q) |x〈b〉 | y(z).R

|

νx |

|

y x

x yx yy

y

x

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 9 / 15

What our Encoding does

P = (νx)(y〈a〉 |x(u).Q) |x〈b〉 | y(z).R

|

νxνx |

|

y x

x yx yy

y

x

x

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 9 / 15

What our Encoding does

P = (νx)(y〈a〉 |x(u).Q) |x〈b〉 | y(z).R

|

νx |

|

y x

x y yy

y

x

x

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 9 / 15

What our Encoding does

P = (νx)(y〈a〉 |x(u).Q) |x〈b〉 | y(z).R

|

νx |

|

y x

x yy

y

x

x y

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 9 / 15

What our Encoding does

P = (νx)(y〈a〉 |x(u).Q) |x〈b〉 | y(z).R

|

νx |

|

y x

x yy

y

x

x y

y

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 9 / 15

What our Encoding does

P = (νx)(y〈a〉 |x(u).Q) |x〈b〉 | y(z).R

|

νx |

|

y x

x yy

y

x

x y

y

x

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 9 / 15

What our Encoding does

P = (νx)(y〈a〉 |x(u).Q) |x〈b〉 | y(z).R

|

νx |

|

y x

x yy

y

x

x y

y

x

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 9 / 15

What our Encoding does

P = (νx)(y〈a〉 |x(u).Q) |x〈b〉 | y(z).R

|

νx |

|

y x

x yy

y

x

x y

y

x

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 9 / 15

What our Encoding does

P = (νx)(y〈a〉 |x(u).Q) |x〈b〉 | y(z).R

|

νx |

|

y x

x yy

y

x

x y

y

x

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 9 / 15

A Receive Requests (x(v).P )

x

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 10 / 15

A Receive Requests (x(v).P )

def krr〈x, k〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 10 / 15

A Receive Requests (x(v).P )

def k

rr〈x, k〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 10 / 15

A Receive Requests (x(v).P )

def k

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 10 / 15

A Receive Requests (x(v).P )

def k

k〈v, l〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 10 / 15

A Receive Requests (x(v).P )

k〈v, l〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 10 / 15

A Receive Requests (x(v).P )

if l then JP K

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 10 / 15

B Send Requests (x〈v〉)

x

def lsr〈x, v, l〉true〈〉

def ltrue〈〉

sr〈x, v, l〉l〈t, f〉

def l

t〈〉l〈t, f〉f〈〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 11 / 15

B Send Requests (x〈v〉)

x

def lsr〈x, v, l〉true〈〉

def ltrue〈〉

sr〈x, v, l〉l〈t, f〉

def l

t〈〉l〈t, f〉f〈〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 11 / 15

B Send Requests (x〈v〉)

x

def lsr〈x, v, l〉true〈〉

def ltrue〈〉

sr〈x, v, l〉

l〈t, f〉

def l

t〈〉l〈t, f〉f〈〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 11 / 15

B Send Requests (x〈v〉)

x

def lsr〈x, v, l〉true〈〉

def ltrue〈〉

sr〈x, v, l〉l〈t, f〉

def l

t〈〉l〈t, f〉f〈〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 11 / 15

B Send Requests (x〈v〉)

x

def lsr〈x, v, l〉true〈〉

def ltrue〈〉

sr〈x, v, l〉

l〈t, f〉

def l

t〈〉l〈t, f〉f〈〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 11 / 15

B Send Requests (x〈v〉)

x

def lsr〈x, v, l〉true〈〉

def ltrue〈〉

sr〈x, v, l〉l〈t, f〉

def l

t〈〉

l〈t, f〉f〈〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 11 / 15

B Send Requests (x〈v〉)

x

def lsr〈x, v, l〉true〈〉

def ltrue〈〉

sr〈x, v, l〉l〈t, f〉

def l

t〈〉

l〈t, f〉

f〈〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 11 / 15

B Send Requests (x〈v〉)

x

def lsr〈x, v, l〉true〈〉

def ltrue〈〉

sr〈x, v, l〉l〈t, f〉

def l

t〈〉l〈t, f〉

f〈〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 11 / 15

C Restriction (νx)

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 12 / 15

C Restriction (νx)

¬x

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 12 / 15

D Parallel Composition ( | )

Remember this?J P |Q Kπj = def rrτ 〈c, k〉 | trans0〈m〉 . m〈c, k〉 | trans0〈m〉 in

def chain〈trans0〉 | srτ 〈c, v, l〉.def mup〈c, k〉 | trans〈m〉 . m〈c, k〉 | trans〈m〉 indef m〈c′, k〉.

[c = c′]k〈v, l〉 |mup〈c′, k〉in trans0〈m〉 | chain〈trans〉

in chain〈trans0〉 |def sr〈c, v, l〉 . srup〈c, v, l〉 | srτ 〈c, v, l〉 indef srup〈c, v, l〉 . sr〈c, v, l〉 indef rr〈c, k〉 . rrup〈c, k〉 | rrτ 〈c, k〉 indef rrup〈c, k〉 . rr〈c, k〉 inJ P Kπj | J Q Kπj

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 13 / 15

D Parallel Composition ( | )

|

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 13 / 15

D Parallel Composition ( | )

|

sr〈x1, v1, l1〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 13 / 15

D Parallel Composition ( | )

|

rr〈y1, k1〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 13 / 15

D Parallel Composition ( | )

sr〈x1, v1, l1〉, . . . , sr〈xn, vn, ln〉rr〈y1, k1〉, . . . , rr〈yn, kn〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 13 / 15

D Parallel Composition ( | )

sr〈x1, v1, l1〉, . . . , sr〈xn, vn, ln〉rr〈y1, k1〉, . . . , rr〈yn, kn〉

sr/rr

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 13 / 15

D Parallel Composition ( | )

sr〈x1, v1, l1〉, . . . , sr〈xn, vn, ln〉rr〈y1, k1〉, . . . , rr〈yn, kn〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 13 / 15

D Parallel Composition ( | )

sr〈x1, v1, l1〉, . . . , sr〈xn, vn, ln〉rr〈y1, k1〉, . . . , rr〈yn, kn〉

sr〈x1, v1, l1〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 13 / 15

D Parallel Composition ( | )

sr〈x1, v1, l1〉, . . . , sr〈xn, vn, ln〉rr〈y1, k1〉, . . . , rr〈yn, kn〉

sr〈x1, v1, l1〉

sr〈x2, v2, l2〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 13 / 15

D Parallel Composition ( | )

rr〈y1, k1〉, . . . , rr〈yn, kn〉

sr〈x1, v1, l1〉

sr〈x2, v2, l2〉

. . .

sr〈xn, vn, ln〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 13 / 15

D Parallel Composition ( | )

rr〈y1, k1〉, . . . , rr〈yn, kn〉

sr〈x1, v1, l1〉

sr〈x2, v2, l2〉

. . .

sr〈xn, vn, ln〉

rr〈yi, ki〉 if x1 = yi then ki〈v1, l1〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 13 / 15

D Parallel Composition ( | )

rr〈y1, k1〉, . . . , rr〈yn, kn〉

sr〈x1, v1, l1〉

sr〈x2, v2, l2〉

. . .

sr〈xn, vn, ln〉

rr〈yi, ki〉 if x2 = yi then ki〈v2, l2〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 13 / 15

D Parallel Composition ( | )

sr〈x1, v1, l1〉

sr〈x2, v2, l2〉

. . .

sr〈xn, vn, ln〉

k2〈v1, l1〉, k9〈v42, l42〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 13 / 15

D Parallel Composition ( | )

sr〈x1, v1, l1〉

sr〈x2, v2, l2〉

. . .

sr〈xn, vn, ln〉

k9〈v42, l42〉

k2〈v1, l1〉

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 13 / 15

Take-Home-Points

1 There is a good encoding from πa to Join: ours!

2 It is compositional3 Strong Conjecture: It is operationally correspondent

Thank you!

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 14 / 15

Take-Home-Points

1 There is a good encoding from πa to Join: ours!2 It is compositional

3 Strong Conjecture: It is operationally correspondent

Thank you!

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 14 / 15

Take-Home-Points

1 There is a good encoding from πa to Join: ours!2 It is compositional3 Strong Conjecture: It is operationally correspondent

Thank you!

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 14 / 15

Take-Home-Points

1 There is a good encoding from πa to Join: ours!2 It is compositional3 Strong Conjecture: It is operationally correspondent

Thank you!

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 14 / 15

Bibliography

Cédric Fournet and Georges Gonthier.The reflexive chemical abstract machine and the join-calculus.pages 372–385, 1996.

D. Gorla.Towards a Unified Approach to Encodability and Separation Resultsfor Process Calculi.Information and Computation, 208(9) 1031–1053, 2010.

K. Peters and U. Nestmann.Breaking Symmetries.Submitted to Mathematical Structures in Computer Science, 2011.

S. Mennicke (TU Braunschweig) Compositional πa ⇒ Join YR-CONCUR 2012 15 / 15