rebecca albrecht seminar: automata theory chair of ... · conclusion •petri nets allow for a...

53
Petri Nets Rebecca Albrecht Seminar: Automata Theory Chair of Software Engeneering

Upload: others

Post on 22-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Petri Nets

Rebecca Albrecht

Seminar: Automata Theory

Chair of Software Engeneering

Page 2: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Overview

1. Motivation:

• Why not just using finite automata for everything?

• What are Petri Nets and when do we use them?

2. Introduction:

• How do Petri Nets work?

3. Languages:

• What is the general expressiveness power of Petri Nets?

4. Decidability and Complexity:

• What is the complexity of certain decision problems?

• What if we assure certain conditions?

16.07.2012 Petri Nets 2

Page 3: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Overview

1. Motivation:

• Why not just using finite automata for everything?

• What are Petri Nets and when do we use them?

2. Introduction:

3. Languages:

4. Decidability and Complexity:

16.07.2012 Petri Nets 3

Page 4: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Motivation

16.07.2012 Petri Nets 4

Consider:

• Two groups of workers produce goods of type A and type B.

• Two goods of type A and type B can be combined into type C.

The corresponding language:

𝐿 = {𝑎𝑎𝑏𝑏𝑐, 𝑎𝑏𝑎𝑏𝑐, 𝑎𝑏𝑏𝑎𝑐, 𝑏𝑎𝑏𝑎𝑐, 𝑏𝑏𝑎𝑎𝑐, 𝑏𝑎𝑎𝑏𝑐}

Page 5: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Motivation

16.07.2012 Petri Nets 5

The corresponding language:

𝐿 = {𝑎𝑎𝑏𝑏𝑐, 𝑎𝑏𝑎𝑏𝑐, 𝑎𝑏𝑏𝑎𝑐, 𝑏𝑎𝑏𝑎𝑐, 𝑏𝑏𝑎𝑎𝑐, 𝑏𝑎𝑎𝑏𝑐}

The corresponding finite automaton:

A B

B AA B

B A

BA

B A

C

Page 6: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Problem Analysis

16.07.2012 Petri Nets 6

The problem:

• A and B are produced concurrently and asynchronous.

• The production has to be synchronized when producing a C.

The solution:

• Automaton model which allows for expressing these properties of

a system or process more concise – Petri Nets.

Page 7: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Possible Solution

16.07.2012 Petri Nets 7

The corresponding language:

𝐿 = {𝑎𝑎𝑏𝑏𝑐, 𝑎𝑏𝑎𝑏𝑐, 𝑎𝑏𝑏𝑎𝑐, 𝑏𝑎𝑏𝑎𝑐, 𝑏𝑏𝑎𝑎𝑐, 𝑏𝑎𝑎𝑏𝑐}

A Petri Net for the given problem:

a a

c

b b

Page 8: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Overview

1. Motivation:

2. Introduction:

• How do Petri Nets work?

3. Languages:

4. Decidability and Complexity:

16.07.2012 Petri Nets 8

Page 9: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Structural Definitions

16.07.2012 Petri Nets 9

A Petri Net for the given problem:

𝑁 = (𝑃, 𝑇, 𝐹)

Page 10: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Structural Definitions

16.07.2012 Petri Nets 10

A Petri Net for the given problem:

𝑁 = (𝑃, 𝑇, 𝐹)

𝑃 = {𝑝0, … , 𝑝6}

p0 p1 p2

p3 p4 p5

p6

Page 11: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Structural Definitions

16.07.2012 Petri Nets 11

A Petri Net for the given problem:

𝑁 = (𝑃, 𝑇, 𝐹)

𝑃 = 𝑝0, … , 𝑝6

𝑇 = 𝑡0, … , 𝑡4

p0 p1 p2

p3 p4 p5

p6

t0 t1

t4

t2 t3

Page 12: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Structural Definitions

16.07.2012 Petri Nets 12

A Petri Net for the given problem:

𝑁 = (𝑃, 𝑇, 𝐹)

𝑃 = 𝑝0, … , 𝑝6

𝑇 = 𝑡0, … , 𝑡4

𝐹 ⊂ 𝑃 × 𝑇 ∪ 𝑇 × 𝑃

p0 p1 p2

p3 p4 p5

p6

t0 t1

t4

t2 t3

Page 13: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Structural Definitions

16.07.2012 Petri Nets 13

A Petri Net for the given problem:

𝑁 = (𝑃, 𝑇, 𝐹)

𝑃 = 𝑝0, … , 𝑝6

𝑇 = 𝑡0, … , 𝑡4

𝐹 ⊂ 𝑃 × 𝑇 ∪ 𝑇 × 𝑃

𝑚: 𝑃 → ℕ

p0 p1 p2

p3 p4 p5

p6

t0 t1

t4

t2 t3

Page 14: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Structural Definitions

16.07.2012 Petri Nets 14

A Petri Net for the given problem:

𝑁 = (𝑃, 𝑇, 𝐹)

𝑃 = 𝑝0, … , 𝑝6

𝑇 = 𝑡0, … , 𝑡4

𝐹 ⊂ 𝑃 × 𝑇 ∪ 𝑇 × 𝑃

𝑚: 𝑃 → ℕ

Σ = 𝑎, 𝑏, 𝑐

𝑙: 𝑇 → Σ

p0 p1 p2

p3 p4 p5

p6

a a

c

b b

Page 15: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Behavior

16.07.2012 Petri Nets 15

𝐿 = {𝑎𝑎𝑏𝑏𝑐, 𝑎𝑏𝑎𝑏𝑐, 𝑎𝑏𝑏𝑎𝑐, 𝑏𝑎𝑏𝑎𝑐, 𝑏𝑏𝑎𝑎𝑐, 𝑏𝑎𝑎𝑏𝑐}

A Petri Net for the given language: 𝑃 = (𝑝0, … , 𝑝6)

𝑀0 = 1, 0, 0, 1, 0, 0, 0

p0 p1 p2

p3 p4 p5

p6

a a

c

b b

Page 16: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Behavior

16.07.2012 Petri Nets 16

𝐿 = {𝑎𝑎𝑏𝑏𝑐, 𝑎𝑏𝑎𝑏𝑐, 𝑎𝑏𝑏𝑎𝑐, 𝑏𝑎𝑏𝑎𝑐, 𝑏𝑏𝑎𝑎𝑐, 𝑏𝑎𝑎𝑏𝑐}

A Petri Net for the given language: 𝑃 = (𝑝0, … , 𝑝6)

𝑀0 = 1, 0, 0, 1, 0, 0, 0

𝑀1 = 0, 1, 0, 1, 0, 0, 0

p0 p1 p2

p3 p4 p5

p6

a a

c

b b

Page 17: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Behavior

16.07.2012 Petri Nets 17

𝐿 = {𝑎𝑎𝑏𝑏𝑐, 𝑎𝑏𝑎𝑏𝑐, 𝑎𝑏𝑏𝑎𝑐, 𝑏𝑎𝑏𝑎𝑐, 𝑏𝑏𝑎𝑎𝑐, 𝑏𝑎𝑎𝑏𝑐}

A Petri Net for the given language: 𝑃 = (𝑝0, … , 𝑝6)

𝑀0 = 1, 0, 0, 1, 0, 0, 0

𝑀1 = 0, 1, 0, 1, 0, 0, 0

𝑀2 = 0, 0, 1, 1, 0, 0, 0

p0 p1 p2

p3 p4 p5

p6

a a

c

b b

Page 18: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Behavior

16.07.2012 Petri Nets 18

𝐿 = {𝑎𝑎𝑏𝑏𝑐, 𝑎𝑏𝑎𝑏𝑐, 𝑎𝑏𝑏𝑎𝑐, 𝑏𝑎𝑏𝑎𝑐, 𝑏𝑏𝑎𝑎𝑐, 𝑏𝑎𝑎𝑏𝑐}

A Petri Net for the given language: 𝑃 = (𝑝0, … , 𝑝6)

𝑀0 = 1, 0, 0, 1, 0, 0, 0

𝑀1 = 0, 1, 0, 1, 0, 0, 0

𝑀2 = 0, 0, 1, 1, 0, 0, 0

𝑀3 = 0, 0, 1, 0, 1, 0, 0

p0 p1 p2

p3 p4 p5

p6

a a

c

b b

Page 19: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Behavior

16.07.2012 Petri Nets 19

𝐿 = {𝑎𝑎𝑏𝑏𝑐, 𝑎𝑏𝑎𝑏𝑐, 𝑎𝑏𝑏𝑎𝑐, 𝑏𝑎𝑏𝑎𝑐, 𝑏𝑏𝑎𝑎𝑐, 𝑏𝑎𝑎𝑏𝑐}

A Petri Net for the given language: 𝑃 = (𝑝0, … , 𝑝6)

𝑀0 = 1, 0, 0, 1, 0, 0, 0

𝑀1 = 0, 1, 0, 1, 0, 0, 0

𝑀2 = 0, 0, 1, 1, 0, 0, 0

𝑀3 = 0, 0, 1, 0, 1, 0, 0

𝑀4 = 0, 0, 1, 0, 0, 1, 0

p0 p1 p2

p3 p4 p5

p6

a a

c

b b

Page 20: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Behavior

16.07.2012 Petri Nets 20

𝐿 = {𝑎𝑎𝑏𝑏𝑐, 𝑎𝑏𝑎𝑏𝑐, 𝑎𝑏𝑏𝑎𝑐, 𝑏𝑎𝑏𝑎𝑐, 𝑏𝑏𝑎𝑎𝑐, 𝑏𝑎𝑎𝑏𝑐}

A Petri Net for the given language: 𝑃 = (𝑝0, … , 𝑝6)

𝑀0 = 1, 0, 0, 1, 0, 0, 0

𝑀1 = 0, 1, 0, 1, 0, 0, 0

𝑀2 = 0, 0, 1, 1, 0, 0, 0

𝑀3 = 0, 0, 1, 0, 1, 0, 0

𝑀4 = 0, 0, 1, 0, 0, 1, 0

𝑀5 = 0, 0, 0, 0, 0, 0, 1

p0 p1 p2

p3 p4 p5

p6

a a

c

b b

Page 21: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Overview

1. Motivation:

2. Introduction:

3. Languages:

• What is the general expressiveness power of Petri Nets?

4. Decidability and Complexity:

16.07.2012 Petri Nets 21

Page 22: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Language Acceptance

16.07.2012 Petri Nets 22

Definition:

𝒩 = 𝑁, 𝑀𝐼 , 𝑀𝐹 , 𝑙 with,

• 𝑁 = 𝑃, 𝑇, 𝐹 a petri net,

• 𝑙: 𝑇 → Σ a labeling function, Σ a non-empty alphabet,

• and 𝑀𝐼 , 𝑀𝐹 finite sets of initial and final markings respectively,

accepts a word 𝑤 ∈ Σ∗ if there exists a firing sequence

𝜏 = 𝑡1, … , 𝑡𝑛 from 𝑚𝑖 ∈ 𝑀𝐼 to 𝑚𝑗 ∈ 𝑀𝐹

.

Page 23: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Petri Net Languages

16.07.2012 Petri Nets 23

𝑤𝑤

CSL

PNL REG CFL

𝑎𝑛𝑏𝑛𝑐𝑛 𝑤𝑤𝑅

Figure taken from [3]

Page 24: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Languge - Example

16.07.2012 Petri Nets 24

Let Σ = 𝑎, 𝑏, 𝑐 , 𝐿 = 𝑎𝑛𝑏𝑛𝑐𝑛 𝑛 > 0}

Petri Net:

• Initial marking: (1,0,0,0,0,0)

• Final marking: (0,0,0,0,0,1)

p0 a p1

a

p2

p3

b

p4

p5

c

b c

Page 25: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Languge - Example

16.07.2012 Petri Nets 25

Let Σ = 𝑎, 𝑏, 𝑐 , 𝐿 = 𝑎𝑛𝑏𝑛𝑐𝑛 𝑛 > 0}

Consider: 𝑎𝑎𝑎𝑏𝑏𝑏𝑐𝑐𝑐

Petri Net:

• Initial marking: (1,0,0,0,0,0)

• Final marking: (0,0,0,0,0,1)

p0 a p1

a

p2

p3

b

p4

p5

c

b c

Page 26: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Languge - Example

16.07.2012 Petri Nets 26

Let Σ = 𝑎, 𝑏, 𝑐 , 𝐿 = 𝑎𝑛𝑏𝑛𝑐𝑛 𝑛 > 0}

Consider: 𝑎𝑎𝑎𝑏𝑏𝑏𝑐𝑐𝑐

Petri Net:

• Initial marking: (1,0,0,0,0,0)

• Final marking: (0,0,0,0,0,1)

p0 a p1

a

p2

p3

b

p4

p5

c

b c

Page 27: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Languge - Example

16.07.2012 Petri Nets 27

Let Σ = 𝑎, 𝑏, 𝑐 , 𝐿 = 𝑎𝑛𝑏𝑛𝑐𝑛 𝑛 > 0}

Consider: 𝑎𝑎𝑎𝑏𝑏𝑏𝑐𝑐𝑐

Petri Net:

• Initial marking: (1,0,0,0,0,0)

• Final marking: (0,0,0,0,0,1)

p0 a p1

a

p2

p3

b

p4

p5

c

b c

Page 28: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Languge - Example

16.07.2012 Petri Nets 28

Let Σ = 𝑎, 𝑏, 𝑐 , 𝐿 = 𝑎𝑛𝑏𝑛𝑐𝑛 𝑛 > 0}

Consider: 𝑎𝑎𝑎𝑏𝑏𝑏𝑐𝑐𝑐

Petri Net:

• Initial marking: (1,0,0,0,0,0)

• Final marking: (0,0,0,0,0,1)

p0 a p1

a

p2

p3

b

p4

p5

c

b c

Page 29: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Languge - Example

16.07.2012 Petri Nets 29

Let Σ = 𝑎, 𝑏, 𝑐 , 𝐿 = 𝑎𝑛𝑏𝑛𝑐𝑛 𝑛 > 0}

Consider: 𝑎𝑎𝑎𝑏𝑏𝑏𝑐𝑐𝑐

Petri Net:

• Initial marking: (1,0,0,0,0,0)

• Final marking: (0,0,0,0,0,1)

p0 a p1

a

p2

p3

b

p4

p5

c

b c

Page 30: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Languge - Example

16.07.2012 Petri Nets 30

Let Σ = 𝑎, 𝑏, 𝑐 , 𝐿 = 𝑎𝑛𝑏𝑛𝑐𝑛 𝑛 > 0}

Consider: 𝑎𝑎𝑎𝑏𝑏𝑏𝑐𝑐𝑐

Petri Net:

• Initial marking: (1,0,0,0,0,0)

• Final marking: (0,0,0,0,0,1)

p0 a p1

a

p2

p3

b

p4

p5

c

b c

Page 31: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Languge - Example

16.07.2012 Petri Nets 31

Let Σ = 𝑎, 𝑏, 𝑐 , 𝐿 = 𝑎𝑛𝑏𝑛𝑐𝑛 𝑛 > 0}

Consider: 𝑎𝑎𝑎𝑏𝑏𝑏𝑐𝑐𝑐

Petri Net:

• Initial marking: (1,0,0,0,0,0)

• Final marking: (0,0,0,0,0,1)

p0 a p1

a

p2

p3

b

p4

p5

c

b c

Page 32: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Languge - Example

16.07.2012 Petri Nets 32

Let Σ = 𝑎, 𝑏, 𝑐 , 𝐿 = 𝑎𝑛𝑏𝑛𝑐𝑛 𝑛 > 0}

Consider: 𝑎𝑎𝑎𝑏𝑏𝑏𝑐𝑐𝑐

Petri Net:

• Initial marking: (1,0,0,0,0,0)

• Final marking: (0,0,0,0,0,1)

p0 a p1

a

p2

p3

b

p4

p5

c

b c

Page 33: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Languge - Example

16.07.2012 Petri Nets 33

Let Σ = 𝑎, 𝑏, 𝑐 , 𝐿 = 𝑎𝑛𝑏𝑛𝑐𝑛 𝑛 > 0}

Consider: 𝑎𝑎𝑎𝑏𝑏𝑏𝑐𝑐𝑐

Petri Net:

• Initial marking: (1,0,0,0,0,0)

• Final marking: (0,0,0,0,0,1)

p0 a p1

a

p2

p3

b

p4

p5

c

b c

Page 34: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Languge - Example

16.07.2012 Petri Nets 34

Let Σ = 𝑎, 𝑏, 𝑐 , 𝐿 = 𝑎𝑛𝑏𝑛𝑐𝑛 𝑛 > 0}

Consider: 𝑎𝑎𝑎𝑏𝑏𝑏𝑐𝑐𝑐

Petri Net:

• Initial marking: (1,0,0,0,0,0)

• Final marking: (0,0,0,0,0,1)

p0 a p1

a

p2

p3

b

p4

p5

c

b c

Page 35: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Overview

1. Motivation:

2. Introduction:

3. Languages:

4. Decidability and Complexity:

• What is the complexity of certain decision problems?

• What if we assure certain conditions?

16.07.2012 Petri Nets 35

Page 36: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Reachability Problem

Is a certain marking reachable in a Petri Net?

• I.e. can a system reach some bad state?

Analysis:

1. What about the reachability problem for Petri Nets in general?

2. Are there certain properties which allow for deciding the

reachability problem efficiently?

General analysis tool: The reachability/coverability tree.

16.07.2012 Petri Nets 36

Page 37: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Reachability Tree

16.07.2012 Petri Nets 37

Petri Net: Reachability Tree:

Example taken from [2]

p0

p1

p3

p2

t0

t1

t2

(1, 0, 1, 0)

Page 38: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Reachability Tree

16.07.2012 Petri Nets 38

Petri Net: Reachability Tree:

Example taken from [2]

t2

(1, 0, 1, 0)

(1, 0, 0, 1)p0

p1

p3

p2

t0

t1

t2

Page 39: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Reachability Tree

16.07.2012 Petri Nets 39

Petri Net: Reachability Tree:

Example taken from [2]

t2

(1, 0, 1, 0)

(1, 0, 0, 1)

(1, 1, 1, 0)t1

p0

p1

p3

p2

t0

t1

t2

Page 40: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Reachability Tree

16.07.2012 Petri Nets 40

Petri Net: Reachability Tree:

Example taken from [2]

t2

(1, 0, 1, 0)

(1, 0, 0, 1)

(1, 1, 1, 0)

(1, 1, 0, 1)

t1

t2

p0

p1

p3

p2

t0

t1

t2

Page 41: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Reachability Tree

16.07.2012 Petri Nets 41

Petri Net: Reachability Tree:

Example taken from [2]

t2

(1, 0, 1, 0)

(1, 0, 0, 1)

(1, 1, 1, 0)

(1, 1, 0, 1)

(1, 2, 1, 0)

t1

t2

t1

p0

p1

p3

p2

t0

t1

t2

Page 42: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Coverability Tree

16.07.2012 Petri Nets 42

Petri Net: Coverability Tree:

Example taken from [2]

t2

(1, 0, 1, 0)

(1, 0, 0, 1)

(1, , 1, 0)

(1, , 0, 1)

(1, , 1, 0)

t1

t2

t1

𝜔

𝜔

𝜔

p0

p1

p3

p2

t0

t1

t2

Page 43: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Coverability Tree

16.07.2012 Petri Nets 43

Petri Net: Coverability Tree:

Example taken from [2]

t2

(1, 0, 1, 0)

(1, 0, 0, 1)

(1, , 1, 0)

(1, , 0, 0) (1, , 0, 1)

(1, , 1, 0)

t1

t0 t2

t1

𝜔

𝜔

𝜔

𝜔

p0

p1

p3

p2

t0

t1

t2

Page 44: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Boundedness

16.07.2012 Petri Nets 44

Unbounded Petri Net: Coverability Tree:

A Petri net ist unbounded if and only if there exists a reachable

marking 𝑀 and a sequence of transitions 𝜎 such that:

𝑀 → 𝜎 𝑀 + 𝐿, where 𝐿 is a non-zero label

t2

(1, 0, 1, 0)

(1, 0, 0, 1)

(1, , 1, 0)

(1, , 0, 0) (1, , 0, 1)

(1, , 1, 0)

t1

t0 t2

t1

𝜔

𝜔

𝜔

𝜔

p0

p1

p3

p2

t0

t1

t2

Page 45: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Boundedness

16.07.2012 Petri Nets 45

A Petri net ist unbounded if and only if there exists a reachable

marking 𝑀 and a sequence of transitions 𝜎 such that:

𝑀 → 𝜎 𝑀 + 𝐿, where 𝐿 is a non-zero label

• Decidable in 2𝑐𝑛 log 𝑛

Subclasses of Petri Nets wrt. boundness:

• 1-bounded (or 1-safe)

• k-bounded (or bounded)

Page 46: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Conflicts

16.07.2012 Petri Nets 46

Petri Net: Coverability Tree:

t2

(1, 0, 1, 0)

(1, 0, 0, 1)

(1, , 1, 0)

(1, , 0, 0) (1, , 0, 1)

(1, , 1, 0)

t1

t0 t2

t1

𝜖

𝜖 𝜖

𝜖

p0

p1

p3

p2

t0

t1

t2

Page 47: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Conflicts

16.07.2012 Petri Nets 47

Conflicted Petri Net: Coverability Tree:

Informal Definition:

A Petri has a conflicting configuration if two or more transitions

are enabled and firing one transition disables the other transitions.

t2

(1, 0, 1, 0)

(1, 0, 0, 1)

(1, , 1, 0)

(1, , 0, 0) (1, , 0, 1)

(1, , 1, 0)

t1

t0 t2

t1

𝜖

𝜖 𝜖

𝜖

p0

p1

p3

p2

t0

t1

t2

Page 48: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Conflicts

16.07.2012 Petri Nets 48

Conflicted Petri Net: Coverability Tree:

Informal Definition:

A Petri is conflict free if it has no conflicting configurations.

t2

(1, 0, 1, 0)

(1, 0, 0, 1)

(1, , 1, 0)

(1, , 0, 0) (1, , 0, 1)

(1, , 1, 0)

t1

t0 t2

t1

𝜖

𝜖 𝜖

𝜖

p0

p1

p3

p2

t0

t1

t2

Page 49: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Reachability Problem

Is a certain marking reachable in a Petri Net?

• I.e. can a system reach some bad state?

Analysis:

1. What about the reachability problem for Petri Nets in general?

2. Are there certain properties which allow for deciding the

reachability problem efficiently?

General analysis tool: The reachability/coverability tree.

16.07.2012 Petri Nets 49

Page 50: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Reachability Problem

16.07.2012 Petri Nets 50

Decide whether a marking 𝑀 can be reached for a Petri Net 𝑁.

• In general, double exponential time.

• 1-safe, PSPACE-complete.

• Conflict-free, NP-complete.

• Bounded and conflict-free, polynominal.

Page 51: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

Conclusion

• Petri Nets allow for a concise representation of concurrent

processes.

• In general, Petri Nets recognize all regular languages, some

context-free languages and some context-sensitive

languages.

• In general, certain decision problems are harder than in other

automata models.

• The expressiveness power of Petri Nets can be restricted in

order to decide certain decision problems efficiently.

16.07.2012 Petri Nets

51

Page 52: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

References

[1] Murata, T. (1989, April). Petri Nets: Properties, Analysis

and applications. In Proceedings of the IEEE (Vol. 77, pp.

541-580).

[2] Peterson, J. L. (1977, September). Petri Nets. ACM

Computing Surveys, 9 (3), 223-252.

[3] Thomas, W. (2005) Applied Automata Theory. Script

available: http://drona.csa.iisc.ernet.in/~deepakd/atc-

common/wolfgang-aat.pdf

[4] Esparza, J. and Nielsen, M. (1995) Decidability issues for

Petri nets - a survey. In Bulletin of the EATCS, 1994.

Revised, 1995.

16.07.2012 Petri Nets 52

Page 53: Rebecca Albrecht Seminar: Automata Theory Chair of ... · Conclusion •Petri Nets allow for a concise representation of concurrent processes. •In general, Petri Nets recognize

The End

Thank you for your attention!

16.07.2012 Petri Nets 53