49
An Operational Petri Net Semantics for the Join-Calculus Stephan Mennicke EXPRESS/SOS 2012 September 3, 2012

An Operational Petri Net Semantics for the Join-Calculus

Embed Size (px)

Citation preview

Page 1: An Operational Petri Net Semantics for the Join-Calculus

An Operational Petri Net Semantics for theJoin-Calculus

Stephan Mennicke

EXPRESS/SOS 2012September 3, 2012

Page 2: An Operational Petri Net Semantics for the Join-Calculus

Motivation I

Distributed SystemsConsist of components on different locationsResource conflicts are solved locallyNo concurrency on componentsCommunication between components is asynchronous

Distributable SystemsGiven a specification. It is distributable if there exists an implementationthat is distributed.

van Glabbeek et al. characterize these notions and criteria in terms ofPetri nets

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 2 / 17

Page 3: An Operational Petri Net Semantics for the Join-Calculus

Motivation II

Interesting structure:p q

t1 t2 t3

The M is not distributedA net is distributable iff it is M-free [van Glabbeek et al.]

Starting point for this work: There is this interesting formalism which isdesigned to be distributable.

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 3 / 17

Page 4: An Operational Petri Net Semantics for the Join-Calculus

Motivation II

Interesting structure:p q

t1 t2 t3

The M is not distributedA net is distributable iff it is M-free [van Glabbeek et al.]

Starting point for this work: There is this interesting formalism which isdesigned to be distributable.

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 3 / 17

Page 5: An Operational Petri Net Semantics for the Join-Calculus

Meet the Reflexive Chemical Abstract Machine[Fournet and Gonthier 1996]

x〈k〉 | y〈v〉 . k〈v〉

x〈c〉 | a〈2〉

y〈3〉 | a〈1〉

y〈3〉x〈c〉 a〈1〉

a〈2〉x〈c〉 | y〈3〉

a〈1〉

a〈2〉 ⇀[Berry and Boudol 1990]

↽→

c〈3〉

a〈1〉

a〈2〉

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 4 / 17

Page 6: An Operational Petri Net Semantics for the Join-Calculus

Meet the Reflexive Chemical Abstract Machine[Fournet and Gonthier 1996]

x〈k〉 | y〈v〉 . k〈v〉

x〈c〉 | a〈2〉

y〈3〉 | a〈1〉

y〈3〉x〈c〉 a〈1〉

a〈2〉x〈c〉 | y〈3〉

a〈1〉

a〈2〉 ⇀[Berry and Boudol 1990]

↽→

c〈3〉

a〈1〉

a〈2〉

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 4 / 17

Page 7: An Operational Petri Net Semantics for the Join-Calculus

Meet the Reflexive Chemical Abstract Machine[Fournet and Gonthier 1996]

x〈k〉 | y〈v〉 . k〈v〉

x〈c〉 | a〈2〉

y〈3〉 | a〈1〉

y〈3〉x〈c〉 a〈1〉

a〈2〉x〈c〉 | y〈3〉

a〈1〉

a〈2〉

⇀[Berry and Boudol 1990]

↽→

c〈3〉

a〈1〉

a〈2〉

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 4 / 17

Page 8: An Operational Petri Net Semantics for the Join-Calculus

Meet the Reflexive Chemical Abstract Machine[Fournet and Gonthier 1996]

x〈k〉 | y〈v〉 . k〈v〉

x〈c〉 | a〈2〉

y〈3〉 | a〈1〉

y〈3〉x〈c〉 a〈1〉

a〈2〉

x〈c〉 | y〈3〉

a〈1〉

a〈2〉

⇀[Berry and Boudol 1990]

↽→

c〈3〉

a〈1〉

a〈2〉

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 4 / 17

Page 9: An Operational Petri Net Semantics for the Join-Calculus

Meet the Reflexive Chemical Abstract Machine[Fournet and Gonthier 1996]

x〈k〉 | y〈v〉 . k〈v〉

x〈c〉 | a〈2〉

y〈3〉 | a〈1〉

y〈3〉x〈c〉 a〈1〉

a〈2〉

x〈c〉 | y〈3〉

a〈1〉

a〈2〉 ⇀

[Berry and Boudol 1990]↽

c〈3〉

a〈1〉

a〈2〉

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 4 / 17

Page 10: An Operational Petri Net Semantics for the Join-Calculus

Meet the Reflexive Chemical Abstract Machine[Fournet and Gonthier 1996]

x〈k〉 | y〈v〉 . k〈v〉

x〈c〉 | a〈2〉

y〈3〉 | a〈1〉

y〈3〉x〈c〉 a〈1〉

a〈2〉

x〈c〉 | y〈3〉

a〈1〉

a〈2〉

[Berry and Boudol 1990]↽

c〈3〉

a〈1〉

a〈2〉

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 4 / 17

Page 11: An Operational Petri Net Semantics for the Join-Calculus

Meet the Reflexive Chemical Abstract Machine[Fournet and Gonthier 1996]

x〈k〉 | y〈v〉 . k〈v〉

x〈c〉 | a〈2〉

y〈3〉 | a〈1〉

y〈3〉x〈c〉 a〈1〉

a〈2〉

x〈c〉 | y〈3〉

a〈1〉

a〈2〉

[Berry and Boudol 1990]

c〈3〉

a〈1〉

a〈2〉

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 4 / 17

Page 12: An Operational Petri Net Semantics for the Join-Calculus

Meet the Reflexive Chemical Abstract Machine[Fournet and Gonthier 1996]

x〈k〉 | y〈v〉 . k〈v〉

x〈c〉 | a〈2〉

y〈3〉 | a〈1〉

y〈3〉x〈c〉 a〈1〉

a〈2〉x〈c〉 | y〈3〉

a〈1〉

a〈2〉 ⇀

[Berry and Boudol 1990]

c〈3〉

a〈1〉

a〈2〉

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 4 / 17

Page 13: An Operational Petri Net Semantics for the Join-Calculus

The (Core) Join-CalculusSyntax and Semantics [Fournet and Gonthier 1996]

Syntax

P ::= 0 x〈v〉 P |P def x〈u〉|y〈v〉 . P inP

Semantics` P |Q ` P,Q` def D inP Dσdv ` Pσdv

J . P ` Jσrv → J . P ` Pσrv

In the paper: LTS-Semantics

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 5 / 17

Page 14: An Operational Petri Net Semantics for the Join-Calculus

The (Core) Join-CalculusSyntax and Semantics [Fournet and Gonthier 1996]

Syntax

P ::= 0 x〈v〉 P |P def x〈u〉|y〈v〉 . P inP

Semantics` P |Q ` P,Q` def D inP Dσdv ` Pσdv

J . P ` Jσrv → J . P ` Pσrv

In the paper: LTS-Semantics

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 5 / 17

Page 15: An Operational Petri Net Semantics for the Join-Calculus

Petri Nets

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 6 / 17

Page 16: An Operational Petri Net Semantics for the Join-Calculus

Net Semantics and the Join-Calculus

Why Net Semantics?Induce a step semantics on top of the natural oneMake Petri net theory/tools available for JoinTransfer phenomena between Petri nets and Join

Existing Net SemanticsBuscemi and Sassone 2001Bruni et al. 2006

Shared ProblemConcurrency!

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 7 / 17

Page 17: An Operational Petri Net Semantics for the Join-Calculus

Net Semantics and the Join-Calculus

Why Net Semantics?Induce a step semantics on top of the natural oneMake Petri net theory/tools available for JoinTransfer phenomena between Petri nets and Join

Existing Net SemanticsBuscemi and Sassone 2001Bruni et al. 2006

Shared ProblemConcurrency!

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 7 / 17

Page 18: An Operational Petri Net Semantics for the Join-Calculus

Concurrent Petri Net SemanticsOverview

Ingredients1 A universe of places P

2 A decomposition function mapping Join terms to subsets of P3 A transition rule

transition rule:

dec :

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 8 / 17

Page 19: An Operational Petri Net Semantics for the Join-Calculus

Concurrent Petri Net SemanticsOverview

Ingredients1 A universe of places P2 A decomposition function mapping Join terms to subsets of P

3 A transition rule

transition rule:

dec :

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 8 / 17

Page 20: An Operational Petri Net Semantics for the Join-Calculus

Concurrent Petri Net SemanticsOverview

Ingredients1 A universe of places P2 A decomposition function mapping Join terms to subsets of P

3 A transition rule

. . .dec:

transition rule:

dec :

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 8 / 17

Page 21: An Operational Petri Net Semantics for the Join-Calculus

Concurrent Petri Net SemanticsOverview

Ingredients1 A universe of places P2 A decomposition function mapping Join terms to subsets of P3 A transition rule

. . .dec:

transition rule:

dec :

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 8 / 17

Page 22: An Operational Petri Net Semantics for the Join-Calculus

Concurrent Petri Net SemanticsOverview

Ingredients1 A universe of places P2 A decomposition function mapping Join terms to subsets of P3 A transition rule

. . .

D

dec:

transition rule:

dec :

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 8 / 17

Page 23: An Operational Petri Net Semantics for the Join-Calculus

Example

def c〈v〉 . v〈〉︸ ︷︷ ︸D1

in def a〈k〉 | b〈v〉 . k〈v〉︸ ︷︷ ︸D2

in a〈c〉 | b〈42〉

a〈c〉 b〈42〉

c〈42〉42〈〉

D2

D1

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 9 / 17

Page 24: An Operational Petri Net Semantics for the Join-Calculus

Example

def c〈v〉 . v〈〉︸ ︷︷ ︸D1

in def a〈k〉 | b〈v〉 . k〈v〉︸ ︷︷ ︸D2

in a〈c〉 | b〈42〉

a〈c〉 b〈42〉

c〈42〉42〈〉

D2

D1

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 9 / 17

Page 25: An Operational Petri Net Semantics for the Join-Calculus

Example

def c〈v〉 . v〈〉︸ ︷︷ ︸D1

in def a〈k〉 | b〈v〉 . k〈v〉︸ ︷︷ ︸D2

in a〈c〉 | b〈42〉

a〈c〉 b〈42〉

c〈42〉

42〈〉

D2

D1

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 9 / 17

Page 26: An Operational Petri Net Semantics for the Join-Calculus

Example

def c〈v〉 . v〈〉︸ ︷︷ ︸D1

in def a〈k〉 | b〈v〉 . k〈v〉︸ ︷︷ ︸D2

in a〈c〉 | b〈42〉

a〈c〉 b〈42〉

c〈42〉42〈〉

D2

D1

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 9 / 17

Page 27: An Operational Petri Net Semantics for the Join-Calculus

Examples with Concurrency

1 def x〈v〉 . P inx〈EXPRESS〉 | def y〈w〉 . Q in y〈SOS〉

2 def x〈v〉 . P in def y〈w〉 . Q inx〈EXPRESS〉 | y〈SOS〉3 def x〈v〉 . P inx〈a〉 |x〈b〉4 def k1〈〉 . P1 in . . . def kn〈〉 . Pn in def cons〈〉 .k1〈〉 | . . . | k2〈〉 in cons〈〉

x〈EXPRESS〉

y〈SOS〉

P

Q

x〈v〉 . P

y〈w〉 . Q

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 10 / 17

Page 28: An Operational Petri Net Semantics for the Join-Calculus

Examples with Concurrency

1 def x〈v〉 . P inx〈EXPRESS〉 | def y〈w〉 . Q in y〈SOS〉

2 def x〈v〉 . P in def y〈w〉 . Q inx〈EXPRESS〉 | y〈SOS〉3 def x〈v〉 . P inx〈a〉 |x〈b〉4 def k1〈〉 . P1 in . . . def kn〈〉 . Pn in def cons〈〉 .k1〈〉 | . . . | k2〈〉 in cons〈〉

x〈EXPRESS〉

y〈SOS〉

P

Q

x〈v〉 . P

y〈w〉 . Q

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 10 / 17

Page 29: An Operational Petri Net Semantics for the Join-Calculus

Examples with Concurrency

1 def x〈v〉 . P inx〈EXPRESS〉 | def y〈w〉 . Q in y〈SOS〉2 def x〈v〉 . P in def y〈w〉 . Q inx〈EXPRESS〉 | y〈SOS〉

3 def x〈v〉 . P inx〈a〉 |x〈b〉4 def k1〈〉 . P1 in . . . def kn〈〉 . Pn in def cons〈〉 .k1〈〉 | . . . | k2〈〉 in cons〈〉

x〈EXPRESS〉

y〈SOS〉

P

Q

x〈v〉 . P

y〈w〉 . Q

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 10 / 17

Page 30: An Operational Petri Net Semantics for the Join-Calculus

Examples with Concurrency

1 def x〈v〉 . P inx〈EXPRESS〉 | def y〈w〉 . Q in y〈SOS〉2 def x〈v〉 . P in def y〈w〉 . Q inx〈EXPRESS〉 | y〈SOS〉

3 def x〈v〉 . P inx〈a〉 |x〈b〉4 def k1〈〉 . P1 in . . . def kn〈〉 . Pn in def cons〈〉 .k1〈〉 | . . . | k2〈〉 in cons〈〉

x〈EXPRESS〉

y〈SOS〉

P

Q

x〈v〉 . P

y〈w〉 . Q

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 10 / 17

Page 31: An Operational Petri Net Semantics for the Join-Calculus

Examples with Concurrency

1 def x〈v〉 . P inx〈EXPRESS〉 | def y〈w〉 . Q in y〈SOS〉2 def x〈v〉 . P in def y〈w〉 . Q inx〈EXPRESS〉 | y〈SOS〉3 def x〈v〉 . P inx〈a〉 |x〈b〉

4 def k1〈〉 . P1 in . . . def kn〈〉 . Pn in def cons〈〉 .k1〈〉 | . . . | k2〈〉 in cons〈〉

x〈a〉

x〈b〉

P [a/v]

P [b/v]

x〈v〉 . P

x〈v〉 . P

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 10 / 17

Page 32: An Operational Petri Net Semantics for the Join-Calculus

Examples with Concurrency

1 def x〈v〉 . P inx〈EXPRESS〉 | def y〈w〉 . Q in y〈SOS〉2 def x〈v〉 . P in def y〈w〉 . Q inx〈EXPRESS〉 | y〈SOS〉3 def x〈v〉 . P inx〈a〉 |x〈b〉4 def k1〈〉 . P1 in . . . def kn〈〉 . Pn in def cons〈〉 .k1〈〉 | . . . | k2〈〉 in cons〈〉

x〈a〉

x〈b〉

P [a/v]

P [b/v]

x〈v〉 . P

x〈v〉 . P

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 10 / 17

Page 33: An Operational Petri Net Semantics for the Join-Calculus

Correctness of the Semantics

TheoremLet P be a (core) Join term. Then its Petri net semantics N(P ) isbisimilar to P .

We prove that R = {(J, dec(J)) | J is a Join term} is a bisimulation byinduction over the structure of P .

LemmaIf P ≡ Q for P,Q (core) Join terms. Then their Petri net representationsN(P ), N(Q) are isomorphic.

1 Our semantics is correct2 It yields a reasonable degree of concurrency

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 11 / 17

Page 34: An Operational Petri Net Semantics for the Join-Calculus

Revisiting Distributability

P = def x〈u〉 | y〈v〉 . u〈v〉︸ ︷︷ ︸D

inx〈a〉 | y〈1〉 |x〈b〉 | y〈2〉

x〈a〉

y〈1〉 x〈b〉 y〈2〉

a〈1〉 b〈1〉 b〈2〉 a〈2〉

D D D D

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 12 / 17

Page 35: An Operational Petri Net Semantics for the Join-Calculus

Revisiting Distributability

P = def x〈u〉 | y〈v〉 . u〈v〉︸ ︷︷ ︸D

inx〈a〉 | y〈1〉 |x〈b〉 | y〈2〉

x〈a〉

y〈1〉 x〈b〉 y〈2〉

a〈1〉 b〈1〉 b〈2〉 a〈2〉

D D D D

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 12 / 17

Page 36: An Operational Petri Net Semantics for the Join-Calculus

Revisiting Distributability

P = def x〈u〉 | y〈v〉 . u〈v〉︸ ︷︷ ︸D

inx〈a〉 | y〈1〉 |x〈b〉 | y〈2〉

x〈a〉

y〈1〉 x〈b〉 y〈2〉

a〈1〉

b〈1〉 b〈2〉 a〈2〉

D

D D D

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 12 / 17

Page 37: An Operational Petri Net Semantics for the Join-Calculus

Revisiting Distributability

P = def x〈u〉 | y〈v〉 . u〈v〉︸ ︷︷ ︸D

inx〈a〉 | y〈1〉 |x〈b〉 | y〈2〉

x〈a〉

y〈1〉 x〈b〉 y〈2〉

a〈1〉 b〈1〉 b〈2〉 a〈2〉

D D D D

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 12 / 17

Page 38: An Operational Petri Net Semantics for the Join-Calculus

What can we learn from Join?

In Join, the Ms above must reside on one locationvan Glabbeek et al.’s theory is not directly applicableAre there any other Ms in the Join-calculus semantics?

PropositionIf N(P ) contains an M, then all transitions belonging to this Mcorrespond to the same definition.

It is worth looking at notions for distributability using a priorly givenlocation function [Best and Darondeau 2011]

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 13 / 17

Page 39: An Operational Petri Net Semantics for the Join-Calculus

Concluding Remarks

Making Petri Net Tools AvailableIn general, the proposed semantics is infiniteStructural properties:

1 •m0 = ∅2 For all p ∈ P : |•p| ≤ 13 F+ is irreflexive

So, the semantics may be used as a starting point for Petri netunfolding based techniquesStructural properties above + transition rule ensure 1-safety

Occurrence NetsThe conflict relation is not irreflexive

=⇒ We have transitions in the resulting nets which may never fire

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 14 / 17

Page 40: An Operational Petri Net Semantics for the Join-Calculus

Concluding Remarks

Making Petri Net Tools AvailableIn general, the proposed semantics is infiniteStructural properties:

1 •m0 = ∅2 For all p ∈ P : |•p| ≤ 13 F+ is irreflexive

So, the semantics may be used as a starting point for Petri netunfolding based techniquesStructural properties above + transition rule ensure 1-safety

Occurrence NetsThe conflict relation is not irreflexive

=⇒ We have transitions in the resulting nets which may never fire

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 14 / 17

Page 41: An Operational Petri Net Semantics for the Join-Calculus

Thank You!

Page 42: An Operational Petri Net Semantics for the Join-Calculus

AppendixCounter Example I

a〈b〉 | def a〈v〉 . v〈〉 in a〈c〉

and set X = {a〈v〉 . v〈〉}:

a〈b〉 a〈c〉

b〈〉 c〈〉

a〈v〉 . v〈〉 a〈v〉 . v〈〉

a〈b〉 a〈c〉

c〈〉

a〈v〉 . v〈〉

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 16 / 17

Page 43: An Operational Petri Net Semantics for the Join-Calculus

AppendixCounter Example I

a〈b〉 | def a〈v〉 . v〈〉 in a〈c〉

and set X = {a〈v〉 . v〈〉}:

a〈b〉 a〈c〉

b〈〉 c〈〉

a〈v〉 . v〈〉 a〈v〉 . v〈〉

a〈b〉 a〈c〉

c〈〉

a〈v〉 . v〈〉

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 16 / 17

Page 44: An Operational Petri Net Semantics for the Join-Calculus

AppendixCounter Example I

a〈b〉 | def a〈v〉 . v〈〉 in a〈c〉

and set X = {a〈v〉 . v〈〉}:

a〈b〉 a〈c〉

b〈〉 c〈〉

a〈v〉 . v〈〉 a〈v〉 . v〈〉

a〈b〉 a〈c〉

c〈〉

a〈v〉 . v〈〉

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 16 / 17

Page 45: An Operational Petri Net Semantics for the Join-Calculus

AppendixCounter Example I

a〈b〉 | def a〈v〉 . v〈〉 in a〈c〉

and set X = {a〈v〉 . v〈〉}:

a〈b〉 a〈c〉

b〈〉 c〈〉

a〈v〉 . v〈〉 a〈v〉 . v〈〉

a〈b〉 a〈c〉

c〈〉

a〈v〉 . v〈〉

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 16 / 17

Page 46: An Operational Petri Net Semantics for the Join-Calculus

AppendixCounter Example II

def c〈v〉 . v〈〉︸ ︷︷ ︸D1

in def a〈k〉 | b〈v〉 . k〈v〉︸ ︷︷ ︸D2

in a〈c〉 | b〈42〉

a〈c〉 D2 b〈42〉 D2

c〈42〉

D2

a〈c〉 D2D1b〈42〉 D2D1

c〈42〉 D1

42〈〉

D2

D1

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 17 / 17

Page 47: An Operational Petri Net Semantics for the Join-Calculus

AppendixCounter Example II

def c〈v〉 . v〈〉︸ ︷︷ ︸D1

in def a〈k〉 | b〈v〉 . k〈v〉︸ ︷︷ ︸D2

in a〈c〉 | b〈42〉

a〈c〉 D2 b〈42〉 D2

c〈42〉

D2

a〈c〉 D2D1b〈42〉 D2D1

c〈42〉 D1

42〈〉

D2

D1

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 17 / 17

Page 48: An Operational Petri Net Semantics for the Join-Calculus

AppendixCounter Example II

def c〈v〉 . v〈〉︸ ︷︷ ︸D1

in def a〈k〉 | b〈v〉 . k〈v〉︸ ︷︷ ︸D2

in a〈c〉 | b〈42〉

a〈c〉 D2 b〈42〉 D2

c〈42〉

D2

a〈c〉 D2D1b〈42〉 D2D1

c〈42〉 D1

42〈〉

D2

D1

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 17 / 17

Page 49: An Operational Petri Net Semantics for the Join-Calculus

AppendixCounter Example II

def c〈v〉 . v〈〉︸ ︷︷ ︸D1

in def a〈k〉 | b〈v〉 . k〈v〉︸ ︷︷ ︸D2

in a〈c〉 | b〈42〉

a〈c〉 D2 b〈42〉 D2

c〈42〉

D2

a〈c〉 D2D1b〈42〉 D2D1

c〈42〉 D1

42〈〉

D2

D1

S. Mennicke (IPS) Petri Net Semantics for Join EXPRESS/SOS 2012 17 / 17