An Introduction to Petri nets and how to analyse...

341
G. Geeraerts Groupe de Vérification - Département d’Informatique Université Libre de Bruxelles An Introduction to Petri nets and how to analyse them... 1

Transcript of An Introduction to Petri nets and how to analyse...

Page 1: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

G. Geeraerts

Groupe de Vérification - Département d’Informatique Université Libre de Bruxelles

An Introduction to Petri netsand how to analyse them...

1

Page 2: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Introduction

2

Page 3: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Introduction

• Concurrency: property of a “system” in which many “entities” act at the same time and interact.

• Often found in many application:

• Computer science (e.g.: parallel computing)

• Workflow

• Manufacturing systems

• ....

3

Page 4: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

IntroductionConcurrency

4

Page 5: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

IntroductionConcurrency

Work in parallel4

Page 6: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

IntroductionConcurrency

Work in parallel

Must wait for thetwo other machines

4

Page 7: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Can write orread on the DB

Can write orread on the DB

IntroductionConcurrency

5

Page 8: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

IntroductionConcurrency

Boss

6

Page 9: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

IntroductionConcurrency

Boss

6

Page 10: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

IntroductionConcurrency

Boss

Employees: work in parallel6

Page 11: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

IntroductionConcurrency

Boss

Employees: work in parallel

gives work

6

Page 12: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

IntroductionConcurrency

Boss

Employees: work in parallel

gives work

6

Page 13: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

IntroductionConcurrency

Boss

Employees: work in parallel

gives work

6

Page 14: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

IntroductionConcurrency

Boss

Employees: work in parallel

gives work receives credit for the results

6

Page 15: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Introduction

• Petri nets are a tool to model concurrent systems and reason about them.

• Invented in 1962 by C.A. Petri.

7

Page 16: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The aim of the talk

• Introduce you to Petri nets (and some of their extensions)

• Explain several analysis methods for PN

• i.e., what can you ‘ask’ about a PN ?

• Give a rough idea of the research in the verification group at ULB...

• ... and foster new collaborations ?

8

Page 17: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

How I use Petri nets

template <typename T> T Max(T a, T b){ return a < b ? b : a;} #include <string>int main() // fonction main{ int i = Max(3, 5); char c = Max('e', 'b'); std::string s = Max(std::string("hello"), std::string("world")); float f = Max<float>(1, 2.2f);

2 GEERAERTS, RASKIN, AND VAN BEGIN

p1

p2

p4

p5

p3

p6 p7

t1

t3

t4

t5 t6t2

t7 t8

2

Figure 1: The Petri net on which the algorithm proposed in [?] may not compute the wholecoverability set.

!p1"

!p2"

!p3"

!p3, p5"

t1

t2

t3 · t4!

(a) Step 1.

!1, 0, 0, 0, 0"

!0, 1, 0, 0, 0"

!0, 0, 1, 0,!"

!0, 0, 0, 1, 2"

!0, 0, 1, 0, 3"

t5

t4

<

(b) Step 2.

!1, 0, 0, 0, 0"

!0, 1, 0, 0, 0"

!0, 0, 1, 0,!"

!0, 0, 0, 1, 2"

!#"

!0, 1, 0, 0, 1"

t6

<

(c) Step 3.

Figure 2: A counter-example to Finkel’s algorithm. Nodes and edges in grey have beenremoved. Thick grey arrows represent the proofs.

Analysis methodof PN

abstraction

9

Page 18: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

How you might use PN2 GEERAERTS, RASKIN, AND VAN BEGIN

p1

p2

p4

p5

p3

p6 p7

t1

t3

t4

t5 t6t2

t7 t8

2

Figure 1: The Petri net on which the algorithm proposed in [?] may not compute the wholecoverability set.

!p1"

!p2"

!p3"

!p3, p5"

t1

t2

t3 · t4!

(a) Step 1.

!1, 0, 0, 0, 0"

!0, 1, 0, 0, 0"

!0, 0, 1, 0,!"

!0, 0, 0, 1, 2"

!0, 0, 1, 0, 3"

t5

t4

<

(b) Step 2.

!1, 0, 0, 0, 0"

!0, 1, 0, 0, 0"

!0, 0, 1, 0,!"

!0, 0, 0, 1, 2"

!#"

!0, 1, 0, 0, 1"

t6

<

(c) Step 3.

Figure 2: A counter-example to Finkel’s algorithm. Nodes and edges in grey have beenremoved. Thick grey arrows represent the proofs.

Analysis methodof PN

abstractionYour favorite application

10

Page 19: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Intuitions

11

Page 20: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

IngredientsA Petri net is made up of...

Places

Transitions

Tokens

= some type of resource

consume and produceresources

= one unity of a certain resource

Tokens ‘live’ in the places12

Page 21: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

TransitionsInput places

Output places

2

3

13

Page 22: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Firing a transition

2

3

Transitions consume tokens from the input places and produce tokens in the output places

14

Page 23: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Firing a transition

2

3

Transitions consume tokens from the input places and produce tokens in the output places

Now, the transition cannot be fired anymore

15

Page 24: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example 1

Can write orread on the DB

Can write orread on the DB

The two machines cannot write at the same time

16

Page 25: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example 1read

write

idle

write

read

idle

The token tells us the state of the process

17

Page 26: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example 1read

write

idle

write

read

idle

The token tells us the state of the process

18

Page 27: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example 1read

write

idle

write

read

idle

The token tells us the state of the process

19

Page 28: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example 1read

write

idle

write

read

idle

The token tells us the state of the process

20

Page 29: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example 1read

write

idle

write

read

idle

The token tells us the state of the process

21

Page 30: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example 1read

write

idle

write

read

idle

Add a lock to ensure mutual exclusion22

Page 31: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example 1read

write

idle

write

idle

23

Page 32: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example 216 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

mutex M ;

Process P { repeat { take M ; critical ; release M ; }}

24

Page 33: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example 216 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

mutex M ;

Process P { repeat { take M ; critical ; release M ; }}

Here, we have applied a counting abstraction

24

Page 34: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Plan of the talk

• Preliminaries

• Tools for the analysis of PN

• reachability tree and reachability graph

• place invariants

• Karp & Miller and the coverability set

• The coverability problem

• More on PN: extensions...

• Conclusion

25

Page 35: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Plan of the talk

• Preliminaries

• Tools for the analysis of PN

• reachability tree and reachability graph

• place invariants

• Karp & Miller and the coverability set

• The coverability problem

• More on PN: extensions...

• Conclusion

Det

aile

d co

vera

geSu

rvey

25

Page 36: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Preliminaries

26

Page 37: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Formal definition

• A Petri net is a tuple 〈P, T〉where:

• P is the (finite) set of places

• T is the (finite) set of transitions. Each transition t is a tuple 〈I, O〉where:

• I: is a function s.t. t consumes I(p) tokens in each place p

• O is a function s.t. t produces O(p) tokens in each place p

27

Page 38: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

2

3

tp1

p2

p5

p4

p3

I(p1)=2 I(p2)=1 I(p3)=0 I(p4)=0 I(p5)=0O(p1)=0 O(p2)=0 O(p3)=1 O(p4)=3 O(p5)=1

28

Page 39: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Markings

• The distribution of the tokens in the places is formalised by the notion of marking, which can be seen:

• either as a function m, s.t. m(p) is the number of tokens in place p

• or as a vector m=〈m1, m2,... mn〉where mi is the number of tokens in place pi

29

Page 40: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

2

3

tp1

p2

p5

p4

p3

m =〈1,1,1,2,0〉m = 〈 p1, p2, p3, 2p4〉

m(p1)=1, m(p2)=1, m(p3)=1, m(p4)=2, m(p5)=0

30

Page 41: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Firing a transition

• A transition t = 〈I,O〉can be fired from m iff for any place p:

m(p) ≥ I(p)

• The firing transforms the marking m into a marking m’ s.t. for any place p:

m’(p) = m(p) - I(p) + O(p)

• Notation: m→m’

• Notation: Post(m) = {m’ | m→m’}

31

Page 42: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

32

Page 43: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

Post(〈1, 1, 0〉)={〈2, 1, 0〉,〈0, 0, 1〉}

32

Page 44: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

Post(〈1, 1, 0〉)={〈2, 1, 0〉,〈0, 0, 1〉}

32

Page 45: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

Post(〈1, 1, 0〉)={〈2, 1, 0〉,〈0, 0, 1〉}

32

Page 46: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

Post(〈1, 1, 0〉)={〈2, 1, 0〉,〈0, 0, 1〉}

32

Page 47: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

Post(〈1, 1, 0〉)={〈2, 1, 0〉,〈0, 0, 1〉}

32

Page 48: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Initial markingReachable markings

• All PN are equipped with an initial marking m0

• If two markings m and m’ are s.t.:

m→m1→m2→…→m’

Then m’ is reachable from m

• Let N be a PN with initial marking m0:

Reach(N) = {m reachable from m0}

is the set of reachable markings of N.

33

Page 49: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

34

Page 50: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

Reach(N ) ={!i,1,0" | i # N}

${!i,0,1" | i # N}

34

Page 51: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

Reach(N ) ={!i,1,0" | i # N}

${!i,0,1" | i # N}

This set allows us to prove that the mutual

exclusion is indeed enforced

34

Page 52: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Ordering on markings

• Markings can be compared thanks to 4:

m4m’ iff for any place p: m(p)6 m’(p)

mpm’ iff m4m’ and m≠m’

• Examples:

• 〈1, 0, 0〉p〈1, 1, 0〉4〈1, 1, 0〉 4〈5, 7, 2〉

• 〈1, 0, 0〉 is not comparable to 〈0, 1, 0〉

35

Page 53: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Questions on PN• Meaningful questions about PN include:

• Boundedness: is the number of reachable markings bounded ?

• Place boundedness: is there a bound on the maximal number of tokens that can be created in a given place ?

• Semi-liveness: is there a reachable marking from which a given transition can fire ?

• Coverability

36

Page 54: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Exampleread

write

idle

write

read

idle

Bounded PN All the places are bounded

All the transitions are semi-live

37

Page 55: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

• Unbounded PN

• p2 and p3 are bounded

• p1 is unbounded

• All the transitions are semi-live

38

Page 56: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Some tools for theanalysis of PN

39

Page 57: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability tree and

reachability graph

40

Page 58: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability Tree

• Idea:

• the root is labeled by m0

• for each node labeled by m, create one child for each marking of Post(m)

41

Page 59: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

I1

R1

W1

W2R2

I2

M

Reachability Tree

42

Page 60: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

I1

R1

W1

W2R2

I2

M

〈M, I1, I2〉

Reachability Tree

42

Page 61: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

I1

R1

W1

W2R2

I2

M

〈M, I1, I2〉

〈W1, I2〉

〈I1, W2〉

〈M, R1, I2〉

〈M, I1, R2〉

Reachability Tree

42

Page 62: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

I1

R1

W1

W2R2

I2

M

〈M, I1, I2〉

〈W1, I2〉

〈I1, W2〉

〈M, R1, I2〉

〈M, I1, R2〉

〈M, I1, I2〉

〈R1, W2〉

Reachability Tree

42

Page 63: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

I1

R1

W1

W2R2

I2

M

〈M, I1, I2〉

〈W1, I2〉

〈I1, W2〉

〈M, R1, I2〉

〈M, I1, R2〉

〈M, I1, I2〉

〈R1, W2〉

〈W1, I2〉〈I1, W2〉 〈M, R1, I2〉〈M, I1, R2〉

Reachability Tree

42

Page 64: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

I1

R1

W1

W2R2

I2

M

〈M, I1, I2〉

〈W1, I2〉

〈I1, W2〉

〈M, R1, I2〉

〈M, I1, R2〉

〈M, I1, I2〉

〈R1, W2〉

〈M, I1, I2〉〈W1, R2〉

〈W1, I2〉〈I1, W2〉 〈M, R1, I2〉〈M, I1, R2〉

Reachability Tree

42

Page 65: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

I1

R1

W1

W2R2

I2

M

〈M, I1, I2〉

〈W1, I2〉

〈I1, W2〉

〈M, R1, I2〉

〈M, I1, R2〉

〈M, I1, I2〉

〈R1, W2〉

〈M, I1, I2〉〈W1, R2〉

〈W1, I2〉〈I1, W2〉 〈M, R1, I2〉〈M, I1, R2〉

Reachability Tree

42

Page 66: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

I1

R1

W1

W2R2

I2

M

〈M, I1, I2〉

〈W1, I2〉

〈I1, W2〉

〈M, R1, I2〉

〈M, I1, R2〉

〈M, I1, I2〉

〈R1, W2〉

〈M, I1, I2〉〈W1, R2〉

〈W1, I2〉〈I1, W2〉 〈M, R1, I2〉〈M, I1, R2〉

Reachability Tree

Reachability trees can be infinite

42

Page 67: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graph

• Idea: build a node for each reachable marking and add an edge from m to m’ if some transition transforms m into m’

• remark: now, if we meet the same marking twice, we do not create a new node, but re-use the previously created node.

43

Page 68: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graphI1

R1

W1

W2R2

I2

M

44

Page 69: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graphI1

R1

W1

W2R2

I2

M 〈M, I1, I2〉

44

Page 70: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graphI1

R1

W1

W2R2

I2

M 〈M, I1, I2〉

〈M, R1, I2〉 〈M, I1, R2〉

44

Page 71: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graphI1

R1

W1

W2R2

I2

M 〈M, I1, I2〉

〈M, R1, I2〉 〈M, I1, R2〉

〈M, R1, R2〉

44

Page 72: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graphI1

R1

W1

W2R2

I2

M 〈M, I1, I2〉

〈W1, I2〉〈I1, W2〉

〈M, R1, I2〉 〈M, I1, R2〉

〈M, R1, R2〉

44

Page 73: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graphI1

R1

W1

W2R2

I2

M 〈M, I1, I2〉

〈W1, I2〉〈I1, W2〉

〈W1, R2〉〈R1, W2〉

〈M, R1, I2〉 〈M, I1, R2〉

〈M, R1, R2〉

44

Page 74: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graphI1

R1

W1

W2R2

I2

M 〈M, I1, I2〉

〈W1, I2〉〈I1, W2〉

〈W1, R2〉〈R1, W2〉

〈M, R1, I2〉 〈M, I1, R2〉

〈M, R1, R2〉

44

Page 75: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graphI1

R1

W1

W2R2

I2

M 〈M, I1, I2〉

〈W1, I2〉〈I1, W2〉

〈W1, R2〉〈R1, W2〉

〈M, R1, I2〉 〈M, I1, R2〉

〈M, R1, R2〉

The reachability graph allows us to prove that the mutual exclusion is

indeed enforced

44

Page 76: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graph

• The reachability graph of a PN contains all the necessary information to decide:

• boundedness

• place boundedness

• semi-liveness

• ...

45

Page 77: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graph

• Unfortunately...

16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈p2〉

46

Page 78: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graph

• Unfortunately...

16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈p2〉

〈p1,p2〉

46

Page 79: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graph

• Unfortunately...

16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈p2〉

〈p1,p2〉

〈2p1,p2〉 〈p3〉

46

Page 80: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graph

• Unfortunately...

16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈p2〉

〈p1,p2〉

〈2p1,p2〉 〈p3〉

〈3p1,p2〉 〈p1,p3〉

46

Page 81: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graph

• Unfortunately...

16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈p2〉

〈p1,p2〉

〈2p1,p2〉 〈p3〉

〈3p1,p2〉 〈p1,p3〉

46

Page 82: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability graph

• Unfortunately...

16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈p2〉

〈p1,p2〉

〈2p1,p2〉 〈p3〉

〈3p1,p2〉 〈p1,p3〉

Reachability graphs can be infinite

46

Page 83: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The hard stuff...

• The main difficulty in analysing Petri nets is due to the possibly infinite number of reachable markings.

• We have to find techniques to deal with this infinite set.

47

Page 84: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The hard stuff...

• Remark: finite doesn’t mean easy

• The set of reachable markings of a bounded net can be huge !

• Efficient techniques to deal with bounded nets have been developped.

• e.g.: net unfoldings

48

Page 85: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Place invariants

49

Page 86: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Place Invariantsread

write

idle

write

read

idle

R1 R2

I2

m(R1) + m(R2) + m(I2) =1

50

Page 87: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Place Invariantsread

write

idle

write

read

idle

R1 R2

I2

m(R1) + m(R2) + m(I2) =1

51

Page 88: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Place Invariantsread

write

idle

write

read

idle

R1 R2

I2

m(R1) + m(R2) + m(I2) = 2

52

Page 89: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Place Invariantsread

write

idle

write

read

idle

R1 R2

I2

m(R1) + m(R2) + m(I2) = 0

53

Page 90: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Place Invariantsread

write

idle

write

read

idle

R1 R2

I2

m(R1) + m(R2) + m(I2) = 0

The total number of tokens in these places

is not constant

53

Page 91: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Place Invariantsread

write

idle

write

read

idle

R1

I1

m(R1) + m(W1) + m(I1) = 1

W1

54

Page 92: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Place Invariantsread

write

idle

write

read

idle

R1

I1

m(R1) + m(W1) + m(I1) = 1

W1

55

Page 93: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Place Invariantsread

write

idle

write

read

idle

R1

I1

m(R1) + m(W1) + m(I1) = 1

W1

56

Page 94: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Place Invariantsread

write

idle

write

read

idle

R1

I1

m(R1) + m(W1) + m(I1) = 1

W1

The total number of tokens in these places

is constant

56

Page 95: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Place Invariantsread

write

idle

write

read

idle

R1

I1

m(R1) + m(W1) + m(I1) = 1

W1

The total number of tokens in these places

is constant

This provides meaningful information

about the system: a process is either idle, or reading or writing

56

Page 96: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

p1

p2

p3

p42

2

Place Invariants

m(p1) + m(p2) + m(p3) + m(p4) = 1

57

Page 97: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

p1

p2

p3

p42

2

Place Invariants

m(p1) + m(p2) + m(p3) + m(p4) = 3

58

Page 98: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

p1

p2

p3

p42

2

Place Invariants

m(p1) + m(p2) + m(p3) + m(p4) = 2

59

Page 99: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

p1

p2

p3

p42

2

Place Invariants

m(p1) + m(p2) + m(p3) + m(p4) = 1

60

Page 100: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

p1

p2

p3

p42

2

Place Invariants

m(p1) + m(p2) + m(p3) + m(p4) = 1

The total number of tokens in these places

is not constant

60

Page 101: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

p1

p2

p3

p42

2

Place Invariants

m(p1) + m(p2) + m(p3) + m(p4) = 1

The total number of tokens in these places

is not constant

In some sense, tokens in p1 are heavier than

those in p2

60

Page 102: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

p1

p2

p3

p42

2

Place Invariants

m(p1) + m(p2) + m(p3) + m(p4) = 1

The total number of tokens in these places

is not constant

In some sense, tokens in p1 are heavier than

those in p2

Let’s add weights to the places !

60

Page 103: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

p1

p2

p3

p42

2

Place Invariants

3 m(p1) + m(p2) + m(p3) + 2 m(p4) = 3

61

Page 104: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

p1

p2

p3

p42

2

Place Invariants

3 m(p1) + m(p2) + m(p3) + 2 m(p4) = 3

62

Page 105: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

p1

p2

p3

p42

2

Place Invariants

3 m(p1) + m(p2) + m(p3) + 2 m(p4) = 3

63

Page 106: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Place invariant:Definition

• Definition: a place-invariant (or p-semiflow) is a vector i of natural numbers s.t. for any reachable marking m:

!p!P

i(p)"m(p) = !p!P

i(p)"m0(p)

remark: there exists a trivial invariant i = 〈0, 0, .., 0〉

64

Page 107: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

p1

p2

p3

p42

2

Example: other invariants

m(p1) + m(p3) = 1

2 m(p1) + m(p2) + 2 m(p4) = 2

65

Page 108: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Invariants as over-approximations

• A place-invariant expresses a constraint on the reachable markings.

• If m is reachable and i is an invariant, then:

• The reverse is not true !

!p!P

i(p)"m(p) = !p!P

i(p)"m0(p)

66

Page 109: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

p1

p2

p3

p42

2

Example

m(p1) + m(p3) = 1is an invariant

but〈1, 25, 0, 234〉 is not reachable

67

Page 110: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

• Theorem: For any Petri net N:

Reach(N)

{m | m respects some invariant of N}

Invariants as over-approximations

68

Page 111: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

• Theorem: For any Petri net N:

Reach(N)

{m | m respects some invariant of N}

Invariants as over-approximations

This set overapproximates the

reachable markings

68

Page 112: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

• Theorem: For any Petri net N:

Reach(N)

{m | m respects some invariant of N}

Invariants as over-approximations

This set overapproximates the

reachable markings

Place invariants are thus useful to finitely

approximate the set of reachable markings

68

Page 113: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Place invariant and boundedness

• Theorem: If there exists a place invariant i and a place p s.t. i(p)>0 then p is bounded.

• Remark: the reverse is not true.

• One can find a bounded net that doesn’t have a place invariant i with i(p)>0 for each place.

69

Page 114: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Place invariant

• Question: how do we compute them ?

70

Page 115: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Matrix characterisation

• The negative effect (consumption) of all the transitions on all the places can be summarised in one matrix:

where, for any i: ti =〈Ii,Oi〉

W! =

!

""#

I1(p1) I2(p1) · · · Ik(p1)I1(p2) I2(p2) · · · Ik(p2)

... ... . . . ...I1(pn) I2(pn) · · · Ik(pn)

$

%%&

neg. eff. on p1

neg. eff. on p2

71

Page 116: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

• The same can be done with the positive effects:

where, for any i: ti =〈Ii,Oi〉

W + =

!

""#

O1(p1) O2(p1) · · · Ok(p1)O1(p2) O2(p2) · · · Ok(p2)

... ... . . . ...O1(pn) O2(pn) · · · Ok(pn)

$

%%&

pos. eff. on p1

pos. eff. on p2

Matrix characterisation

72

Page 117: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Incidence Matrix

• The global effect of every transition can be summarised as a single matrix:

W = W +!W!

W is called the incidence matrix of the net

73

Page 118: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

W + =

!

"1 0 10 0 10 1 0

#

$ W! =

!

"0 1 00 1 00 0 1

#

$

W =

!

"1 !1 10 !1 10 1 !1

#

$

16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

74

Page 119: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

W + =

!

"1 0 10 0 10 1 0

#

$ W! =

!

"0 1 00 1 00 0 1

#

$

W =

!

"1 !1 10 !1 10 1 !1

#

$

16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

74

Page 120: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

W + =

!

"1 0 10 0 10 1 0

#

$ W! =

!

"0 1 00 1 00 0 1

#

$

W =

!

"1 !1 10 !1 10 1 !1

#

$

16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

74

Page 121: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Computing place invariants

• Intuitively, if i is a place invariant it should assign weights to the places such that the positive and negative effects of every transition are balanced

• Thus, for any transition t =〈I, O〉we should have:

!p!P

I(p)" i(p) = !p!P

O(p)" i(p)

75

Page 122: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Computing place invariants

• Intuitively, if i is a place invariant it should assign weights to the places such that the positive and negative effects of every transition are balanced

• Thus, for any transition t =〈I, O〉we should have:

!p!P

I(p)" i(p) = !p!P

O(p)" i(p)

2

1 2

75

Page 123: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Computing place invariants

• Intuitively, if i is a place invariant it should assign weights to the places such that the positive and negative effects of every transition are balanced

• Thus, for any transition t =〈I, O〉we should have:

!p!P

I(p)" i(p) = !p!P

O(p)" i(p)

2

1 2

75

Page 124: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Computing place invariants

• Intuitively, if i is a place invariant it should assign weights to the places such that the positive and negative effects of every transition are balanced

• Thus, for any transition t =〈I, O〉we should have:

!p!P

I(p)" i(p) = !p!P

O(p)" i(p)

2

1 2

75

Page 125: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Computing place invariants

• Intuitively, if i is a place invariant it should assign weights to the places such that the positive and negative effects of every transition are balanced

• Thus, for any transition t =〈I, O〉we should have:

!p!P

I(p)" i(p) = !p!P

O(p)" i(p)

2

1 2

75

Page 126: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Computing place invariants

!p!P

I(p)" i(p) = !p!P

O(p)" i(p)

!p!P

!O(p)" I(p)

"# i(p) = 0

means

76

Page 127: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Computing place invariants

!p!P

I(p)" i(p) = !p!P

O(p)" i(p)

!p!P

!O(p)" I(p)

"# i(p) = 0

means

t =〈I, O〉

76

Page 128: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Computing place invariants

!p!P

I(p)" i(p) = !p!P

O(p)" i(p)

!p!P

!O(p)" I(p)

"# i(p) = 0

means

t =〈I, O〉 W =

!

""#

· · · O(p1)! I(p1) · · ·· · · O(p2)! I(p2) · · ·... ... ...

· · · O(pn)! I(pn) · · ·

$

%%&

76

Page 129: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Computing place invariants

!p!P

I(p)" i(p) = !p!P

O(p)" i(p)

!p!P

!O(p)" I(p)

"# i(p) = 0

means

t =〈I, O〉 W =

!

""#

· · · O(p1)! I(p1) · · ·· · · O(p2)! I(p2) · · ·... ... ...

· · · O(pn)! I(pn) · · ·

$

%%&

76

Page 130: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Computing place invariants

!p!P

!O(p)" I(p)

"# i(p) = 0

is thus the scalar product of i and the column of W that corresponds to transition t

77

Page 131: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Computing place invariants

!p!P

!O(p)" I(p)

"# i(p) = 0

is thus the scalar product of i and the column of W that corresponds to transition t

Since this must hold for any t, we obtain:

77

Page 132: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Computing place invariants

!p!P

!O(p)" I(p)

"# i(p) = 0

is thus the scalar product of i and the column of W that corresponds to transition t

Since this must hold for any t, we obtain:

Theorem: any solution i to the following system of equations is a place-invariant:

77

Page 133: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Computing place invariants

!p!P

!O(p)" I(p)

"# i(p) = 0

is thus the scalar product of i and the column of W that corresponds to transition t

Since this must hold for any t, we obtain:

i!W = 0

Theorem: any solution i to the following system of equations is a place-invariant:

77

Page 134: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

W =

!

"1 !1 10 !1 10 1 !1

#

$

78

Page 135: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

!i1, i2, i3"#W = 0

W =

!

"1 !1 10 !1 10 1 !1

#

$

78

Page 136: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

!"

#

i1 = 0!i1!i2+i3 = 0

i1+i2!i3 = 0

!i1, i2, i3"#W = 0

W =

!

"1 !1 10 !1 10 1 !1

#

$

78

Page 137: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

!"

#

i1 = 0!i1!i2+i3 = 0

i1+i2!i3 = 0

!i1, i2, i3"#W = 0

W =

!

"1 !1 10 !1 10 1 !1

#

$

!"

#

i1 = 0!i2+i3 = 0+i2!i3 = 0

78

Page 138: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

!"

#

i1 = 0!i1!i2+i3 = 0

i1+i2!i3 = 0

!i1, i2, i3"#W = 0

W =

!

"1 !1 10 !1 10 1 !1

#

$

!"

#

i1 = 0!i2+i3 = 0+i2!i3 = 0

Any vector of the form 〈0, i, i〉

is a place invariant

78

Page 139: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Proving properties16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

Let us choose 〈0, 1, 1〉as place-invariant

79

Page 140: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Proving properties16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

Let us choose 〈0, 1, 1〉as place-invariant

This means that p2 and p3 are bounded !

79

Page 141: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Proving properties16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

For any reachable marking m:

0 m(p1) +1 m(p2) + 1 m(p3) = 0 m0(p1) + 1 m0(p2) + 1 m0(p3)

m(p2) + m(p3) = 1

Let us choose 〈0, 1, 1〉as place-invariant

This means that p2 and p3 are bounded !

79

Page 142: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Proving properties16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

For any reachable marking m:

0 m(p1) +1 m(p2) + 1 m(p3) = 0 m0(p1) + 1 m0(p2) + 1 m0(p3)

m(p2) + m(p3) = 1

Let us choose 〈0, 1, 1〉as place-invariant

Hence, mutual exclusion is enforced !

This means that p2 and p3 are bounded !

79

Page 143: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Proving propertiesread

write

idle

write

read

idle

M

W1 W2

i(M) = i(W1) = i(W2) = 1 and i(p) = 0 otherwiseis a place invariant

80

Page 144: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Proving propertiesread

write

idle

write

read

idle

M

W1 W2

i(M) = i(W1) = i(W2) = 1 and i(p) = 0 otherwiseis a place invariant

Hence, mutual exclusion is enforced !80

Page 145: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & Millerand

the coverability set

81

Page 146: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The reachability tree revisited

• Reminder: reachability trees can be infinite16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0p1,p2〉

〈1p1,p2〉

〈2p1,p2〉 〈p3〉

〈3p1,p2〉 〈p1,p3〉

82

Page 147: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The reachability tree revisited

• Reminder: reachability trees can be infinite16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0p1,p2〉

〈1p1,p2〉

〈2p1,p2〉 〈p3〉

〈3p1,p2〉 〈p1,p3〉

82

Page 148: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The reachability tree revisited

• Reminder: reachability trees can be infinite16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0p1,p2〉

〈1p1,p2〉

〈2p1,p2〉 〈p3〉

〈3p1,p2〉 〈p1,p3〉

Increasing sequences of markings appear

on unbounded places

82

Page 149: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The reachability tree revisited

• Let us summarise this infinite sequence

〈0p1,p2〉

〈1p1,p2〉

〈2p1,p2〉

〈3p1,p2〉

83

Page 150: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The reachability tree revisited

• Let us summarise this infinite sequence

〈0p1,p2〉

〈1p1,p2〉

〈2p1,p2〉

〈3p1,p2〉

limit

83

Page 151: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The reachability tree revisited

• Let us summarise this infinite sequence

〈0p1,p2〉

〈1p1,p2〉

〈2p1,p2〉

〈3p1,p2〉

〈 ωp1,p2〉limit

83

Page 152: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The reachability tree revisited

• Let us summarise this infinite sequence

〈0p1,p2〉

〈1p1,p2〉

〈2p1,p2〉

〈3p1,p2〉

〈 ωp1,p2〉limit

ω must be regarded as:“any number of tokens”

83

Page 153: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The reachability tree revisited

• Let us summarise this infinite sequence

〈0p1,p2〉

〈1p1,p2〉

〈2p1,p2〉

〈3p1,p2〉

〈 ωp1,p2〉limit

ω must be regarded as:“any number of tokens”

Main idea of the Karp and Miller algorithm

83

Page 154: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & Miller

• Propose in 1969 a solution to detect unbounded places of a Petri net

84

Page 155: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:m1 m2

m3

t!

if

85

Page 156: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:

m4

m1 m2

m3

t!

if

85

Page 157: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:

m4

m1 m2

m3

t! !

t

if

85

Page 158: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:

m4

m1 m2

m3

t! !

t

if

! !85

Page 159: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:

m4

m1 m2

m3

t! !

t

if

! !!i1, i2, i3"

85

Page 160: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:

m4

m1 m2

m3

t! !

t

if

! !!i1, i2, i3" !i"1, i"2, i"3#

85

Page 161: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:

m4

m1 m2

m3

t! !

t

if

! !!i1, i2, i3" !i"1, i"2, i"3#

85

Page 162: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:

m4

m1 m2

m3

t! !

t

!if

! !!i1, i2, i3" !i"1, i"2, i"3#

85

Page 163: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:

m4

m1 m2

m3

t! !

t

!<

if

! !!i1, i2, i3" !i"1, i"2, i"3#

85

Page 164: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:

m4

m1 m2

m3

t! !

t

!<

if then p2 is unbounded

! !!i1, i2, i3" !i"1, i"2, i"3#

85

Page 165: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

〈1, 0, 0, 0〉

Example

86

Page 166: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

〈1, 0, 0, 0〉

Example

〈0, 0, 1, 0〉

86

Page 167: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

〈1, 0, 0, 0〉

Example

〈0, 0, 1, 0〉

〈0, 0, 0, 1〉

86

Page 168: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

〈1, 0, 0, 0〉

Example

〈0, 0, 0, 1〉 〈1, 0, 1, 1〉

〈0, 0, 1, 0〉

〈0, 0, 0, 1〉

86

Page 169: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

〈1, 0, 0, 0〉

Example

〈0, 0, 0, 1〉 〈1, 0, 1, 1〉

〈0, 0, 1, 0〉

〈0, 0, 0, 1〉

86

Page 170: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

〈1, 0, 0, 0〉

Example

〈0, 0, 0, 1〉 〈1, 0, 1, 1〉

〈0, 0, 1, 0〉

〈0, 0, 0, 1〉

86

Page 171: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

〈1, 0, 0, 0〉

Example

〈0, 0, 0, 1〉 〈1, 0, 1, 1〉

〈0, 0, 1, 0〉

〈0, 0, 0, 1〉

86

Page 172: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

〈1, 0, 0, 0〉

Example

〈0, 0, 0, 1〉 〈1, 0, 1, 1〉

〈0, 0, 1, 0〉

〈0, 0, 0, 1〉p1, p3 and p4 are

unbounded !

86

Page 173: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

〈1, 0, 0, 0〉

Example

〈0, 0, 0, 1〉 〈1, 0, 1, 1〉

〈0, 0, 1, 0〉

〈0, 0, 0, 1〉

〈 ω, 0, ω, ω〉

p1, p3 and p4 are unbounded !

86

Page 174: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

〈1, 0, 0, 0〉

Example

〈0, 0, 0, 1〉 〈1, 0, 1, 1〉

〈0, 0, 1, 0〉

〈0, 0, 0, 1〉

〈 ω, 0, ω, ω〉

ω must be regarded as:“any number of tokens”

p1, p3 and p4 are unbounded !

86

Page 175: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & MillerAcceleration

This is how we compute thesuccessors of a node n:

m

m2

m1

n

Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0

FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS

G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

Abstract. blahblah

foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do

foreach place p s.t. mi(p) < m!(p) dom!(p)! !;

Add m! as child of n;

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

1

n1

n2

87

Page 176: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & MillerAcceleration

This is how we compute thesuccessors of a node n:

m

m2

m1

n

m’

Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0

FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS

G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

Abstract. blahblah

foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do

foreach place p s.t. mi(p) < m!(p) dom!(p)! !;

Add m! as child of n;

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

1

n1

n2

87

Page 177: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & MillerAcceleration

This is how we compute thesuccessors of a node n:

m

m2

m1

n

m’

!

Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0

FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS

G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

Abstract. blahblah

foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do

foreach place p s.t. mi(p) < m!(p) dom!(p)! !;

Add m! as child of n;

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

1

n1

n2

87

Page 178: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & MillerAcceleration

This is how we compute thesuccessors of a node n:

m

m2

m1

n

m’

!

Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0

FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS

G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

Abstract. blahblah

foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do

foreach place p s.t. mi(p) < m!(p) dom!(p)! !;

Add m! as child of n;

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

1

n1

n2

87

Page 179: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & MillerAcceleration

This is how we compute thesuccessors of a node n:

m

m2

m1

n

m’

!

Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0

FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS

G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

Abstract. blahblah

foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do

foreach place p s.t. mi(p) < m!(p) dom!(p)! !;

Add m! as child of n;

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

1

n1

n2

87

Page 180: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & MillerAcceleration

This is how we compute thesuccessors of a node n:

m

m2

m1

n

m’

!

Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0

FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS

G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

Abstract. blahblah

foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do

foreach place p s.t. mi(p) < m!(p) dom!(p)! !;

Add m! as child of n;

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

1

n1

n2

87

Page 181: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & MillerAcceleration

This is how we compute thesuccessors of a node n:

m

m2

m1

n

!

Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0

FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS

G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

Abstract. blahblah

foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do

foreach place p s.t. mi(p) < m!(p) dom!(p)! !;

Add m! as child of n;

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

1

n1

n2

87

Page 182: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & MillerAcceleration

This is how we compute thesuccessors of a node n:

m

m2

m1

n

!

Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0

FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS

G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

Abstract. blahblah

foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do

foreach place p s.t. mi(p) < m!(p) dom!(p)! !;

Add m! as child of n;

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

1

n1

n2

87

Page 183: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & MillerAcceleration

This is how we compute thesuccessors of a node n:

m

m2

m1

n

!

Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0

FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS

G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

Abstract. blahblah

foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do

foreach place p s.t. mi(p) < m!(p) dom!(p)! !;

Add m! as child of n;

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

1

n1

n2

87

Page 184: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & MillerAcceleration

This is how we compute thesuccessors of a node n:

m

m2

m1

n

!

Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0

FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS

G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

Abstract. blahblah

foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do

foreach place p s.t. mi(p) < m!(p) dom!(p)! !;

Add m! as child of n;

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

1

n1

n2

87

Page 185: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & MillerAcceleration

This is how we compute thesuccessors of a node n:

m

m2

m1

n

Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0

FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS

G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

Abstract. blahblah

foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do

foreach place p s.t. mi(p) < m!(p) dom!(p)! !;

Add m! as child of n;

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

1

n1

n2

87

Page 186: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & MillerAcceleration

This is how we compute thesuccessors of a node n:

m

m2

m1

n

Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0

FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS

G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

Abstract. blahblah

foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do

foreach place p s.t. mi(p) < m!(p) dom!(p)! !;

Add m! as child of n;

Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]

E-mail address: [email protected]

E-mail address: [email protected]

This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

1

n1

n2

87

Page 187: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Karp & MillerStopping a branch

m1

m2

!This node doesn’t have to be developed

88

Page 188: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example of K&M tree16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0, 1, 0〉

89

Page 189: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example of K&M tree16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0, 1, 0〉

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

(0,1,0)!89

Page 190: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example of K&M tree16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0, 1, 0〉

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

(0,1,0)!

〈ω,1,0〉t1

89

Page 191: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example of K&M tree16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0, 1, 0〉

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

(0,1,0)!

〈ω,1,0〉t1

t1

〈ω,1,0〉

89

Page 192: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example of K&M tree16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0, 1, 0〉

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

(0,1,0)!

〈ω,1,0〉t1

t1

〈ω,1,0〉

t2

〈ω,0,1〉

89

Page 193: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example of K&M tree16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0, 1, 0〉

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

(0,1,0)!

〈ω,1,0〉t1

t1

〈ω,1,0〉

t2

〈ω,0,1〉

t1

〈ω,0,1〉

89

Page 194: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example of K&M tree16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0, 1, 0〉

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

(0,1,0)!

〈ω,1,0〉t1

t1

〈ω,1,0〉

t2

〈ω,0,1〉

t1

〈ω,0,1〉 〈ω,1,0〉

t3

89

Page 195: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Properties

• Theorem: the K&M tree is always finite.

• Idea of the proof:

• if the net is not bounded, it is because of some infinite increasing sequence of markings.

• such sequences are detected in a finite amount of time by adding ω in the unbounded places.

90

Page 196: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Properties

• Theorem: a net is bounded iff there is no node containing an ω in its K&M tree.

• Theorem: place p is unbounded iff there exists a node labeled by m in the K&M tree s.t. m(p) = ω.

• Theorem: transition t is semi-live iff there exists a node labeled by m in the K&M tree s.t. t can fire in m.

91

Page 197: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0, 1, 0〉

〈ω,1,0〉t1

t1

〈ω,1,0〉

t2

〈ω,0,1〉

t1

〈ω,0,1〉 〈ω,1,0〉

t3

92

Page 198: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0, 1, 0〉

〈ω,1,0〉t1

t1

〈ω,1,0〉

t2

〈ω,0,1〉

t1

〈ω,0,1〉 〈ω,1,0〉

t3

t2 is semi-live

92

Page 199: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0, 1, 0〉

〈ω,1,0〉t1

t1

〈ω,1,0〉

t2

〈ω,0,1〉

t1

〈ω,0,1〉 〈ω,1,0〉

t3

t2 is semi-live

p2 and p3 are bounded92

Page 200: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0, 1, 0〉

〈ω,1,0〉t1

t1

〈ω,1,0〉

t2

〈ω,0,1〉

t1

〈ω,0,1〉 〈ω,1,0〉

t3

t2 is semi-live

p2 and p3 are bounded

p1 is unbounded

92

Page 201: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

〈0, 1, 0〉

〈ω,1,0〉t1

t1

〈ω,1,0〉

t2

〈ω,0,1〉

t1

〈ω,0,1〉 〈ω,1,0〉

t3

t2 is semi-live

p2 and p3 are bounded

p1 is unbounded

The net is unbounded92

Page 202: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

• Question: what is the relationship between:

• the set of reachable markings and

• the set of labels of the nodes of the K&M tree ?

Coverability set

93

Page 203: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

• Question: what is the relationship between:

• the set of reachable markings and

• the set of labels of the nodes of the K&M tree ?

Coverability setmight be infinite

93

Page 204: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

• Question: what is the relationship between:

• the set of reachable markings and

• the set of labels of the nodes of the K&M tree ?

Coverability setmight be infinite

always finite

93

Page 205: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

3

94

Page 206: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

3

95

Page 207: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

3

96

Page 208: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

3

97

Page 209: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

3

• Set of reachable markings:

{〈1, 0, 3.i〉,〈0, 1, 3.i〉| i>0 }

• Set of nodes of the K&M tree:

{〈1, 0, 0〉〈1, 0, ω〉,〈0, 1, ω〉}

• This set “represents”:

{〈1, 0, i〉,〈0, 1, i〉| i>0 }

98

Page 210: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

3

Clearly: ≠

• Set of reachable markings:

{〈1, 0, 3.i〉,〈0, 1, 3.i〉| i>0 }

• Set of nodes of the K&M tree:

{〈1, 0, 0〉〈1, 0, ω〉,〈0, 1, ω〉}

• This set “represents”:

{〈1, 0, i〉,〈0, 1, i〉| i>0 }

98

Page 211: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

• Clearly, the K&M set contains more markings than the set of reachable markings:

• However, for every marking m in the K&M set, there exists a reachable marking m’ s.t.:

m’ < m

{〈1, 0, i〉,〈0, 1, i〉| i>0 }{〈1, 0, 3.i〉,〈0, 1, 3.i〉| i>0 } vs

Reach K&M

99

Page 212: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

• Clearly, the K&M set contains more markings than the set of reachable markings:

• However, for every marking m in the K&M set, there exists a reachable marking m’ s.t.:

m’ < m

{〈1, 0, i〉,〈0, 1, i〉| i>0 }{〈1, 0, 3.i〉,〈0, 1, 3.i〉| i>0 } vs

Reach K&M

= + {m| there is m’ in with m’ < m} 99

Page 213: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Downward-closure

• Let us assume that any natural number i is s.t.

i < ω

• Let m be a marking (possibly with ω), then its downward-closure is the set:

↓m = {m’ | m’4m}

• Let S={m1, m2,... mk} be a set of markings, then:

↓S = ↓m1 ∪ ↓m2 ∪...∪↓mk

100

Page 214: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Examples in 2 dim.

ω1 2 3

12

3

4

12

3

4

1 2 3p1

p2 p2

p1

{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}

101

Page 215: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Examples in 2 dim.

ω1 2 3

12

3

4

12

3

4

1 2 3p1

p2 p2

p1

{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}

101

Page 216: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Examples in 2 dim.

ω1 2 3

12

3

4

12

3

4

1 2 3p1

p2 p2

p1

{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}

101

Page 217: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Examples in 2 dim.

ω1 2 3

12

3

4

12

3

4

1 2 3p1

p2 p2

p1

{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}

101

Page 218: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Examples in 2 dim.

ω1 2 3

12

3

4

12

3

4

1 2 3p1

p2 p2

p1

{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}

101

Page 219: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Examples in 2 dim.

ω1 2 3

12

3

4

12

3

4

1 2 3p1

p2 p2

p1

{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}

101

Page 220: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Examples in 2 dim.

ω1 2 3

12

3

4

12

3

4

1 2 3p1

p2 p2

p1

{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}

101

Page 221: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Examples in 2 dim.

ω1 2 3

12

3

4

12

3

4

1 2 3p1

p2 p2

p1

{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}

101

Page 222: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Examples in 2 dim.

ω1 2 3

12

3

4

12

3

4

1 2 3p1

p2 p2

p1

{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}

101

Page 223: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Properties of the K&M tree

• The set of all the markings that appear in a K&M tree is called a coverability set of the net.

• Notation: Cover(N)

• Theorem: ↓Cover(N) = ↓Reach(N)

• Theorem: Reach(N) ⊆ ↓Cover(N)

• Hence, ↓Cover(N) is a finite over-approximation of Reach(N)

102

Page 224: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

Cover(N) =

↓{ 〈ω, 1, 0〉,〈ω, 0, 1〉 }=

Reach(N) ∪ { 〈0, 0, 0〉 }

Reach(N) =

{ 〈i, 1, 0〉,〈i, 0, 1〉| i ≥ 0 }

103

Page 225: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Advertisement

• Recently, we have defined a new algorithm to compute the coverability set of a Petri net.

• It is several order of magnitudes more efficient than K&M

On the efficient computation of the minimal coverability set for Petri nets 15

Table 1. Empirical evaluation of the covering sequence. Experiments on an INTEL XEON 3GHZ.

Times in seconds (! = no result within 20 minutes). P = number of places; T = number of

transitions; MCS = size of the minimal coverability set ; Tp = Bounded or Unbounded PN; Max

P. =max{|Vi"Oi"Fi|, i # 1} ; Tot. P. = total number of pairs created along the whole execution

Example KM Cov. Seq. w/o Oracle CovProc

Name P T MCS Tp Nodes Time Max P. Tot. P. Time Max P. Tot. P. Time

RTP 9 12 9 B 16 0.18 47 47 0.10 47 47 0.13

lamport 11 9 14 B 83 0.18 115 115 0.17 115 115 0.17

peterson 14 12 20 B 609 2.19 170 170 0.21 170 170 0.25

dekker 16 14 40 B 7,936 258.95 765 765 1.13 765 765 1.03

readwrite 13 9 41 B 11,139 529.91 1,103 1,103 1.43 1,103 1,103 1.75

manuf. 13 6 1 U 32 0.19 9 101 0.18 2 47 0.14

kanban 16 16 1 U 9,839 1221.96 593 9,855 95.05 4 110 0.19

basicME 5 4 3 U 5 0.10 5 5 0.12 5 5 0.12

CSM 14 13 16 U >2.40·106 ! 371 3,324 14.38 178 248 0.34

FMS 22 20 24 U >6.26·105 ! >4,460 ! ! 477 866 2.10

PNCSA 31 36 80 U >1.02·106 ! >5,896 ! ! 2,617 13,408 113.79

multipoll 18 21 220 U >1.16·106 ! >7,396 ! ! 14,034 14,113 365.90

mesh2x2 32 32 256 U >8.03·105 ! >6,369 ! ! 10,483 12,735 330.95

consumption) and outperforms the covering sequence with trivial oracle. Finally, the

execution times of CovProc are several order of magnitudes smaller than those of the

KM procedure, showing the interest of our new algorithm.

References

1. Karp, R.M., Miller, R.E.: Parallel Program Schemata. JCSS 3 (1969) 147–195

2. Finkel, A.: The minimal coverability graph for petri nets. In: ATPN (1991) 210–243

3. Grahlmann, B.: The pep tool. In Grumberg, O., ed.: CAV. Volume 1254 of LNCS, Springer

(1997) 440–443

4. Petri, C.A.: Kommunikation mit Automaten. PhD thesis, Tech. University Darmstadt (1962)

5. Reisig, W.: Petri Nets. An introduction. Springer (1986)

6. German, S.M., Sistla, A.P.: Reasoning about Systems withMany Processes. Journal of ACM

39(3) (1992) 675–735

7. Van Begin, L.: Efficient Verification of Counting Abstractions for Parametric systems. PhD

thesis, Universite Libre de Bruxelles, Belgium (2003)

8. Luttge, K.: Zustandsgraphen von Petri-Netzen. Master’s thesis, Humboldt-Universitat zu

Berlin (1995)

9. Starke, P.: Personnal communication

10. Geeraerts, G.: Coverability and Expressiveness Properties of Well-structured Transition Sys-

tems. PhD thesis, Universite Libre de Bruxelles, Belgium (2007)

11. Finkel, A., Geeraerts, G., Raskin, J.F., Van Begin, L.: A counter-example the the minimal

coverability tree algorithm. Technical Report 535, Universite Libre de Bruxelles (2005)

12. Geeraerts, G., Raskin, J.F., Van Begin, L.: Well-structured languages. Submitted.

On the efficient computation of the minimal coverability set for Petri nets 15

Table 1. Empirical evaluation of the covering sequence. Experiments on an INTEL XEON 3GHZ.

Times in seconds (! = no result within 20 minutes). P = number of places; T = number of

transitions; MCS = size of the minimal coverability set ; Tp = Bounded or Unbounded PN; Max

P. =max{|Vi"Oi"Fi|, i # 1} ; Tot. P. = total number of pairs created along the whole execution

Example KM Cov. Seq. w/o Oracle CovProc

Name P T MCS Tp Nodes Time Max P. Tot. P. Time Max P. Tot. P. Time

RTP 9 12 9 B 16 0.18 47 47 0.10 47 47 0.13

lamport 11 9 14 B 83 0.18 115 115 0.17 115 115 0.17

peterson 14 12 20 B 609 2.19 170 170 0.21 170 170 0.25

dekker 16 14 40 B 7,936 258.95 765 765 1.13 765 765 1.03

readwrite 13 9 41 B 11,139 529.91 1,103 1,103 1.43 1,103 1,103 1.75

manuf. 13 6 1 U 32 0.19 9 101 0.18 2 47 0.14

kanban 16 16 1 U 9,839 1221.96 593 9,855 95.05 4 110 0.19

basicME 5 4 3 U 5 0.10 5 5 0.12 5 5 0.12

CSM 14 13 16 U >2.40·106 ! 371 3,324 14.38 178 248 0.34

FMS 22 20 24 U >6.26·105 ! >4,460 ! ! 477 866 2.10

PNCSA 31 36 80 U >1.02·106 ! >5,896 ! ! 2,617 13,408 113.79

multipoll 18 21 220 U >1.16·106 ! >7,396 ! ! 14,034 14,113 365.90

mesh2x2 32 32 256 U >8.03·105 ! >6,369 ! ! 10,483 12,735 330.95

consumption) and outperforms the covering sequence with trivial oracle. Finally, the

execution times of CovProc are several order of magnitudes smaller than those of the

KM procedure, showing the interest of our new algorithm.

References

1. Karp, R.M., Miller, R.E.: Parallel Program Schemata. JCSS 3 (1969) 147–195

2. Finkel, A.: The minimal coverability graph for petri nets. In: ATPN (1991) 210–243

3. Grahlmann, B.: The pep tool. In Grumberg, O., ed.: CAV. Volume 1254 of LNCS, Springer

(1997) 440–443

4. Petri, C.A.: Kommunikation mit Automaten. PhD thesis, Tech. University Darmstadt (1962)

5. Reisig, W.: Petri Nets. An introduction. Springer (1986)

6. German, S.M., Sistla, A.P.: Reasoning about Systems withMany Processes. Journal of ACM

39(3) (1992) 675–735

7. Van Begin, L.: Efficient Verification of Counting Abstractions for Parametric systems. PhD

thesis, Universite Libre de Bruxelles, Belgium (2003)

8. Luttge, K.: Zustandsgraphen von Petri-Netzen. Master’s thesis, Humboldt-Universitat zu

Berlin (1995)

9. Starke, P.: Personnal communication

10. Geeraerts, G.: Coverability and Expressiveness Properties of Well-structured Transition Sys-

tems. PhD thesis, Universite Libre de Bruxelles, Belgium (2007)

11. Finkel, A., Geeraerts, G., Raskin, J.F., Van Begin, L.: A counter-example the the minimal

coverability tree algorithm. Technical Report 535, Universite Libre de Bruxelles (2005)

12. Geeraerts, G., Raskin, J.F., Van Begin, L.: Well-structured languages. Submitted.

On the efficient computation of the minimal coverability set for Petri nets 15

Table 1. Empirical evaluation of the covering sequence. Experiments on an INTEL XEON 3GHZ.

Times in seconds (! = no result within 20 minutes). P = number of places; T = number of

transitions; MCS = size of the minimal coverability set ; Tp = Bounded or Unbounded PN; Max

P. =max{|Vi"Oi"Fi|, i # 1} ; Tot. P. = total number of pairs created along the whole execution

Example KM Cov. Seq. w/o Oracle CovProc

Name P T MCS Tp Nodes Time Max P. Tot. P. Time Max P. Tot. P. Time

RTP 9 12 9 B 16 0.18 47 47 0.10 47 47 0.13

lamport 11 9 14 B 83 0.18 115 115 0.17 115 115 0.17

peterson 14 12 20 B 609 2.19 170 170 0.21 170 170 0.25

dekker 16 14 40 B 7,936 258.95 765 765 1.13 765 765 1.03

readwrite 13 9 41 B 11,139 529.91 1,103 1,103 1.43 1,103 1,103 1.75

manuf. 13 6 1 U 32 0.19 9 101 0.18 2 47 0.14

kanban 16 16 1 U 9,839 1221.96 593 9,855 95.05 4 110 0.19

basicME 5 4 3 U 5 0.10 5 5 0.12 5 5 0.12

CSM 14 13 16 U >2.40·106 ! 371 3,324 14.38 178 248 0.34

FMS 22 20 24 U >6.26·105 ! >4,460 ! ! 477 866 2.10

PNCSA 31 36 80 U >1.02·106 ! >5,896 ! ! 2,617 13,408 113.79

multipoll 18 21 220 U >1.16·106 ! >7,396 ! ! 14,034 14,113 365.90

mesh2x2 32 32 256 U >8.03·105 ! >6,369 ! ! 10,483 12,735 330.95

consumption) and outperforms the covering sequence with trivial oracle. Finally, the

execution times of CovProc are several order of magnitudes smaller than those of the

KM procedure, showing the interest of our new algorithm.

References

1. Karp, R.M., Miller, R.E.: Parallel Program Schemata. JCSS 3 (1969) 147–195

2. Finkel, A.: The minimal coverability graph for petri nets. In: ATPN (1991) 210–243

3. Grahlmann, B.: The pep tool. In Grumberg, O., ed.: CAV. Volume 1254 of LNCS, Springer

(1997) 440–443

4. Petri, C.A.: Kommunikation mit Automaten. PhD thesis, Tech. University Darmstadt (1962)

5. Reisig, W.: Petri Nets. An introduction. Springer (1986)

6. German, S.M., Sistla, A.P.: Reasoning about Systems withMany Processes. Journal of ACM

39(3) (1992) 675–735

7. Van Begin, L.: Efficient Verification of Counting Abstractions for Parametric systems. PhD

thesis, Universite Libre de Bruxelles, Belgium (2003)

8. Luttge, K.: Zustandsgraphen von Petri-Netzen. Master’s thesis, Humboldt-Universitat zu

Berlin (1995)

9. Starke, P.: Personnal communication

10. Geeraerts, G.: Coverability and Expressiveness Properties of Well-structured Transition Sys-

tems. PhD thesis, Universite Libre de Bruxelles, Belgium (2007)

11. Finkel, A., Geeraerts, G., Raskin, J.F., Van Begin, L.: A counter-example the the minimal

coverability tree algorithm. Technical Report 535, Universite Libre de Bruxelles (2005)

12. Geeraerts, G., Raskin, J.F., Van Begin, L.: Well-structured languages. Submitted.

On the efficient computation of the minimal coverability set for Petri nets 15

Table 1. Empirical evaluation of the covering sequence. Experiments on an INTEL XEON 3GHZ.

Times in seconds (! = no result within 20 minutes). P = number of places; T = number of

transitions; MCS = size of the minimal coverability set ; Tp = Bounded or Unbounded PN; Max

P. =max{|Vi"Oi"Fi|, i # 1} ; Tot. P. = total number of pairs created along the whole execution

Example KM Cov. Seq. w/o Oracle CovProc

Name P T MCS Tp Nodes Time Max P. Tot. P. Time Max P. Tot. P. Time

RTP 9 12 9 B 16 0.18 47 47 0.10 47 47 0.13

lamport 11 9 14 B 83 0.18 115 115 0.17 115 115 0.17

peterson 14 12 20 B 609 2.19 170 170 0.21 170 170 0.25

dekker 16 14 40 B 7,936 258.95 765 765 1.13 765 765 1.03

readwrite 13 9 41 B 11,139 529.91 1,103 1,103 1.43 1,103 1,103 1.75

manuf. 13 6 1 U 32 0.19 9 101 0.18 2 47 0.14

kanban 16 16 1 U 9,839 1221.96 593 9,855 95.05 4 110 0.19

basicME 5 4 3 U 5 0.10 5 5 0.12 5 5 0.12

CSM 14 13 16 U >2.40·106 ! 371 3,324 14.38 178 248 0.34

FMS 22 20 24 U >6.26·105 ! >4,460 ! ! 477 866 2.10

PNCSA 31 36 80 U >1.02·106 ! >5,896 ! ! 2,617 13,408 113.79

multipoll 18 21 220 U >1.16·106 ! >7,396 ! ! 14,034 14,113 365.90

mesh2x2 32 32 256 U >8.03·105 ! >6,369 ! ! 10,483 12,735 330.95

consumption) and outperforms the covering sequence with trivial oracle. Finally, the

execution times of CovProc are several order of magnitudes smaller than those of the

KM procedure, showing the interest of our new algorithm.

References

1. Karp, R.M., Miller, R.E.: Parallel Program Schemata. JCSS 3 (1969) 147–195

2. Finkel, A.: The minimal coverability graph for petri nets. In: ATPN (1991) 210–243

3. Grahlmann, B.: The pep tool. In Grumberg, O., ed.: CAV. Volume 1254 of LNCS, Springer

(1997) 440–443

4. Petri, C.A.: Kommunikation mit Automaten. PhD thesis, Tech. University Darmstadt (1962)

5. Reisig, W.: Petri Nets. An introduction. Springer (1986)

6. German, S.M., Sistla, A.P.: Reasoning about Systems withMany Processes. Journal of ACM

39(3) (1992) 675–735

7. Van Begin, L.: Efficient Verification of Counting Abstractions for Parametric systems. PhD

thesis, Universite Libre de Bruxelles, Belgium (2003)

8. Luttge, K.: Zustandsgraphen von Petri-Netzen. Master’s thesis, Humboldt-Universitat zu

Berlin (1995)

9. Starke, P.: Personnal communication

10. Geeraerts, G.: Coverability and Expressiveness Properties of Well-structured Transition Sys-

tems. PhD thesis, Universite Libre de Bruxelles, Belgium (2007)

11. Finkel, A., Geeraerts, G., Raskin, J.F., Van Begin, L.: A counter-example the the minimal

coverability tree algorithm. Technical Report 535, Universite Libre de Bruxelles (2005)

12. Geeraerts, G., Raskin, J.F., Van Begin, L.: Well-structured languages. Submitted.

104

Page 226: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

105

Page 227: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability: a natural question

• The reachability problem: given a marking m is it reachable from m0 ?

m0106

Page 228: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability: a natural question

• The reachability problem: given a marking m is it reachable from m0 ?

m0106

Page 229: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability: a natural question

• The reachability problem: given a marking m is it reachable from m0 ?

m0106

Page 230: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability: a natural question

• The reachability problem: given a marking m is it reachable from m0 ?

m0106

Page 231: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability: a natural question

• The reachability problem: given a marking m is it reachable from m0 ?

m0106

Page 232: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability: a natural question

• The reachability problem: given a marking m is it reachable from m0 ?

m

m0106

Page 233: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reachability: a natural question ??

• In the case of Petri nets, asking whether a given marking is reachable does not always make sense...

• ... because Petri nets are monotonic

107

Page 234: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

nasty

2

p1

p2

p3

108

Page 235: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

nasty

2

p1

p2

p3

108

Page 236: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

nasty

2

p1

p2

p3

Questionis 〈0, 0, 2, 0〉

reachable ?

108

Page 237: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

nasty

2

p1

p2

p3

Questionis 〈0, 0, 2, 0〉

reachable ?

Better questionis a marking with at least 2 tokens in p3

reachable ?

108

Page 238: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Example

nasty

2

p1

p2

p3

Questionis 〈0, 0, 2, 0〉

reachable ?

Better questionis a marking with at least 2 tokens in p3

reachable ?

Better questionis a marking

m <〈0, 0, 2, 0〉reachable ?

108

Page 239: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

bm0

Does there exist a reachable marking which is larger than some marking b ?

109

Page 240: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

bm0

Does there exist a reachable marking which is larger than some marking b ?

109

Page 241: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

bm0

Does there exist a reachable marking which is larger than some marking b ?

109

Page 242: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

bm0

Does there exist a reachable marking which is larger than some marking b ?

109

Page 243: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

bm0

Does there exist a reachable marking which is larger than some marking b ?

109

Page 244: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

b

m’

m0

Does there exist a reachable marking which is larger than some marking b ?

109

Page 245: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

!

b

m’

m0

Does there exist a reachable marking which is larger than some marking b ?

109

Page 246: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

b

m0

110

Page 247: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

b

m0

110

Page 248: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

b

m0

110

Page 249: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

b

m0

110

Page 250: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

b

m0

110

Page 251: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

bReach(N)

m0

110

Page 252: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

bReach(N)

m0

110

Page 253: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

bReach(N)

{m | m < b}

m0

110

Page 254: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

bReach(N)

{m | m < b}

m0

110

Page 255: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

The coverability problem

• Two alternative definitions:

• Is there a reachable marking m s.t. m<b ?

• Does Reach(N) ∩ {m | m<b} ≠ ⏀ ?

111

Page 256: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Coverability: a natural question (indeed)

• Coverability might be regarded as the most natural reachability question in the framework of Petri nets

• Besides, coverability is much more easily solved than reachability

112

Page 257: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

Safety Properties

113

Page 258: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

Safety Properties

A marking m is unsafe when m ! !0, 0, 2, 0"

113

Page 259: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

16 CHAPTER 2. PRELIMINARIES

p1

•p2

p3

t1

t3 t2

Figure 2.1: The SMPN Nµ.

p1

t1

t22 · m(p1)

Figure 2.2: The SMPN Nns.

• D+11(m) = D+

21(m) = 0 ;

• m0 = !0".

It is graphically represented at Fig. 2.2. !

Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.

Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!

ij(m) for

all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking

m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,

we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we

let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "

Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)

From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =

!NkP ,m0,'

", where ' is such

Safety Properties

No more than one token at a time in this place !!

A marking m is unsafe when m ! !0, 0, 2, 0"

113

Page 260: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

First idea

• Use the coverability set !

• Remember: the coverability set over-approximates the reachable states:

Reach(N) ⊆ ↓Cover(N)

114

Page 261: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

First idea

• Use the coverability set !

• Remember: the coverability set over-approximates the reachable states:

Reach(N) ⊆ ↓Cover(N)

Reach(N)

114

Page 262: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

↓Cover(N)

First idea

• Use the coverability set !

• Remember: the coverability set over-approximates the reachable states:

Reach(N) ⊆ ↓Cover(N)

Reach(N)

114

Page 263: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

↓Cover(N)

First idea

• Use the coverability set !

• Remember: the coverability set over-approximates the reachable states:

Reach(N) ⊆ ↓Cover(N)

Reach(N)U

114

Page 264: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

First idea

115

Page 265: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

First idea

Reach(N)

115

Page 266: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

First idea

↓Cover(N)Reach(N)

115

Page 267: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

First idea

↓Cover(N)Reach(N)U

115

Page 268: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

First idea

↓Cover(N)Reach(N)U

↓Cover(N) ∩ U = ⏀ implies

Reach(N) ∩ U = ⏀

115

Page 269: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

What if ?

↓Cover(N) U

• There is m in ↓Cover(N) ∩ U

• Hence, there is m’ < m which is in Reach(N)

• However, any m’ < m is also in U

• Thus, there is m’ both in Reach(N) and U

116

Page 270: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

What if ?

↓Cover(N) U

• There is m in ↓Cover(N) ∩ U

• Hence, there is m’ < m which is in Reach(N)

• However, any m’ < m is also in U

• Thus, there is m’ both in Reach(N) and U

116

Page 271: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

What if ?

↓Cover(N) U

• There is m in ↓Cover(N) ∩ U

• Hence, there is m’ < m which is in Reach(N)

• However, any m’ < m is also in U

• Thus, there is m’ both in Reach(N) and U

116

Page 272: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

What if ?

↓Cover(N) U

• There is m in ↓Cover(N) ∩ U

• Hence, there is m’ < m which is in Reach(N)

• However, any m’ < m is also in U

• Thus, there is m’ both in Reach(N) and U

Reach(N)

116

Page 273: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reach(N)

What if ?

↓Cover(N) U

117

Page 274: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reach(N)

What if ?

↓Cover(N) U

Reach(N) ∩ U = ⏀implies

↓Cover(N) ∩ U = ⏀

117

Page 275: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Coverability set and coverability problem

118

Page 276: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Coverability set and coverability problem

• Theorem:

Reach(N) ∩ U = ⏀ iff↓Cover(N) ∩ U = ⏀

118

Page 277: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Coverability set and coverability problem

• Theorem:

Reach(N) ∩ U = ⏀ iff↓Cover(N) ∩ U = ⏀

• Nice,...

118

Page 278: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Coverability set and coverability problem

• Theorem:

Reach(N) ∩ U = ⏀ iff↓Cover(N) ∩ U = ⏀

• Nice,...

• ...but U and ↓Cover(N) might both be infinite !

118

Page 279: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Coverability set and coverability problem

• Theorem:

Reach(N) ∩ U = ⏀ iff↓Cover(N) ∩ U = ⏀

• Nice,...

• ...but U and ↓Cover(N) might both be infinite !

• How do we test that ↓Cover(N) ∩ U = ⏀??

118

Page 280: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Coverability set and coverability problem

1 2 3

12

3

4

p1

p2

119

Page 281: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

↓Cover(N)

c

Coverability set and coverability problem

1 2 3

12

3

4

p1

p2

119

Page 282: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

↓Cover(N)

c

Coverability set and coverability problem

1 2 3

12

3

4

p1

p2 U

b

119

Page 283: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

↓Cover(N)

c

Coverability set and coverability problem

1 2 3

12

3

4

p1

p2 U

b

c < b

119

Page 284: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

↓Cover(N)

c

Coverability set and coverability problem

1 2 3

12

3

4

p1

p2

All we need to remember is the

(finite) set of minimal elements Min(U)

U

b

c < b

119

Page 285: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

↓Cover(N)

c

Coverability set and coverability problem

1 2 3

12

3

4

p1

p2

All we need to remember is the

(finite) set of minimal elements Min(U)

U

b

c < b

119

Page 286: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

↓Cover(N)

c

Coverability set and coverability problem

1 2 3

12

3

4

p1

p2

↓Cover(N) ∩ U ≠ ⏀iff

there is c in Cover(N) andb in Min(U) s.t.

c < b

All we need to remember is the

(finite) set of minimal elements Min(U)

U

b

c < b

119

Page 287: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Backward approach

b

U = {m|m<b}

120

Page 288: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Backward approach

b

U = {m|m<b}

120

Page 289: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Backward approach

b

U = {m|m<b}

All the markings that can reach U inone step

120

Page 290: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Backward approach

b

U = {m|m<b}

120

Page 291: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Backward approach

b

U = {m|m<b}

120

Page 292: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Backward approach

b

U = {m|m<b}

120

Page 293: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Backward approach

b

U = {m|m<b}

In the end, we want to obtain all the markings that can reach U in any number

of steps

120

Page 294: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Backward approach

bPre!(U)

U = {m|m<b}

In the end, we want to obtain all the markings that can reach U in any number

of steps

120

Page 295: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Backward approach

bPre!(U)

U = {m|m<b}

m0

In the end, we want to obtain all the markings that can reach U in any number

of steps

120

Page 296: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Backward approach

bPre!(U)

U = {m|m<b}

m0

In the end, we want to obtain all the markings that can reach U in any number

of steps

120

Page 297: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Backward Approach

• Clearly:

m0 is in Pre*(U) iff Reach(N) ∩ U ≠ ⏀

• Question: can we compute Pre*(U) ?

• Yes !

121

Page 298: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Predecessor operator

• Symmetrically to the Post, we define the predecessor operator:

Pre(m) = {m’ | m is in Post(m’)}

• Let us consider the sequence

U, Pre(U), Pre(Pre(U)), Pre(Pre(Pre(U))),...

• Theorem: After a finite amount of steps, the sequence stabilises, and we obtain Pre*(U)

122

Page 299: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Advertisement

• Efficient datastuctures to implement this algorithm have been defined by researchers of the verification group at ULB.

123

Page 300: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

More on Petri nets

124

Page 301: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Marking dependent effects

125

Page 302: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Marking-dependent effect

• The effect of a transition is not constant anymore, but depends on the current marking.

p1

p2 p4

p3m(p1)+m(p2)2

m(p2)m(p4)

126

Page 303: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Marking-dependent effect

• The effect of a transition is not constant anymore, but depends on the current marking.

p1

p2 p4

p3m(p1)+m(p2)2

m(p2)m(p4)

127

Page 304: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Marking-dependent effect - resets

• In particular, we can define resets.

p1

p2 p4

p32

m(p2)

1

1

reset of p2

128

Page 305: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Marking-dependent effect - resets

• In particular, we can define resets.

p1

p2 p4

p32

m(p2)

1

1

reset of p2

129

Page 306: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Marking-dependent effect - resets

• In particular, we can define resets.

p1

p2 p4

p32

m(p2)

1

1

reset of p2

130

Page 307: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Reset nets

• When we have only classical PN transitions + resets:

• Coverability is decidable

• Boundedness is decidable

• Place boundedness is undecidable

• The coverability set is not computable

131

Page 308: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Marking-dependent effect - transfers

• In particular, we can define transfers.

p1

p2 p4

p32

m(p2)1

transfer from p2 to p3

m(p2)

132

Page 309: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Marking-dependent effect - transfers

• In particular, we can define transfers.

p1

p2 p4

p32

m(p2)1

transfer from p2 to p3

m(p2)

133

Page 310: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Usefulness of transfers• Modelisation of broadcasts :

• A single message is sent to every process

• Each process that receives the message moves to another state.

p1

waiting received

p21

m(waiting)

1

m(waiting)

notifyall

134

Page 311: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Transfer nets

• When we have only classical PN transitions + transfers:

• Coverability is decidable

• Boundedness is decidable

• Place boundedness is undecidable

• The coverability set is not computable

135

Page 312: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Marking-dependent effect - zero-test

• In particular, we can define test for zero.

p1

p2 p4

p32

2m(p2)1

enabled only if p2 is empty

1

136

Page 313: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Marking-dependent effect - zero-test

• In particular, we can define test for zero.

p1

p2 p4

p32

2m(p2)1

enabled only if p2 is empty

1

137

Page 314: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Marking-dependent effect - zero-test

• In particular, we can define test for zero.

p1

p2 p4

p32

2m(p2)1

enabled only if p2 is empty

1

138

Page 315: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Test for zero

• Once we have test-for-zero everything becomes undecidable.

139

Page 316: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Coloured Petri nets

140

Page 317: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Coloured Petri nets

• Popular extension of the basic model.

• Introduced by the team of Kurt Jensen, in the ‘80s

• used in many applications

141

Page 318: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Coloured Petri nets

• Idea: add colours to the tokens

• Allow to distinguish between different types of tokens

• The colours can model data carried by the processes

• Transitions are aware of the colours

142

Page 319: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Phone example

• We have a set of customers:

• Each customer is represented by a token.

• Color of the token = Phone number.

• A customer is either inactive or connected.

inactive

connected

143

Page 320: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Phone example• A pair of inactive customers can establish a

connection.

• We want to distinguish between sender and receiver.

(x,y)

x

y

x

y

inactive

connections

connectedconnect

The transition consumes

a sender x and a receiver y

Connections are recorded here as

tokens whose color is a pair (snd, rcv)

144

Page 321: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Phone example• A pair of inactive customers can establish a

connection.

• We want to distinguish between sender and receiver.

(x,y)

x

y

x

y

inactive

connections

connectedconnect

The transition consumes

a sender x and a receiver y

Connections are recorded here as

tokens whose color is a pair (snd, rcv)

145

Page 322: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Phone example• The connection can be closed either by the

sender or by the receiver.

(x,y)

(x,y)

x

y

x

y x

y

xy

inactive

connectedconnect

rcv breaks

146

Page 323: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Phone example• The connection can be closed either by the

sender or by the receiver.

(x,y)

(x,y)

x

y

x

y x

y

xy

inactive

connectedconnect

rcv breaks

147

Page 324: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Phone example

(x,y)

(x,y)

(x,y)

x

y

x

y

x

y

x

y

xy

xy

inactive

connections

connectedconnect

snd breaks

rcv breaks

148

Page 325: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Coloured Petri nets

• Several analysis methods have been developped for this model (finite number of colours)

• e.g.: invariants

• Some results can be achieved when the colors have good properties

149

Page 326: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Tools

150

Page 327: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Practical Tools: Pep

151

Page 328: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Practical Tools: Pep• = language to describe PN + a suite of tools

to analyse them:

• simulation

• verification (SPIN, SMV)

• translation from/to different formalisms

• ...

• Everything can be accessed through a single graphical interface (Tcl/Tk)

http://theoretica.informatik.uni-oldenburg.de/~pep/152

Page 329: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Practical Tools: CPNTools

153

Page 330: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Practical Tools: CPNTools

• Specialised in Coloured Petri nets

• Features similar to Pep:

• modelisation

• simulation

• state space analysis

• ...

http://wiki.daimi.au.dk/cpntools/cpntools.wiki

154

Page 331: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Conclusion

155

Page 332: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

To conclude

• Petri nets (and their extensions) are a nice tool to reason about concurrent systems:

• very popular

• non-trivial decision problems are decidable

• appealing graphical representation

• tool supported

156

Page 333: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

To conclude

• There is still a lot to explore:

• other extensions:

• Time Petri nets

• Timed Petri nets

• Stochastic Petri nets,...

157

Page 334: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

To conclude• There is still a lot to explore:

• Subclasses of Petri nets:

• 1-safe

• marked graphs

• free-choice

• conflict free

• ...

• Some problems are easier to decide on these subclasses.

158

Page 335: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

To conclude

• There is still a lot to explore:

• other problems:

• liveness

• deadlock freedom

• semi-linearity

• non-termination

• ...

159

Page 336: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

To conclude

• Very active field of research !

• Several conference and journals entirely dedicated to Petri nets

• ... just hop in and join us !

http://www.informatik.uni-hamburg.de/TGI/PetriNets/

160

Page 337: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Some references• On Petri nets:

• Reisig, W., Petri Nets: An introduction. Springer-Verlag, 1985.• Peterson, JL, Petri nets theory and modeling of systems, Prentice

Hall, 1981• Girault, C. and Valk, R., Petri Nets for Systems Engineering - A Guide

to Modeling, Verification, and Applications. Springer-Verlag, Berlin, Heidelberg, New York, 2003.

• Javier Esparza, Mogens Nielsen, Decidability Issues for Petri Nets: a survey, Bulletin of the EATCS, 52:245--262, February 1994.

• On Petri nets with marking dependent effects:• Valk, R.: Self-Modifying Nets, a Natural Extension of Petri Nets.

ICALP 1978: 464-476• G. Ciardo. Petri nets with marking-dependent arc multiplicity:

properties and analysis. In R. Valette, editor, Application and Theory of Petri Nets 1994, Lecture Notes in Computer Science 815 (Proc. 15th Int. Conf. on Applications and Theory of Petri Nets, Zaragoza, Spain), pages 179-198. Springer-Verlag, June 1994.

161

Page 338: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Some references• On the coverability problem:

• Richard M. Karp, Raymond E. Miller: Parallel Program Schemata. J. Comput. Syst. Sci. 3(2): 147-195 (1969)

• Parosh Aziz Abdulla, Karlis Cerans, Bengt Jonsson, and Tsay Yih-Kuen. General Decidability Theorems for Infinite-State Systems. Proc. LICS'96, 11th IEEE Int. Symp. on Logic in Computer Science, New Brunswick, New Jersey, USA, 1996.

• Finkel, A. and Schnoebelen, P. 2001. Well-structured transition systems everywhere!. Theor. Comput. Sci. 256, 1-2 (Apr. 2001), 63-92. DOI= http://dx.doi.org/10.1016/S0304-3975(00)00102-X

• Geeraerts, Raskin, Van Begin, Expand, Enlarge and Check: new algorithms for the coverability problem of WSTS. Journal of Computer and System Sciences, volume 72(1), pp 180-203, Elsevier, 2005.

• Giorgio Delzanno, Jean-François Raskin, Laurent Van Begin: Covering sharing trees: a compact data structure for parameterized verification. STTT 5(2-3): 268-297 (2004).

• Geeraerts, Raskin, Van Begin. On the efficient Computation of the Minimal Coverability set of Petri nets. In Proceedings ATVA07, Lecture Notes in Computer Science, volume 4762, pages 98--113, Springer Verlag.

162

Page 339: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Some references

• On Coloured Petri nets:• K. Jensen: A Brief Introduction to Coloured Petri Nets. In: E. Brinksma

(ed.): Tools and Algorithms for the Construction and Analysis of Systems. Proceeding of the TACAS'97 Workshop, Enschede, The Netherlands 1997, Lecture Notes in Computer Science Vol. 1217, Springer-Verlag 1997, 203-208.

• K. Jensen: An Introduction to the Theoretical Aspects of Coloured Petri Nets. In: J.W. de Bakker, W.-P. de Roever, G. Rozenberg (eds.): A Decade of Concurrency, Lecture Notes in Computer Science vol. 803, Springer-Verlag 1994, 230-272.

• Jensen, K, Rozenberg, G. High-level petri nets : theory and application, Springer, 1991

163

Page 340: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Some references• On other extensions of Petri nets:

• M. Ajmone Marsan, G. Balbo, G. Conte, S. Donatelli and G. Franceschinis Modelling with Generalized Stochastic Petri Nets, Wiley Series in Parallel Computing, John Wiley and Sons

• F. Bause, P. Kritzinger, Stochastic Petri Nets -- An Introduction to the Theory (2nd edition), Vieweg Verlag, Germany, 2002.

• J. Wang, Timed Petri Nets, Theory and Application, Kluwer Academic Publishers 1998, ISBN: 0-7923-8270-6.

• Louchka Popova. On time petri nets. Journal Information Processing and Cybernetics, EIK, 27(4):227–244, 1991.

• On net unfoldings:• J. Esparza, S. Römer, and W. Vogler. An improvement of mcmillan's

unfolding algorithm. In Proc. TACAS '96, volume 1055 of Lecture Notes in Computer Science, pages 87-106. Springer-Verlag, 1997.

• P. A. Abdulla, S. P. Iyer, and A. Nylén. Unfoldings of Unbounded Petri Nets. In Proc. of CAV '00, volume 1855 of Lecture Notes in Computer Science, pages 495-507. Springer-Verlag, 2000.

• More at: • http://www.informatik.uni-hamburg.de/TGI/PetriNets/introductions/

164

Page 341: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which

Questions ?

165