Concurrency Theory Lecture 17: True Concurrency Semantics of Petri - - PowerPoint PPT Presentation

concurrency theory
SMART_READER_LITE
LIVE PREVIEW

Concurrency Theory Lecture 17: True Concurrency Semantics of Petri - - PowerPoint PPT Presentation

Lecture 17: True Concurrency Semantics of Petri Nets (I) Concurrency Theory Lecture 17: True Concurrency Semantics of Petri Nets (I) Joost-Pieter Katoen and Thomas Noll Lehrstuhl fr Informatik 2 Software Modeling and Verification Group


slide-1
SLIDE 1

Lecture 17: True Concurrency Semantics of Petri Nets (I)

Concurrency Theory

Lecture 17: True Concurrency Semantics of Petri Nets (I) Joost-Pieter Katoen and Thomas Noll

Lehrstuhl für Informatik 2 Software Modeling and Verification Group

http://moves.rwth-aachen.de/teaching/ws-19-20/ct

December 9, 2019

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 1/52

slide-2
SLIDE 2

Lecture 17: True Concurrency Semantics of Petri Nets (I)

Overview

1

Introduction

2

Nets and markings

3

The true concurrency semantics of Petri nets

4

Distributed runs

5

Summary

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 2/52

slide-3
SLIDE 3

Lecture 17: True Concurrency Semantics of Petri Nets (I) Introduction

Overview

1

Introduction

2

Nets and markings

3

The true concurrency semantics of Petri nets

4

Distributed runs

5

Summary

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 3/52

slide-4
SLIDE 4

Lecture 17: True Concurrency Semantics of Petri Nets (I) Introduction

Motivation

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 4/52

slide-5
SLIDE 5

Lecture 17: True Concurrency Semantics of Petri Nets (I) Introduction

Motivation

Nets with identical sequential runs (a occurs before b, or vice versa), but the left net allows the simultaneous execution of a and b whereas the right one does not.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 4/52

slide-6
SLIDE 6

Lecture 17: True Concurrency Semantics of Petri Nets (I) Introduction

Motivation

Nets with identical sequential runs (a occurs before b, or vice versa), but the left net allows the simultaneous execution of a and b whereas the right one does not.

Interleaving semantics cannot distinguish these nets!

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 4/52

slide-7
SLIDE 7

Lecture 17: True Concurrency Semantics of Petri Nets (I) Introduction

Motivation

Nets with identical sequential runs (a occurs before b, or vice versa), but the left net allows the simultaneous execution of a and b whereas the right one does not.

Interleaving semantics cannot distinguish these nets! This requires a finer perspective on transition execution.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 4/52

slide-8
SLIDE 8

Lecture 17: True Concurrency Semantics of Petri Nets (I) Nets and markings

Overview

1

Introduction

2

Nets and markings

3

The true concurrency semantics of Petri nets

4

Distributed runs

5

Summary

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 5/52

slide-9
SLIDE 9

Lecture 17: True Concurrency Semantics of Petri Nets (I) Nets and markings

Nets

Net A Petri net N is a triple (P, T, F) where: ◮ P is the countable set of places ◮ T is the countable set of transitions with P ∩ T = ∅ ◮ F ⊆ (P × T) ∪ (T × P) are the arcs. Places and transitions are generically called nodes. We assume that •t and t• are finite, for each t ∈ T.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 6/52

slide-10
SLIDE 10

Lecture 17: True Concurrency Semantics of Petri Nets (I) Nets and markings

Nets

Net A Petri net N is a triple (P, T, F) where: ◮ P is the countable set of places ◮ T is the countable set of transitions with P ∩ T = ∅ ◮ F ⊆ (P × T) ∪ (T × P) are the arcs. Places and transitions are generically called nodes. We assume that •t and t• are finite, for each t ∈ T.

Note that the set of places and transitions is countable, not necessarily finite (anymore).

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 6/52

slide-11
SLIDE 11

Lecture 17: True Concurrency Semantics of Petri Nets (I) Nets and markings

Nets

Net A Petri net N is a triple (P, T, F) where: ◮ P is the countable set of places ◮ T is the countable set of transitions with P ∩ T = ∅ ◮ F ⊆ (P × T) ∪ (T × P) are the arcs. Places and transitions are generically called nodes. We assume that •t and t• are finite, for each t ∈ T.

Note that the set of places and transitions is countable, not necessarily finite (anymore).

Marking A marking M of a net N = (P, T, F) is a mapping M : P → I N. For net N = (P, T, F) and marking M0, the tuple (P, T, F, M0) is called an elementary system net. M0 is the initial marking of N.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 6/52

slide-12
SLIDE 12

Lecture 17: True Concurrency Semantics of Petri Nets (I) Nets and markings

Transition occurrence

Enabling and occurrence of a transition A marking M enables a transition t if M(p) 1 for each place p ∈• t.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 7/52

slide-13
SLIDE 13

Lecture 17: True Concurrency Semantics of Petri Nets (I) Nets and markings

Transition occurrence

Enabling and occurrence of a transition A marking M enables a transition t if M(p) 1 for each place p ∈• t. Transition t can occur in marking M if t is enabled at M. Its occurrence leads to marking M′, denoted M

t

− → M′, defined for place p ∈ P by: M′(p) = M(p) − F(p, t) + F(t, p). where we represent F by its characteristic function.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 7/52

slide-14
SLIDE 14

Lecture 17: True Concurrency Semantics of Petri Nets (I) Nets and markings

Transition occurrence

Enabling and occurrence of a transition A marking M enables a transition t if M(p) 1 for each place p ∈• t. Transition t can occur in marking M if t is enabled at M. Its occurrence leads to marking M′, denoted M

t

− → M′, defined for place p ∈ P by: M′(p) = M(p) − F(p, t) + F(t, p). where we represent F by its characteristic function. M

t

− → M′ is also called a step of the net N.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 7/52

slide-15
SLIDE 15

Lecture 17: True Concurrency Semantics of Petri Nets (I) Nets and markings

Transition occurrence

Enabling and occurrence of a transition A marking M enables a transition t if M(p) 1 for each place p ∈• t. Transition t can occur in marking M if t is enabled at M. Its occurrence leads to marking M′, denoted M

t

− → M′, defined for place p ∈ P by: M′(p) = M(p) − F(p, t) + F(t, p). where we represent F by its characteristic function. M

t

− → M′ is also called a step of the net N.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 7/52

slide-16
SLIDE 16

Lecture 17: True Concurrency Semantics of Petri Nets (I) Nets and markings

Reachable markings

Step sequence A sequence of transitions σ = t1 t2 . . . tn is a step sequence if there exist markings M1 through Mn such that: M0

t1

− − → M1

t2

− − → · · ·

tn−1

− − − → Mn−1

tn

− − → Mn Marking Mn is reached by the occurrence of σ, denoted M0

σ

− − → Mn.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 8/52

slide-17
SLIDE 17

Lecture 17: True Concurrency Semantics of Petri Nets (I) Nets and markings

Reachable markings

Step sequence A sequence of transitions σ = t1 t2 . . . tn is a step sequence if there exist markings M1 through Mn such that: M0

t1

− − → M1

t2

− − → · · ·

tn−1

− − − → Mn−1

tn

− − → Mn Marking Mn is reached by the occurrence of σ, denoted M0

σ

− − → Mn. M is a reachable marking if there exists a step sequence σ with M0

σ

− − → M.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 8/52

slide-18
SLIDE 18

Lecture 17: True Concurrency Semantics of Petri Nets (I) Nets and markings

Sequential runs

Sequential run Let N be an elementary net system. A sequential run of N is a sequence M0

t1

− − → M1

t2

− − → · · ·

  • f steps of N starting with the initial marking M0. A run can be finite or
  • infinite. A finite run M0

t1

− − → M1

t1

− − → ·

tn

− − → Mn is complete if Mn does not enable any transition.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 9/52

slide-19
SLIDE 19

Lecture 17: True Concurrency Semantics of Petri Nets (I) Nets and markings

Marking graph

The marking graph of N has as nodes the reachable markings of N and as edges the reachable steps of N. A sample elementary net system Its marking graph

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 10/52

slide-20
SLIDE 20

Lecture 17: True Concurrency Semantics of Petri Nets (I) Nets and markings

The interleaving semantics of Petri nets

The interleaving semantics of a Petri net is its marking graph.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 11/52

slide-21
SLIDE 21

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

Overview

1

Introduction

2

Nets and markings

3

The true concurrency semantics of Petri nets

4

Distributed runs

5

Summary

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 12/52

slide-22
SLIDE 22

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 13/52

slide-23
SLIDE 23

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 14/52

slide-24
SLIDE 24

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 15/52

slide-25
SLIDE 25

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 16/52

slide-26
SLIDE 26

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 17/52

slide-27
SLIDE 27

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 18/52

slide-28
SLIDE 28

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 19/52

slide-29
SLIDE 29

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 20/52

slide-30
SLIDE 30

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 21/52

slide-31
SLIDE 31

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 22/52

slide-32
SLIDE 32

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 23/52

slide-33
SLIDE 33

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 24/52

slide-34
SLIDE 34

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 25/52

slide-35
SLIDE 35

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 26/52

slide-36
SLIDE 36

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 27/52

slide-37
SLIDE 37

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

The true concurrency semantics of Petri nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 28/52

slide-38
SLIDE 38

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

Interleaving versus true concurrency

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 29/52

slide-39
SLIDE 39

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

Interleaving versus true concurrency

The interleaving thesis: The total order assumption is a reasonable abstraction, adequate for practical purposes, and leading to nice mathematics

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 29/52

slide-40
SLIDE 40

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

Interleaving versus true concurrency

The interleaving thesis: The total order assumption is a reasonable abstraction, adequate for practical purposes, and leading to nice mathematics The true concurrency thesis: The total order assumption does not correspond to physical reality and leads to awkward representations of simple phenomena

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 29/52

slide-41
SLIDE 41

Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets

Interleaving versus true concurrency

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 30/52

slide-42
SLIDE 42

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Overview

1

Introduction

2

Nets and markings

3

The true concurrency semantics of Petri nets

4

Distributed runs

5

Summary

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 31/52

slide-43
SLIDE 43

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Actions

1Not to be confused with the notion of action in transition systems. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 32/52

slide-44
SLIDE 44

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Actions

A distributed run of a net is a partial-order represented as a net whose basic building blocks are actions1, simple nets

1Not to be confused with the notion of action in transition systems. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 32/52

slide-45
SLIDE 45

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Actions

A distributed run of a net is a partial-order represented as a net whose basic building blocks are actions1, simple nets Action An action is a labeled net A = (Q, { v }, G) with •v ∩ v• = ∅ and

  • v ∪ v• = Q.

1Not to be confused with the notion of action in transition systems. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 32/52

slide-46
SLIDE 46

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Actions

A distributed run of a net is a partial-order represented as a net whose basic building blocks are actions1, simple nets Action An action is a labeled net A = (Q, { v }, G) with •v ∩ v• = ∅ and

  • v ∪ v• = Q.

Actions are used to represent transition occurrences of elementary net

  • systems. If A represents transition t, then elements of Q are labeled with

in- and output places of t and v is labeled t.

1Not to be confused with the notion of action in transition systems. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 32/52

slide-47
SLIDE 47

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Actions

A distributed run of a net is a partial-order represented as a net whose basic building blocks are actions1, simple nets Action An action is a labeled net A = (Q, { v }, G) with •v ∩ v• = ∅ and

  • v ∪ v• = Q.

Actions are used to represent transition occurrences of elementary net

  • systems. If A represents transition t, then elements of Q are labeled with

in- and output places of t and v is labeled t.

1Not to be confused with the notion of action in transition systems. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 32/52

slide-48
SLIDE 48

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Mutual exclusion net and its actions

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 33/52

slide-49
SLIDE 49

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Mutual exclusion net and its actions

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 33/52

slide-50
SLIDE 50

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52

slide-51
SLIDE 51

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

A causal net constitutes the basis for a “distributed” run.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52

slide-52
SLIDE 52

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

A causal net constitutes the basis for a “distributed” run. It is a (possibly infinite) net which satisfies:

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52

slide-53
SLIDE 53

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

A causal net constitutes the basis for a “distributed” run. It is a (possibly infinite) net which satisfies:

  • 1. It has no place branches: at most one arc ends or starts in a place

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52

slide-54
SLIDE 54

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

A causal net constitutes the basis for a “distributed” run. It is a (possibly infinite) net which satisfies:

  • 1. It has no place branches: at most one arc ends or starts in a place
  • 2. It is acyclic

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52

slide-55
SLIDE 55

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

A causal net constitutes the basis for a “distributed” run. It is a (possibly infinite) net which satisfies:

  • 1. It has no place branches: at most one arc ends or starts in a place
  • 2. It is acyclic
  • 3. Each sequence of arcs (flows) has a unique first element

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52

slide-56
SLIDE 56

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

A causal net constitutes the basis for a “distributed” run. It is a (possibly infinite) net which satisfies:

  • 1. It has no place branches: at most one arc ends or starts in a place
  • 2. It is acyclic
  • 3. Each sequence of arcs (flows) has a unique first element
  • 4. The initial marking contains all places without incoming arcs.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52

slide-57
SLIDE 57

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

A causal net constitutes the basis for a “distributed” run. It is a (possibly infinite) net which satisfies:

  • 1. It has no place branches: at most one arc ends or starts in a place
  • 2. It is acyclic
  • 3. Each sequence of arcs (flows) has a unique first element
  • 4. The initial marking contains all places without incoming arcs.

Intuition No place branches, no sequence of arcs forms a loop, and each sequence of arcs has a first node.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52

slide-58
SLIDE 58

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

A causal net constitutes the basis for a distributed run. It is a possibly infinite net which satisfies:

  • 1. Has no place branches: at most one arc ends or starts in a place
  • 2. Is acyclic
  • 3. Each sequence of arcs (flows) has a first element
  • 4. The initial marking contains all places without incoming arcs

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 35/52

slide-59
SLIDE 59

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

A causal net constitutes the basis for a distributed run. It is a possibly infinite net which satisfies:

  • 1. Has no place branches: at most one arc ends or starts in a place
  • 2. Is acyclic
  • 3. Each sequence of arcs (flows) has a first element
  • 4. The initial marking contains all places without incoming arcs

Causal net A (possibly infinite) net K = (Q, V , G, M0) is called a causal net iff:

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 35/52

slide-60
SLIDE 60

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

A causal net constitutes the basis for a distributed run. It is a possibly infinite net which satisfies:

  • 1. Has no place branches: at most one arc ends or starts in a place
  • 2. Is acyclic
  • 3. Each sequence of arcs (flows) has a first element
  • 4. The initial marking contains all places without incoming arcs

Causal net A (possibly infinite) net K = (Q, V , G, M0) is called a causal net iff:

  • 1. for each q ∈ Q, |•q| 1 and |q•| 1

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 35/52

slide-61
SLIDE 61

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

A causal net constitutes the basis for a distributed run. It is a possibly infinite net which satisfies:

  • 1. Has no place branches: at most one arc ends or starts in a place
  • 2. Is acyclic
  • 3. Each sequence of arcs (flows) has a first element
  • 4. The initial marking contains all places without incoming arcs

Causal net A (possibly infinite) net K = (Q, V , G, M0) is called a causal net iff:

  • 1. for each q ∈ Q, |•q| 1 and |q•| 1
  • 2. the transitive closure (called causal order) G+ of G is irreflexive

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 35/52

slide-62
SLIDE 62

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

A causal net constitutes the basis for a distributed run. It is a possibly infinite net which satisfies:

  • 1. Has no place branches: at most one arc ends or starts in a place
  • 2. Is acyclic
  • 3. Each sequence of arcs (flows) has a first element
  • 4. The initial marking contains all places without incoming arcs

Causal net A (possibly infinite) net K = (Q, V , G, M0) is called a causal net iff:

  • 1. for each q ∈ Q, |•q| 1 and |q•| 1
  • 2. the transitive closure (called causal order) G+ of G is irreflexive
  • 3. for each node x ∈ Q ∪ V , the set { y | (y, x) ∈ G+ } is finite

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 35/52

slide-63
SLIDE 63

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

A causal net constitutes the basis for a distributed run. It is a possibly infinite net which satisfies:

  • 1. Has no place branches: at most one arc ends or starts in a place
  • 2. Is acyclic
  • 3. Each sequence of arcs (flows) has a first element
  • 4. The initial marking contains all places without incoming arcs

Causal net A (possibly infinite) net K = (Q, V , G, M0) is called a causal net iff:

  • 1. for each q ∈ Q, |•q| 1 and |q•| 1
  • 2. the transitive closure (called causal order) G+ of G is irreflexive
  • 3. for each node x ∈ Q ∪ V , the set { y | (y, x) ∈ G+ } is finite
  • 4. M0 equals the minimal set of places in K under G+, i.e.,

M0 =

  • K = { q ∈ Q |
  • q = ∅ }.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 35/52

slide-64
SLIDE 64

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal nets

A causal net constitutes the basis for a distributed run. It is a possibly infinite net which satisfies:

  • 1. Has no place branches: at most one arc ends or starts in a place
  • 2. Is acyclic
  • 3. Each sequence of arcs (flows) has a first element
  • 4. The initial marking contains all places without incoming arcs

Causal net A (possibly infinite) net K = (Q, V , G, M0) is called a causal net iff:

  • 1. for each q ∈ Q, |•q| 1 and |q•| 1
  • 2. the transitive closure (called causal order) G+ of G is irreflexive
  • 3. for each node x ∈ Q ∪ V , the set { y | (y, x) ∈ G+ } is finite
  • 4. M0 equals the minimal set of places in K under G+, i.e.,

M0 =

  • K = { q ∈ Q |
  • q = ∅ }.

Note: the “runs” of the example net (with initial marking) are all causal nets.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 35/52

slide-65
SLIDE 65

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Properties of causal nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52

slide-66
SLIDE 66

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Properties of causal nets

Lemma Let N = (P, T, F, M0) be a causal net. Then every step sequence: M0

t1

− − → M1

t2

− − → . . . . . .

tk

− − → Mk

  • f net N satisfies Mj ∩ tk• = ∅ for all j = 0, . . . , k−1.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52

slide-67
SLIDE 67

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Properties of causal nets

Lemma Let N = (P, T, F, M0) be a causal net. Then every step sequence: M0

t1

− − → M1

t2

− − → . . . . . .

tk

− − → Mk

  • f net N satisfies Mj ∩ tk• = ∅ for all j = 0, . . . , k−1.

Proof. By contraposition.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52

slide-68
SLIDE 68

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Properties of causal nets

Lemma Let N = (P, T, F, M0) be a causal net. Then every step sequence: M0

t1

− − → M1

t2

− − → . . . . . .

tk

− − → Mk

  • f net N satisfies Mj ∩ tk• = ∅ for all j = 0, . . . , k−1.

Proof. By contraposition. Consider a step sequence of net N and suppose that p ∈ Mj ∩ tk• for some p ∈ P and some 0 j < k.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52

slide-69
SLIDE 69

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Properties of causal nets

Lemma Let N = (P, T, F, M0) be a causal net. Then every step sequence: M0

t1

− − → M1

t2

− − → . . . . . .

tk

− − → Mk

  • f net N satisfies Mj ∩ tk• = ∅ for all j = 0, . . . , k−1.

Proof. By contraposition. Consider a step sequence of net N and suppose that p ∈ Mj ∩ tk• for some p ∈ P and some 0 j < k. This is impossible for j = 0, as by definition of causal nets, M0 has no ingoing arcs, and thus M0 ∩ t• = ∅ for each t ∈ T.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52

slide-70
SLIDE 70

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Properties of causal nets

Lemma Let N = (P, T, F, M0) be a causal net. Then every step sequence: M0

t1

− − → M1

t2

− − → . . . . . .

tk

− − → Mk

  • f net N satisfies Mj ∩ tk• = ∅ for all j = 0, . . . , k−1.

Proof. By contraposition. Consider a step sequence of net N and suppose that p ∈ Mj ∩ tk• for some p ∈ P and some 0 j < k. This is impossible for j = 0, as by definition of causal nets, M0 has no ingoing arcs, and thus M0 ∩ t• = ∅ for each t ∈ T. Hence, j > 0. Given that p ∈ Mj (for some j) and p ∈ M0, it follows p ∈ ti • for some 0 < i j.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52

slide-71
SLIDE 71

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Properties of causal nets

Lemma Let N = (P, T, F, M0) be a causal net. Then every step sequence: M0

t1

− − → M1

t2

− − → . . . . . .

tk

− − → Mk

  • f net N satisfies Mj ∩ tk• = ∅ for all j = 0, . . . , k−1.

Proof. By contraposition. Consider a step sequence of net N and suppose that p ∈ Mj ∩ tk• for some p ∈ P and some 0 j < k. This is impossible for j = 0, as by definition of causal nets, M0 has no ingoing arcs, and thus M0 ∩ t• = ∅ for each t ∈ T. Hence, j > 0. Given that p ∈ Mj (for some j) and p ∈ M0, it follows p ∈ ti • for some 0 < i j. (Some transition before reaching Mk must have put a token on p.)

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52

slide-72
SLIDE 72

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Properties of causal nets

Lemma Let N = (P, T, F, M0) be a causal net. Then every step sequence: M0

t1

− − → M1

t2

− − → . . . . . .

tk

− − → Mk

  • f net N satisfies Mj ∩ tk• = ∅ for all j = 0, . . . , k−1.

Proof. By contraposition. Consider a step sequence of net N and suppose that p ∈ Mj ∩ tk• for some p ∈ P and some 0 j < k. This is impossible for j = 0, as by definition of causal nets, M0 has no ingoing arcs, and thus M0 ∩ t• = ∅ for each t ∈ T. Hence, j > 0. Given that p ∈ Mj (for some j) and p ∈ M0, it follows p ∈ ti • for some 0 < i j. (Some transition before reaching Mk must have put a token on p.) Thus ti, tk ∈

  • p, where

ti = tk as F is well-founded.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52

slide-73
SLIDE 73

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Properties of causal nets

Lemma Let N = (P, T, F, M0) be a causal net. Then every step sequence: M0

t1

− − → M1

t2

− − → . . . . . .

tk

− − → Mk

  • f net N satisfies Mj ∩ tk• = ∅ for all j = 0, . . . , k−1.

Proof. By contraposition. Consider a step sequence of net N and suppose that p ∈ Mj ∩ tk• for some p ∈ P and some 0 j < k. This is impossible for j = 0, as by definition of causal nets, M0 has no ingoing arcs, and thus M0 ∩ t• = ∅ for each t ∈ T. Hence, j > 0. Given that p ∈ Mj (for some j) and p ∈ M0, it follows p ∈ ti • for some 0 < i j. (Some transition before reaching Mk must have put a token on p.) Thus ti, tk ∈

  • p, where

ti = tk as F is well-founded. But by definition every place in a causal net is non-branching.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52

slide-74
SLIDE 74

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Properties of causal nets

Lemma Let N = (P, T, F, M0) be a causal net. Then every step sequence: M0

t1

− − → M1

t2

− − → . . . . . .

tk

− − → Mk

  • f net N satisfies Mj ∩ tk• = ∅ for all j = 0, . . . , k−1.

Proof. By contraposition. Consider a step sequence of net N and suppose that p ∈ Mj ∩ tk• for some p ∈ P and some 0 j < k. This is impossible for j = 0, as by definition of causal nets, M0 has no ingoing arcs, and thus M0 ∩ t• = ∅ for each t ∈ T. Hence, j > 0. Given that p ∈ Mj (for some j) and p ∈ M0, it follows p ∈ ti • for some 0 < i j. (Some transition before reaching Mk must have put a token on p.) Thus ti, tk ∈

  • p, where

ti = tk as F is well-founded. But by definition every place in a causal net is non-branching. So also p.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52

slide-75
SLIDE 75

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Properties of causal nets

Lemma Let N = (P, T, F, M0) be a causal net. Then every step sequence: M0

t1

− − → M1

t2

− − → . . . . . .

tk

− − → Mk

  • f net N satisfies Mj ∩ tk• = ∅ for all j = 0, . . . , k−1.

Proof. By contraposition. Consider a step sequence of net N and suppose that p ∈ Mj ∩ tk• for some p ∈ P and some 0 j < k. This is impossible for j = 0, as by definition of causal nets, M0 has no ingoing arcs, and thus M0 ∩ t• = ∅ for each t ∈ T. Hence, j > 0. Given that p ∈ Mj (for some j) and p ∈ M0, it follows p ∈ ti • for some 0 < i j. (Some transition before reaching Mk must have put a token on p.) Thus ti, tk ∈

  • p, where

ti = tk as F is well-founded. But by definition every place in a causal net is non-branching. So also p. Contradicting ti, tk ∈

  • p for ti = tk.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52

slide-76
SLIDE 76

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Boundedness of causal nets

Lemma Let N = (P, T, F, M0) be a causal net. Then every step sequence: M0

t1

− − → M1

t2

− − → · · · · · ·

tk

− − → Mk

  • f net N satisfies Mj ∩ tk• = ∅ for all j = 0, . . . , k−1.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 37/52

slide-77
SLIDE 77

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Boundedness of causal nets

Lemma Let N = (P, T, F, M0) be a causal net. Then every step sequence: M0

t1

− − → M1

t2

− − → · · · · · ·

tk

− − → Mk

  • f net N satisfies Mj ∩ tk• = ∅ for all j = 0, . . . , k−1.

Boundedness of causal nets Every causal net is one-bounded, i.e., in every marking every place will hold at most one token.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 37/52

slide-78
SLIDE 78

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Boundedness of causal nets

Lemma Let N = (P, T, F, M0) be a causal net. Then every step sequence: M0

t1

− − → M1

t2

− − → · · · · · ·

tk

− − → Mk

  • f net N satisfies Mj ∩ tk• = ∅ for all j = 0, . . . , k−1.

Boundedness of causal nets Every causal net is one-bounded, i.e., in every marking every place will hold at most one token. Proof. Follows directly from the fact that the initial marking M0 is one-bounded, and by the above lemma.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 37/52

slide-79
SLIDE 79

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Completeness of a causal net

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 38/52

slide-80
SLIDE 80

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Completeness of a causal net

Absence of superfluous places and transitions Let N = (P, T, F, M0) be a causal net. Then there exists a possibly infinite step sequence M0

t1

− − → M1

t2

− − → · · · · · ·

tk

− − → Mk

tk+1

− − − → · · ·

  • f N such that P =

k0 Mk and T = { tk | k > 0 }.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 38/52

slide-81
SLIDE 81

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Completeness of a causal net

Absence of superfluous places and transitions Let N = (P, T, F, M0) be a causal net. Then there exists a possibly infinite step sequence M0

t1

− − → M1

t2

− − → · · · · · ·

tk

− − → Mk

tk+1

− − − → · · ·

  • f N such that P =

k0 Mk and T = { tk | k > 0 }.

Proof. On the black board.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 38/52

slide-82
SLIDE 82

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Completeness of a causal net

Absence of superfluous places and transitions Let N = (P, T, F, M0) be a causal net. Then there exists a possibly infinite step sequence M0

t1

− − → M1

t2

− − → · · · · · ·

tk

− − → Mk

tk+1

− − − → · · ·

  • f N such that P =

k0 Mk and T = { tk | k > 0 }.

Proof. On the black board.

A causal net thus contains no superfluous places and transitions, as every place is visited and every transition is fired in the above step sequence.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 38/52

slide-83
SLIDE 83

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Outset and end of a causal net

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 39/52

slide-84
SLIDE 84

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Outset and end of a causal net

Outset and end of a causal net The outset and end of causal net K = (Q, V , G, M) are defined by:

  • K = { q ∈ Q |
  • q = ∅ }

and K ◦ = { q ∈ Q | q• = ∅ }. Places without an incoming arc form the outset ◦K. The places without an outgoing arc form the end K ◦.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 39/52

slide-85
SLIDE 85

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

What is a distributed run?

Distributed run A distributed run of a one-bounded elementary net system N is:

  • 1. a labeled causal net KN
  • 2. in which each transition t (with •t and t•) is an action of N.

A distributed run KN of N is complete iff (the marking) ◦K represents the initial marking of N and (the marking) K ◦

N does not enable any transition.

If N is clear from the context we just write K for KN.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 40/52

slide-86
SLIDE 86

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

A distributed run for mutual exclusion

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 41/52

slide-87
SLIDE 87

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

A distributed run for mutual exclusion

Distributed run of the mutual exclusion algorithm. Actions Na, Nb, Nc and Nd causally precede Ne. They form a chain. Na and Nd are not linked by actions; they are causally independent. The same applies to Nb and Nd and Nc and Nd.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 42/52

slide-88
SLIDE 88

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Expansion of a distributed run for mutual exclusion

A distributed run (top) and its extension with actions b and c (below).

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 43/52

slide-89
SLIDE 89

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

More distributed runs

Various finite distributed runs and an infinite distributed run (right) of net (left).

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 44/52

slide-90
SLIDE 90

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal order

Opposed to sequential runs, distributed runs show the causal order of actions.

Nets with identical sequential runs (a occurs before b, or vice versa),

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 45/52

slide-91
SLIDE 91

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Causal order

Opposed to sequential runs, distributed runs show the causal order of actions.

Nets with identical sequential runs (a occurs before b, or vice versa), but the left net has the left distributed run below, the right net both other ones:

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 45/52

slide-92
SLIDE 92

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Composition of distributed runs

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 46/52

slide-93
SLIDE 93

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Composition of distributed runs

Composition of distributed runs For i = 1, 2, let Ki = (Qi, Vi, Gi) be causal nets, labeled with ℓi. Let (Q1 ∪ V1) ∩ (Q2 ∩ V2) = K ◦

1 = ◦K2 and for each p ∈ K ◦ 1 let ℓ1(p) = ℓ2(p).

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 46/52

slide-94
SLIDE 94

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Composition of distributed runs

Composition of distributed runs For i = 1, 2, let Ki = (Qi, Vi, Gi) be causal nets, labeled with ℓi. Let (Q1 ∪ V1) ∩ (Q2 ∩ V2) = K ◦

1 = ◦K2 and for each p ∈ K ◦ 1 let ℓ1(p) = ℓ2(p).

The composition of K1 and K2, denoted K1 • K2, is the causal net (Q1 ∪ Q2, V1 ∪ V2, G1 ∪ G2) labeled with ℓ with ℓ(x) = ℓi(x) if x ∈ Ki.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 46/52

slide-95
SLIDE 95

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Composition of distributed runs

Composition of distributed runs For i = 1, 2, let Ki = (Qi, Vi, Gi) be causal nets, labeled with ℓi. Let (Q1 ∪ V1) ∩ (Q2 ∩ V2) = K ◦

1 = ◦K2 and for each p ∈ K ◦ 1 let ℓ1(p) = ℓ2(p).

The composition of K1 and K2, denoted K1 • K2, is the causal net (Q1 ∪ Q2, V1 ∪ V2, G1 ∪ G2) labeled with ℓ with ℓ(x) = ℓi(x) if x ∈ Ki. Intuition

The composition K • L is formed by identifying the end K ◦ of K with the outset

  • L of L. To do this, K ◦ and ◦L must represent the same marking.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 46/52

slide-96
SLIDE 96

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Composition of distributed runs

Composition of distributed runs For i = 1, 2, let Ki = (Qi, Vi, Gi) be causal nets, labeled with ℓi. Let (Q1 ∪ V1) ∩ (Q2 ∩ V2) = K ◦

1 = ◦K2 and for each p ∈ K ◦ 1 let ℓ1(p) = ℓ2(p).

The composition of K1 and K2, denoted K1 • K2, is the causal net (Q1 ∪ Q2, V1 ∪ V2, G1 ∪ G2) labeled with ℓ with ℓ(x) = ℓi(x) if x ∈ Ki. Intuition

The composition K • L is formed by identifying the end K ◦ of K with the outset

  • L of L. To do this, K ◦ and ◦L must represent the same marking.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 46/52

slide-97
SLIDE 97

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

What is a distributed run?

Distributed run A distributed run of a one-bounded elementary net system N is:

  • 1. a labeled causal net K
  • 2. in which each transition t (with •t and t•) is an action of N.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 47/52

slide-98
SLIDE 98

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

What is a distributed run?

Distributed run A distributed run of a one-bounded elementary net system N is:

  • 1. a labeled causal net K
  • 2. in which each transition t (with •t and t•) is an action of N.

A distributed run K of N is complete iff (the marking) ◦K represents the initial marking of N and (the marking) K ◦ does not enable any transition.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 47/52

slide-99
SLIDE 99

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

What is a distributed run?

Distributed run A distributed run of a one-bounded elementary net system N is:

  • 1. a labeled causal net K
  • 2. in which each transition t (with •t and t•) is an action of N.

A distributed run K of N is complete iff (the marking) ◦K represents the initial marking of N and (the marking) K ◦ does not enable any transition. Examples on the black board.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 47/52

slide-100
SLIDE 100

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

What is a distributed run?

Distributed run A distributed run of a one-bounded elementary net system N is:

  • 1. a labeled causal net K
  • 2. in which each transition t (with •t and t•) is an action of N.

A distributed run K of N is complete iff (the marking) ◦K represents the initial marking of N and (the marking) K ◦ does not enable any transition. Examples on the black board. Today: a characterization of distributed runs using homomorphisms.

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 47/52

slide-101
SLIDE 101

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Net homomorphisms

2Here h(X) for set X of nodes is defined by h(X) = x∈X h(x). 3Due to the 1-boundedness, a marking M is a subset of the set P of places. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 48/52

slide-102
SLIDE 102

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Net homomorphisms

Homomorphism A homomorphism from N1 = (P1, T1, F1, M0,1) to N2 = (P2, T2, F2, M0,2) is a mapping h : P1 ∪ T1 → P2 ∪ T2 such that:

2Here h(X) for set X of nodes is defined by h(X) = x∈X h(x). 3Due to the 1-boundedness, a marking M is a subset of the set P of places. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 48/52

slide-103
SLIDE 103

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Net homomorphisms

Homomorphism A homomorphism from N1 = (P1, T1, F1, M0,1) to N2 = (P2, T2, F2, M0,2) is a mapping h : P1 ∪ T1 → P2 ∪ T2 such that: 2

  • 1. h(P1) ⊆ P2 and h(T1) ⊆ T2, and

2Here h(X) for set X of nodes is defined by h(X) = x∈X h(x). 3Due to the 1-boundedness, a marking M is a subset of the set P of places. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 48/52

slide-104
SLIDE 104

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Net homomorphisms

Homomorphism A homomorphism from N1 = (P1, T1, F1, M0,1) to N2 = (P2, T2, F2, M0,2) is a mapping h : P1 ∪ T1 → P2 ∪ T2 such that: 2

  • 1. h(P1) ⊆ P2 and h(T1) ⊆ T2, and
  • 2. ∀t ∈ T1, the restriction of h to •t is a bijection between •t (in N1)

and •h(t) (in N2), and similarly for t• and h(t)•, and

2Here h(X) for set X of nodes is defined by h(X) = x∈X h(x). 3Due to the 1-boundedness, a marking M is a subset of the set P of places. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 48/52

slide-105
SLIDE 105

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Net homomorphisms

Homomorphism A homomorphism from N1 = (P1, T1, F1, M0,1) to N2 = (P2, T2, F2, M0,2) is a mapping h : P1 ∪ T1 → P2 ∪ T2 such that: 2

  • 1. h(P1) ⊆ P2 and h(T1) ⊆ T2, and
  • 2. ∀t ∈ T1, the restriction of h to •t is a bijection between •t (in N1)

and •h(t) (in N2), and similarly for t• and h(t)•, and

  • 3. the restriction of h to M0,1 is a bijection between M0,1 and M0,2.3

2Here h(X) for set X of nodes is defined by h(X) = x∈X h(x). 3Due to the 1-boundedness, a marking M is a subset of the set P of places. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 48/52

slide-106
SLIDE 106

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Net homomorphisms

Homomorphism A homomorphism from N1 = (P1, T1, F1, M0,1) to N2 = (P2, T2, F2, M0,2) is a mapping h : P1 ∪ T1 → P2 ∪ T2 such that: 2

  • 1. h(P1) ⊆ P2 and h(T1) ⊆ T2, and
  • 2. ∀t ∈ T1, the restriction of h to •t is a bijection between •t (in N1)

and •h(t) (in N2), and similarly for t• and h(t)•, and

  • 3. the restriction of h to M0,1 is a bijection between M0,1 and M0,2.3

Intuition

A homomorphism is a mapping between nets that preserves the nature of nodes and the environment of nodes. A homomorphism from N1 to N2 means that N1 can be folded onto a part of N2, or in other words, that N1 can be obtained by partially unfolding a part of N2.

2Here h(X) for set X of nodes is defined by h(X) = x∈X h(x). 3Due to the 1-boundedness, a marking M is a subset of the set P of places. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 48/52

slide-107
SLIDE 107

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Distributed run using homomorphisms

Distributed run

[Best and Fernandez, 1988]

A distributed run of an elementary net system N is a pair (K, h) where K is a causal net and h is a homomorphism from K to N.4

4Best and Fernandez called this a process of a net. 5In the previous slides, the labeling h was explicitly given as ℓ. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 49/52

slide-108
SLIDE 108

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Distributed run using homomorphisms

Distributed run

[Best and Fernandez, 1988]

A distributed run of an elementary net system N is a pair (K, h) where K is a causal net and h is a homomorphism from K to N.4 Intuition

A distributed run (K, h) of N may be viewed as a net K of which the places and transitions are labeled by places and transitions of N

4Best and Fernandez called this a process of a net. 5In the previous slides, the labeling h was explicitly given as ℓ. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 49/52

slide-109
SLIDE 109

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Distributed run using homomorphisms

Distributed run

[Best and Fernandez, 1988]

A distributed run of an elementary net system N is a pair (K, h) where K is a causal net and h is a homomorphism from K to N.4 Intuition

A distributed run (K, h) of N may be viewed as a net K of which the places and transitions are labeled by places and transitions of N such that the labeling h forms a net homomorphism from K to N.5

4Best and Fernandez called this a process of a net. 5In the previous slides, the labeling h was explicitly given as ℓ. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 49/52

slide-110
SLIDE 110

Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs

Examples

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 50/52

slide-111
SLIDE 111

Lecture 17: True Concurrency Semantics of Petri Nets (I) Summary

Overview

1

Introduction

2

Nets and markings

3

The true concurrency semantics of Petri nets

4

Distributed runs

5

Summary

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 51/52

slide-112
SLIDE 112

Lecture 17: True Concurrency Semantics of Petri Nets (I) Summary

Summary

◮ A causal net is a possibly infinite net which is:

◮ well-founded, acyclic, and has no place branching, and ◮ whose initial marking are the places without incoming arcs

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 52/52

slide-113
SLIDE 113

Lecture 17: True Concurrency Semantics of Petri Nets (I) Summary

Summary

◮ A causal net is a possibly infinite net which is:

◮ well-founded, acyclic, and has no place branching, and ◮ whose initial marking are the places without incoming arcs

◮ Causal nets are one-bounded, and contain no redundant nodes

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 52/52

slide-114
SLIDE 114

Lecture 17: True Concurrency Semantics of Petri Nets (I) Summary

Summary

◮ A causal net is a possibly infinite net which is:

◮ well-founded, acyclic, and has no place branching, and ◮ whose initial marking are the places without incoming arcs

◮ Causal nets are one-bounded, and contain no redundant nodes ◮ A distributed run of N is a causal net whose nodes are labeled with nodes from N

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 52/52

slide-115
SLIDE 115

Lecture 17: True Concurrency Semantics of Petri Nets (I) Summary

Summary

◮ A causal net is a possibly infinite net which is:

◮ well-founded, acyclic, and has no place branching, and ◮ whose initial marking are the places without incoming arcs

◮ Causal nets are one-bounded, and contain no redundant nodes ◮ A distributed run of N is a causal net whose nodes are labeled with nodes from N ◮ A distributed run can be obtained by composing causal nets

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 52/52

slide-116
SLIDE 116

Lecture 17: True Concurrency Semantics of Petri Nets (I) Summary

Summary

◮ A causal net is a possibly infinite net which is:

◮ well-founded, acyclic, and has no place branching, and ◮ whose initial marking are the places without incoming arcs

◮ Causal nets are one-bounded, and contain no redundant nodes ◮ A distributed run of N is a causal net whose nodes are labeled with nodes from N ◮ A distributed run can be obtained by composing causal nets ◮ Nets that have the same causal nets are causally equivalent

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 52/52

slide-117
SLIDE 117

Lecture 17: True Concurrency Semantics of Petri Nets (I) Summary

Summary

◮ A causal net is a possibly infinite net which is:

◮ well-founded, acyclic, and has no place branching, and ◮ whose initial marking are the places without incoming arcs

◮ Causal nets are one-bounded, and contain no redundant nodes ◮ A distributed run of N is a causal net whose nodes are labeled with nodes from N ◮ A distributed run can be obtained by composing causal nets ◮ Nets that have the same causal nets are causally equivalent ◮ Distributed run = the “true concurrency” analogue to a sequential run

Joost-Pieter Katoen and Thomas Noll Concurrency Theory 52/52