an introduction to petri nets and how to analyse...

Post on 21-Feb-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

G. Geeraerts

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

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

1

Introduction

2

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

IntroductionConcurrency

4

IntroductionConcurrency

Work in parallel4

IntroductionConcurrency

Work in parallel

Must wait for thetwo other machines

4

Can write orread on the DB

Can write orread on the DB

IntroductionConcurrency

5

IntroductionConcurrency

Boss

6

IntroductionConcurrency

Boss

6

IntroductionConcurrency

Boss

Employees: work in parallel6

IntroductionConcurrency

Boss

Employees: work in parallel

gives work

6

IntroductionConcurrency

Boss

Employees: work in parallel

gives work

6

IntroductionConcurrency

Boss

Employees: work in parallel

gives work

6

IntroductionConcurrency

Boss

Employees: work in parallel

gives work receives credit for the results

6

Introduction

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

• Invented in 1962 by C.A. Petri.

7

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

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

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

Intuitions

11

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

TransitionsInput places

Output places

2

3

13

Firing a transition

2

3

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

14

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

Example 1

Can write orread on the DB

Can write orread on the DB

The two machines cannot write at the same time

16

Example 1read

write

idle

write

read

idle

The token tells us the state of the process

17

Example 1read

write

idle

write

read

idle

The token tells us the state of the process

18

Example 1read

write

idle

write

read

idle

The token tells us the state of the process

19

Example 1read

write

idle

write

read

idle

The token tells us the state of the process

20

Example 1read

write

idle

write

read

idle

The token tells us the state of the process

21

Example 1read

write

idle

write

read

idle

Add a lock to ensure mutual exclusion22

Example 1read

write

idle

write

idle

23

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

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

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

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

Preliminaries

26

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Exampleread

write

idle

write

read

idle

Bounded PN All the places are bounded

All the transitions are semi-live

37

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

Some tools for theanalysis of PN

39

Reachability tree and

reachability graph

40

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

I1

R1

W1

W2R2

I2

M

Reachability Tree

42

I1

R1

W1

W2R2

I2

M

〈M, I1, I2〉

Reachability Tree

42

I1

R1

W1

W2R2

I2

M

〈M, I1, I2〉

〈W1, I2〉

〈I1, W2〉

〈M, R1, I2〉

〈M, I1, R2〉

Reachability Tree

42

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

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

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

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

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

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

Reachability graphI1

R1

W1

W2R2

I2

M

44

Reachability graphI1

R1

W1

W2R2

I2

M 〈M, I1, I2〉

44

Reachability graphI1

R1

W1

W2R2

I2

M 〈M, I1, I2〉

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

44

Reachability graphI1

R1

W1

W2R2

I2

M 〈M, I1, I2〉

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

〈M, R1, R2〉

44

Reachability graphI1

R1

W1

W2R2

I2

M 〈M, I1, I2〉

〈W1, I2〉〈I1, W2〉

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

〈M, R1, R2〉

44

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

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

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

Reachability graph

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

• boundedness

• place boundedness

• semi-liveness

• ...

45

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

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

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

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

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

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

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

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

Place invariants

49

Place Invariantsread

write

idle

write

read

idle

R1 R2

I2

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

50

Place Invariantsread

write

idle

write

read

idle

R1 R2

I2

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

51

Place Invariantsread

write

idle

write

read

idle

R1 R2

I2

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

52

Place Invariantsread

write

idle

write

read

idle

R1 R2

I2

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

53

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

Place Invariantsread

write

idle

write

read

idle

R1

I1

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

W1

54

Place Invariantsread

write

idle

write

read

idle

R1

I1

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

W1

55

Place Invariantsread

write

idle

write

read

idle

R1

I1

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

W1

56

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

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

p1

p2

p3

p42

2

Place Invariants

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

57

p1

p2

p3

p42

2

Place Invariants

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

58

p1

p2

p3

p42

2

Place Invariants

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

59

p1

p2

p3

p42

2

Place Invariants

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

60

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

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

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

p1

p2

p3

p42

2

Place Invariants

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

61

p1

p2

p3

p42

2

Place Invariants

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

62

p1

p2

p3

p42

2

Place Invariants

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

63

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

p1

p2

p3

p42

2

Example: other invariants

m(p1) + m(p3) = 1

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

65

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

p1

p2

p3

p42

2

Example

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

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

67

• Theorem: For any Petri net N:

Reach(N)

{m | m respects some invariant of N}

Invariants as over-approximations

68

• 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

• 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

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

Place invariant

• Question: how do we compute them ?

70

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Karp & Millerand

the coverability set

81

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

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

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

The reachability tree revisited

• Let us summarise this infinite sequence

〈0p1,p2〉

〈1p1,p2〉

〈2p1,p2〉

〈3p1,p2〉

83

The reachability tree revisited

• Let us summarise this infinite sequence

〈0p1,p2〉

〈1p1,p2〉

〈2p1,p2〉

〈3p1,p2〉

limit

83

The reachability tree revisited

• Let us summarise this infinite sequence

〈0p1,p2〉

〈1p1,p2〉

〈2p1,p2〉

〈3p1,p2〉

〈 ωp1,p2〉limit

83

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

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

Karp & Miller

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

84

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:m1 m2

m3

t!

if

85

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:

m4

m1 m2

m3

t!

if

85

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:

m4

m1 m2

m3

t! !

t

if

85

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:

m4

m1 m2

m3

t! !

t

if

! !85

Monotonicity

• Petri nets induce (strongly) monotonic transition systems:

• In particular:

m4

m1 m2

m3

t! !

t

if

! !!i1, i2, i3"

85

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

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

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

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

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

〈1, 0, 0, 0〉

Example

86

〈1, 0, 0, 0〉

Example

〈0, 0, 1, 0〉

86

〈1, 0, 0, 0〉

Example

〈0, 0, 1, 0〉

〈0, 0, 0, 1〉

86

〈1, 0, 0, 0〉

Example

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

〈0, 0, 1, 0〉

〈0, 0, 0, 1〉

86

〈1, 0, 0, 0〉

Example

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

〈0, 0, 1, 0〉

〈0, 0, 0, 1〉

86

〈1, 0, 0, 0〉

Example

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

〈0, 0, 1, 0〉

〈0, 0, 0, 1〉

86

〈1, 0, 0, 0〉

Example

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

〈0, 0, 1, 0〉

〈0, 0, 0, 1〉

86

〈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

〈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

〈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

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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: gigeerae@ulb.ac.be

E-mail address: jraskin@ulb.ac.be

E-mail address: lvbegin@ulb.ac.be

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

Karp & MillerStopping a branch

m1

m2

!This node doesn’t have to be developed

88

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

• 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

• 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

Example

3

94

Example

3

95

Example

3

96

Example

3

97

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The coverability problem

105

Reachability: a natural question

• The reachability problem: given a marking m is it reachable from m0 ?

m0106

Reachability: a natural question

• The reachability problem: given a marking m is it reachable from m0 ?

m0106

Reachability: a natural question

• The reachability problem: given a marking m is it reachable from m0 ?

m0106

Reachability: a natural question

• The reachability problem: given a marking m is it reachable from m0 ?

m0106

Reachability: a natural question

• The reachability problem: given a marking m is it reachable from m0 ?

m0106

Reachability: a natural question

• The reachability problem: given a marking m is it reachable from m0 ?

m

m0106

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

Example

nasty

2

p1

p2

p3

108

Example

nasty

2

p1

p2

p3

108

Example

nasty

2

p1

p2

p3

Questionis 〈0, 0, 2, 0〉

reachable ?

108

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

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

The coverability problem

bm0

Does there exist a reachable marking which is larger than some marking b ?

109

The coverability problem

bm0

Does there exist a reachable marking which is larger than some marking b ?

109

The coverability problem

bm0

Does there exist a reachable marking which is larger than some marking b ?

109

The coverability problem

bm0

Does there exist a reachable marking which is larger than some marking b ?

109

The coverability problem

bm0

Does there exist a reachable marking which is larger than some marking b ?

109

The coverability problem

b

m’

m0

Does there exist a reachable marking which is larger than some marking b ?

109

The coverability problem

!

b

m’

m0

Does there exist a reachable marking which is larger than some marking b ?

109

The coverability problem

b

m0

110

The coverability problem

b

m0

110

The coverability problem

b

m0

110

The coverability problem

b

m0

110

The coverability problem

b

m0

110

The coverability problem

bReach(N)

m0

110

The coverability problem

bReach(N)

m0

110

The coverability problem

bReach(N)

{m | m < b}

m0

110

The coverability problem

bReach(N)

{m | m < b}

m0

110

The coverability problem

• Two alternative definitions:

• Is there a reachable marking m s.t. m<b ?

• Does Reach(N) ∩ {m | m<b} ≠ ⏀ ?

111

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

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

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

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

First idea

• Use the coverability set !

• Remember: the coverability set over-approximates the reachable states:

Reach(N) ⊆ ↓Cover(N)

114

First idea

• Use the coverability set !

• Remember: the coverability set over-approximates the reachable states:

Reach(N) ⊆ ↓Cover(N)

Reach(N)

114

↓Cover(N)

First idea

• Use the coverability set !

• Remember: the coverability set over-approximates the reachable states:

Reach(N) ⊆ ↓Cover(N)

Reach(N)

114

↓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

First idea

115

First idea

Reach(N)

115

First idea

↓Cover(N)Reach(N)

115

First idea

↓Cover(N)Reach(N)U

115

First idea

↓Cover(N)Reach(N)U

↓Cover(N) ∩ U = ⏀ implies

Reach(N) ∩ U = ⏀

115

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

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

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

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

Reach(N)

What if ?

↓Cover(N) U

117

Reach(N)

What if ?

↓Cover(N) U

Reach(N) ∩ U = ⏀implies

↓Cover(N) ∩ U = ⏀

117

Coverability set and coverability problem

118

Coverability set and coverability problem

• Theorem:

Reach(N) ∩ U = ⏀ iff↓Cover(N) ∩ U = ⏀

118

Coverability set and coverability problem

• Theorem:

Reach(N) ∩ U = ⏀ iff↓Cover(N) ∩ U = ⏀

• Nice,...

118

Coverability set and coverability problem

• Theorem:

Reach(N) ∩ U = ⏀ iff↓Cover(N) ∩ U = ⏀

• Nice,...

• ...but U and ↓Cover(N) might both be infinite !

118

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

Coverability set and coverability problem

1 2 3

12

3

4

p1

p2

119

↓Cover(N)

c

Coverability set and coverability problem

1 2 3

12

3

4

p1

p2

119

↓Cover(N)

c

Coverability set and coverability problem

1 2 3

12

3

4

p1

p2 U

b

119

↓Cover(N)

c

Coverability set and coverability problem

1 2 3

12

3

4

p1

p2 U

b

c < b

119

↓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

↓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

↓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

Backward approach

b

U = {m|m<b}

120

Backward approach

b

U = {m|m<b}

120

Backward approach

b

U = {m|m<b}

All the markings that can reach U inone step

120

Backward approach

b

U = {m|m<b}

120

Backward approach

b

U = {m|m<b}

120

Backward approach

b

U = {m|m<b}

120

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

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

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

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

Backward Approach

• Clearly:

m0 is in Pre*(U) iff Reach(N) ∩ U ≠ ⏀

• Question: can we compute Pre*(U) ?

• Yes !

121

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

Advertisement

• Efficient datastuctures to implement this algorithm have been defined by researchers of the verification group at ULB.

123

More on Petri nets

124

Marking dependent effects

125

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

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

Marking-dependent effect - resets

• In particular, we can define resets.

p1

p2 p4

p32

m(p2)

1

1

reset of p2

128

Marking-dependent effect - resets

• In particular, we can define resets.

p1

p2 p4

p32

m(p2)

1

1

reset of p2

129

Marking-dependent effect - resets

• In particular, we can define resets.

p1

p2 p4

p32

m(p2)

1

1

reset of p2

130

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

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

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

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

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

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

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

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

Test for zero

• Once we have test-for-zero everything becomes undecidable.

139

Coloured Petri nets

140

Coloured Petri nets

• Popular extension of the basic model.

• Introduced by the team of Kurt Jensen, in the ‘80s

• used in many applications

141

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

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

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

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

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

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

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

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

Tools

150

Practical Tools: Pep

151

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

Practical Tools: CPNTools

153

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

Conclusion

155

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

To conclude

• There is still a lot to explore:

• other extensions:

• Time Petri nets

• Timed Petri nets

• Stochastic Petri nets,...

157

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

To conclude

• There is still a lot to explore:

• other problems:

• liveness

• deadlock freedom

• semi-linearity

• non-termination

• ...

159

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

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

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

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

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

Questions ?

165

top related