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: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
m’
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
m’
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
m’
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
m’
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
m’
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
mω
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
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