an introduction to petri nets and how to analyse...
TRANSCRIPT
![Page 1: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/1.jpg)
G. Geeraerts
Groupe de Vérification - Département d’Informatique Université Libre de Bruxelles
An Introduction to Petri netsand how to analyse them...
1
![Page 2: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/2.jpg)
Introduction
2
![Page 3: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/3.jpg)
Introduction
• Concurrency: property of a “system” in which many “entities” act at the same time and interact.
• Often found in many application:
• Computer science (e.g.: parallel computing)
• Workflow
• Manufacturing systems
• ....
3
![Page 4: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/4.jpg)
IntroductionConcurrency
4
![Page 5: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/5.jpg)
IntroductionConcurrency
Work in parallel4
![Page 6: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/6.jpg)
IntroductionConcurrency
Work in parallel
Must wait for thetwo other machines
4
![Page 7: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/7.jpg)
Can write orread on the DB
Can write orread on the DB
IntroductionConcurrency
5
![Page 8: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/8.jpg)
IntroductionConcurrency
Boss
6
![Page 9: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/9.jpg)
IntroductionConcurrency
Boss
6
![Page 10: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/10.jpg)
IntroductionConcurrency
Boss
Employees: work in parallel6
![Page 11: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/11.jpg)
IntroductionConcurrency
Boss
Employees: work in parallel
gives work
6
![Page 12: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/12.jpg)
IntroductionConcurrency
Boss
Employees: work in parallel
gives work
6
![Page 13: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/13.jpg)
IntroductionConcurrency
Boss
Employees: work in parallel
gives work
6
![Page 14: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/14.jpg)
IntroductionConcurrency
Boss
Employees: work in parallel
gives work receives credit for the results
6
![Page 15: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/15.jpg)
Introduction
• Petri nets are a tool to model concurrent systems and reason about them.
• Invented in 1962 by C.A. Petri.
7
![Page 16: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/16.jpg)
The aim of the talk
• Introduce you to Petri nets (and some of their extensions)
• Explain several analysis methods for PN
• i.e., what can you ‘ask’ about a PN ?
• Give a rough idea of the research in the verification group at ULB...
• ... and foster new collaborations ?
8
![Page 17: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/17.jpg)
How I use Petri nets
template <typename T> T Max(T a, T b){ return a < b ? b : a;} #include <string>int main() // fonction main{ int i = Max(3, 5); char c = Max('e', 'b'); std::string s = Max(std::string("hello"), std::string("world")); float f = Max<float>(1, 2.2f);
2 GEERAERTS, RASKIN, AND VAN BEGIN
•
p1
p2
p4
p5
p3
p6 p7
t1
t3
t4
t5 t6t2
t7 t8
2
Figure 1: The Petri net on which the algorithm proposed in [?] may not compute the wholecoverability set.
!p1"
!p2"
!p3"
!p3, p5"
t1
t2
t3 · t4!
(a) Step 1.
!1, 0, 0, 0, 0"
!0, 1, 0, 0, 0"
!0, 0, 1, 0,!"
!0, 0, 0, 1, 2"
!0, 0, 1, 0, 3"
t5
t4
<
(b) Step 2.
!1, 0, 0, 0, 0"
!0, 1, 0, 0, 0"
!0, 0, 1, 0,!"
!0, 0, 0, 1, 2"
!#"
!0, 1, 0, 0, 1"
t6
<
(c) Step 3.
Figure 2: A counter-example to Finkel’s algorithm. Nodes and edges in grey have beenremoved. Thick grey arrows represent the proofs.
Analysis methodof PN
abstraction
9
![Page 18: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/18.jpg)
How you might use PN2 GEERAERTS, RASKIN, AND VAN BEGIN
•
p1
p2
p4
p5
p3
p6 p7
t1
t3
t4
t5 t6t2
t7 t8
2
Figure 1: The Petri net on which the algorithm proposed in [?] may not compute the wholecoverability set.
!p1"
!p2"
!p3"
!p3, p5"
t1
t2
t3 · t4!
(a) Step 1.
!1, 0, 0, 0, 0"
!0, 1, 0, 0, 0"
!0, 0, 1, 0,!"
!0, 0, 0, 1, 2"
!0, 0, 1, 0, 3"
t5
t4
<
(b) Step 2.
!1, 0, 0, 0, 0"
!0, 1, 0, 0, 0"
!0, 0, 1, 0,!"
!0, 0, 0, 1, 2"
!#"
!0, 1, 0, 0, 1"
t6
<
(c) Step 3.
Figure 2: A counter-example to Finkel’s algorithm. Nodes and edges in grey have beenremoved. Thick grey arrows represent the proofs.
Analysis methodof PN
abstractionYour favorite application
10
![Page 19: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/19.jpg)
Intuitions
11
![Page 20: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/20.jpg)
IngredientsA Petri net is made up of...
Places
Transitions
Tokens
= some type of resource
consume and produceresources
= one unity of a certain resource
Tokens ‘live’ in the places12
![Page 21: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/21.jpg)
TransitionsInput places
Output places
2
3
13
![Page 22: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/22.jpg)
Firing a transition
2
3
Transitions consume tokens from the input places and produce tokens in the output places
14
![Page 23: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/23.jpg)
Firing a transition
2
3
Transitions consume tokens from the input places and produce tokens in the output places
Now, the transition cannot be fired anymore
15
![Page 24: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/24.jpg)
Example 1
Can write orread on the DB
Can write orread on the DB
The two machines cannot write at the same time
16
![Page 25: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/25.jpg)
Example 1read
write
idle
write
read
idle
The token tells us the state of the process
17
![Page 26: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/26.jpg)
Example 1read
write
idle
write
read
idle
The token tells us the state of the process
18
![Page 27: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/27.jpg)
Example 1read
write
idle
write
read
idle
The token tells us the state of the process
19
![Page 28: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/28.jpg)
Example 1read
write
idle
write
read
idle
The token tells us the state of the process
20
![Page 29: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/29.jpg)
Example 1read
write
idle
write
read
idle
The token tells us the state of the process
21
![Page 30: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/30.jpg)
Example 1read
write
idle
write
read
idle
Add a lock to ensure mutual exclusion22
![Page 31: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/31.jpg)
Example 1read
write
idle
write
idle
23
![Page 32: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/32.jpg)
Example 216 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
mutex M ;
Process P { repeat { take M ; critical ; release M ; }}
24
![Page 33: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/33.jpg)
Example 216 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
mutex M ;
Process P { repeat { take M ; critical ; release M ; }}
Here, we have applied a counting abstraction
24
![Page 34: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/34.jpg)
Plan of the talk
• Preliminaries
• Tools for the analysis of PN
• reachability tree and reachability graph
• place invariants
• Karp & Miller and the coverability set
• The coverability problem
• More on PN: extensions...
• Conclusion
25
![Page 35: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/35.jpg)
Plan of the talk
• Preliminaries
• Tools for the analysis of PN
• reachability tree and reachability graph
• place invariants
• Karp & Miller and the coverability set
• The coverability problem
• More on PN: extensions...
• Conclusion
Det
aile
d co
vera
geSu
rvey
25
![Page 36: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/36.jpg)
Preliminaries
26
![Page 37: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/37.jpg)
Formal definition
• A Petri net is a tuple 〈P, T〉where:
• P is the (finite) set of places
• T is the (finite) set of transitions. Each transition t is a tuple 〈I, O〉where:
• I: is a function s.t. t consumes I(p) tokens in each place p
• O is a function s.t. t produces O(p) tokens in each place p
27
![Page 38: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/38.jpg)
Example
2
3
tp1
p2
p5
p4
p3
I(p1)=2 I(p2)=1 I(p3)=0 I(p4)=0 I(p5)=0O(p1)=0 O(p2)=0 O(p3)=1 O(p4)=3 O(p5)=1
28
![Page 39: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/39.jpg)
Markings
• The distribution of the tokens in the places is formalised by the notion of marking, which can be seen:
• either as a function m, s.t. m(p) is the number of tokens in place p
• or as a vector m=〈m1, m2,... mn〉where mi is the number of tokens in place pi
29
![Page 40: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/40.jpg)
Example
2
3
tp1
p2
p5
p4
p3
m =〈1,1,1,2,0〉m = 〈 p1, p2, p3, 2p4〉
m(p1)=1, m(p2)=1, m(p3)=1, m(p4)=2, m(p5)=0
30
![Page 41: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/41.jpg)
Firing a transition
• A transition t = 〈I,O〉can be fired from m iff for any place p:
m(p) ≥ I(p)
• The firing transforms the marking m into a marking m’ s.t. for any place p:
m’(p) = m(p) - I(p) + O(p)
• Notation: m→m’
• Notation: Post(m) = {m’ | m→m’}
31
![Page 42: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/42.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
32
![Page 43: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/43.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
Post(〈1, 1, 0〉)={〈2, 1, 0〉,〈0, 0, 1〉}
32
![Page 44: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/44.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
Post(〈1, 1, 0〉)={〈2, 1, 0〉,〈0, 0, 1〉}
32
![Page 45: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/45.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
Post(〈1, 1, 0〉)={〈2, 1, 0〉,〈0, 0, 1〉}
32
![Page 46: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/46.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
Post(〈1, 1, 0〉)={〈2, 1, 0〉,〈0, 0, 1〉}
32
![Page 47: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/47.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
Post(〈1, 1, 0〉)={〈2, 1, 0〉,〈0, 0, 1〉}
32
![Page 48: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/48.jpg)
Initial markingReachable markings
• All PN are equipped with an initial marking m0
• If two markings m and m’ are s.t.:
m→m1→m2→…→m’
Then m’ is reachable from m
• Let N be a PN with initial marking m0:
Reach(N) = {m reachable from m0}
is the set of reachable markings of N.
33
![Page 49: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/49.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
34
![Page 50: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/50.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
Reach(N ) ={!i,1,0" | i # N}
${!i,0,1" | i # N}
34
![Page 51: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/51.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
Reach(N ) ={!i,1,0" | i # N}
${!i,0,1" | i # N}
This set allows us to prove that the mutual
exclusion is indeed enforced
34
![Page 52: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/52.jpg)
Ordering on markings
• Markings can be compared thanks to 4:
m4m’ iff for any place p: m(p)6 m’(p)
mpm’ iff m4m’ and m≠m’
• Examples:
• 〈1, 0, 0〉p〈1, 1, 0〉4〈1, 1, 0〉 4〈5, 7, 2〉
• 〈1, 0, 0〉 is not comparable to 〈0, 1, 0〉
35
![Page 53: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/53.jpg)
Questions on PN• Meaningful questions about PN include:
• Boundedness: is the number of reachable markings bounded ?
• Place boundedness: is there a bound on the maximal number of tokens that can be created in a given place ?
• Semi-liveness: is there a reachable marking from which a given transition can fire ?
• Coverability
36
![Page 54: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/54.jpg)
Exampleread
write
idle
write
read
idle
Bounded PN All the places are bounded
All the transitions are semi-live
37
![Page 55: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/55.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
• Unbounded PN
• p2 and p3 are bounded
• p1 is unbounded
• All the transitions are semi-live
38
![Page 56: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/56.jpg)
Some tools for theanalysis of PN
39
![Page 57: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/57.jpg)
Reachability tree and
reachability graph
40
![Page 58: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/58.jpg)
Reachability Tree
• Idea:
• the root is labeled by m0
• for each node labeled by m, create one child for each marking of Post(m)
41
![Page 59: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/59.jpg)
I1
R1
W1
W2R2
I2
M
Reachability Tree
42
![Page 60: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/60.jpg)
I1
R1
W1
W2R2
I2
M
〈M, I1, I2〉
Reachability Tree
42
![Page 61: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/61.jpg)
I1
R1
W1
W2R2
I2
M
〈M, I1, I2〉
〈W1, I2〉
〈I1, W2〉
〈M, R1, I2〉
〈M, I1, R2〉
Reachability Tree
42
![Page 62: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/62.jpg)
I1
R1
W1
W2R2
I2
M
〈M, I1, I2〉
〈W1, I2〉
〈I1, W2〉
〈M, R1, I2〉
〈M, I1, R2〉
〈M, I1, I2〉
〈R1, W2〉
Reachability Tree
42
![Page 63: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/63.jpg)
I1
R1
W1
W2R2
I2
M
〈M, I1, I2〉
〈W1, I2〉
〈I1, W2〉
〈M, R1, I2〉
〈M, I1, R2〉
〈M, I1, I2〉
〈R1, W2〉
〈W1, I2〉〈I1, W2〉 〈M, R1, I2〉〈M, I1, R2〉
Reachability Tree
42
![Page 64: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/64.jpg)
I1
R1
W1
W2R2
I2
M
〈M, I1, I2〉
〈W1, I2〉
〈I1, W2〉
〈M, R1, I2〉
〈M, I1, R2〉
〈M, I1, I2〉
〈R1, W2〉
〈M, I1, I2〉〈W1, R2〉
〈W1, I2〉〈I1, W2〉 〈M, R1, I2〉〈M, I1, R2〉
Reachability Tree
42
![Page 65: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/65.jpg)
I1
R1
W1
W2R2
I2
M
〈M, I1, I2〉
〈W1, I2〉
〈I1, W2〉
〈M, R1, I2〉
〈M, I1, R2〉
〈M, I1, I2〉
〈R1, W2〉
〈M, I1, I2〉〈W1, R2〉
〈W1, I2〉〈I1, W2〉 〈M, R1, I2〉〈M, I1, R2〉
Reachability Tree
42
![Page 66: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/66.jpg)
I1
R1
W1
W2R2
I2
M
〈M, I1, I2〉
〈W1, I2〉
〈I1, W2〉
〈M, R1, I2〉
〈M, I1, R2〉
〈M, I1, I2〉
〈R1, W2〉
〈M, I1, I2〉〈W1, R2〉
〈W1, I2〉〈I1, W2〉 〈M, R1, I2〉〈M, I1, R2〉
Reachability Tree
Reachability trees can be infinite
42
![Page 67: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/67.jpg)
Reachability graph
• Idea: build a node for each reachable marking and add an edge from m to m’ if some transition transforms m into m’
• remark: now, if we meet the same marking twice, we do not create a new node, but re-use the previously created node.
43
![Page 68: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/68.jpg)
Reachability graphI1
R1
W1
W2R2
I2
M
44
![Page 69: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/69.jpg)
Reachability graphI1
R1
W1
W2R2
I2
M 〈M, I1, I2〉
44
![Page 70: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/70.jpg)
Reachability graphI1
R1
W1
W2R2
I2
M 〈M, I1, I2〉
〈M, R1, I2〉 〈M, I1, R2〉
44
![Page 71: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/71.jpg)
Reachability graphI1
R1
W1
W2R2
I2
M 〈M, I1, I2〉
〈M, R1, I2〉 〈M, I1, R2〉
〈M, R1, R2〉
44
![Page 72: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/72.jpg)
Reachability graphI1
R1
W1
W2R2
I2
M 〈M, I1, I2〉
〈W1, I2〉〈I1, W2〉
〈M, R1, I2〉 〈M, I1, R2〉
〈M, R1, R2〉
44
![Page 73: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/73.jpg)
Reachability graphI1
R1
W1
W2R2
I2
M 〈M, I1, I2〉
〈W1, I2〉〈I1, W2〉
〈W1, R2〉〈R1, W2〉
〈M, R1, I2〉 〈M, I1, R2〉
〈M, R1, R2〉
44
![Page 74: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/74.jpg)
Reachability graphI1
R1
W1
W2R2
I2
M 〈M, I1, I2〉
〈W1, I2〉〈I1, W2〉
〈W1, R2〉〈R1, W2〉
〈M, R1, I2〉 〈M, I1, R2〉
〈M, R1, R2〉
44
![Page 75: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/75.jpg)
Reachability graphI1
R1
W1
W2R2
I2
M 〈M, I1, I2〉
〈W1, I2〉〈I1, W2〉
〈W1, R2〉〈R1, W2〉
〈M, R1, I2〉 〈M, I1, R2〉
〈M, R1, R2〉
The reachability graph allows us to prove that the mutual exclusion is
indeed enforced
44
![Page 76: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/76.jpg)
Reachability graph
• The reachability graph of a PN contains all the necessary information to decide:
• boundedness
• place boundedness
• semi-liveness
• ...
45
![Page 77: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/77.jpg)
Reachability graph
• Unfortunately...
16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈p2〉
46
![Page 78: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/78.jpg)
Reachability graph
• Unfortunately...
16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈p2〉
〈p1,p2〉
46
![Page 79: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/79.jpg)
Reachability graph
• Unfortunately...
16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈p2〉
〈p1,p2〉
〈2p1,p2〉 〈p3〉
46
![Page 80: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/80.jpg)
Reachability graph
• Unfortunately...
16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈p2〉
〈p1,p2〉
〈2p1,p2〉 〈p3〉
〈3p1,p2〉 〈p1,p3〉
46
![Page 81: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/81.jpg)
Reachability graph
• Unfortunately...
16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈p2〉
〈p1,p2〉
〈2p1,p2〉 〈p3〉
〈3p1,p2〉 〈p1,p3〉
46
![Page 82: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/82.jpg)
Reachability graph
• Unfortunately...
16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈p2〉
〈p1,p2〉
〈2p1,p2〉 〈p3〉
〈3p1,p2〉 〈p1,p3〉
Reachability graphs can be infinite
46
![Page 83: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/83.jpg)
The hard stuff...
• The main difficulty in analysing Petri nets is due to the possibly infinite number of reachable markings.
• We have to find techniques to deal with this infinite set.
47
![Page 84: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/84.jpg)
The hard stuff...
• Remark: finite doesn’t mean easy
• The set of reachable markings of a bounded net can be huge !
• Efficient techniques to deal with bounded nets have been developped.
• e.g.: net unfoldings
48
![Page 85: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/85.jpg)
Place invariants
49
![Page 86: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/86.jpg)
Place Invariantsread
write
idle
write
read
idle
R1 R2
I2
m(R1) + m(R2) + m(I2) =1
50
![Page 87: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/87.jpg)
Place Invariantsread
write
idle
write
read
idle
R1 R2
I2
m(R1) + m(R2) + m(I2) =1
51
![Page 88: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/88.jpg)
Place Invariantsread
write
idle
write
read
idle
R1 R2
I2
m(R1) + m(R2) + m(I2) = 2
52
![Page 89: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/89.jpg)
Place Invariantsread
write
idle
write
read
idle
R1 R2
I2
m(R1) + m(R2) + m(I2) = 0
53
![Page 90: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/90.jpg)
Place Invariantsread
write
idle
write
read
idle
R1 R2
I2
m(R1) + m(R2) + m(I2) = 0
The total number of tokens in these places
is not constant
53
![Page 91: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/91.jpg)
Place Invariantsread
write
idle
write
read
idle
R1
I1
m(R1) + m(W1) + m(I1) = 1
W1
54
![Page 92: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/92.jpg)
Place Invariantsread
write
idle
write
read
idle
R1
I1
m(R1) + m(W1) + m(I1) = 1
W1
55
![Page 93: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/93.jpg)
Place Invariantsread
write
idle
write
read
idle
R1
I1
m(R1) + m(W1) + m(I1) = 1
W1
56
![Page 94: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/94.jpg)
Place Invariantsread
write
idle
write
read
idle
R1
I1
m(R1) + m(W1) + m(I1) = 1
W1
The total number of tokens in these places
is constant
56
![Page 95: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/95.jpg)
Place Invariantsread
write
idle
write
read
idle
R1
I1
m(R1) + m(W1) + m(I1) = 1
W1
The total number of tokens in these places
is constant
This provides meaningful information
about the system: a process is either idle, or reading or writing
56
![Page 96: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/96.jpg)
p1
p2
p3
p42
2
Place Invariants
m(p1) + m(p2) + m(p3) + m(p4) = 1
57
![Page 97: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/97.jpg)
p1
p2
p3
p42
2
Place Invariants
m(p1) + m(p2) + m(p3) + m(p4) = 3
58
![Page 98: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/98.jpg)
p1
p2
p3
p42
2
Place Invariants
m(p1) + m(p2) + m(p3) + m(p4) = 2
59
![Page 99: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/99.jpg)
p1
p2
p3
p42
2
Place Invariants
m(p1) + m(p2) + m(p3) + m(p4) = 1
60
![Page 100: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/100.jpg)
p1
p2
p3
p42
2
Place Invariants
m(p1) + m(p2) + m(p3) + m(p4) = 1
The total number of tokens in these places
is not constant
60
![Page 101: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/101.jpg)
p1
p2
p3
p42
2
Place Invariants
m(p1) + m(p2) + m(p3) + m(p4) = 1
The total number of tokens in these places
is not constant
In some sense, tokens in p1 are heavier than
those in p2
60
![Page 102: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/102.jpg)
p1
p2
p3
p42
2
Place Invariants
m(p1) + m(p2) + m(p3) + m(p4) = 1
The total number of tokens in these places
is not constant
In some sense, tokens in p1 are heavier than
those in p2
Let’s add weights to the places !
60
![Page 103: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/103.jpg)
p1
p2
p3
p42
2
Place Invariants
3 m(p1) + m(p2) + m(p3) + 2 m(p4) = 3
61
![Page 104: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/104.jpg)
p1
p2
p3
p42
2
Place Invariants
3 m(p1) + m(p2) + m(p3) + 2 m(p4) = 3
62
![Page 105: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/105.jpg)
p1
p2
p3
p42
2
Place Invariants
3 m(p1) + m(p2) + m(p3) + 2 m(p4) = 3
63
![Page 106: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/106.jpg)
Place invariant:Definition
• Definition: a place-invariant (or p-semiflow) is a vector i of natural numbers s.t. for any reachable marking m:
!p!P
i(p)"m(p) = !p!P
i(p)"m0(p)
remark: there exists a trivial invariant i = 〈0, 0, .., 0〉
64
![Page 107: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/107.jpg)
p1
p2
p3
p42
2
Example: other invariants
m(p1) + m(p3) = 1
2 m(p1) + m(p2) + 2 m(p4) = 2
65
![Page 108: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/108.jpg)
Invariants as over-approximations
• A place-invariant expresses a constraint on the reachable markings.
• If m is reachable and i is an invariant, then:
• The reverse is not true !
!p!P
i(p)"m(p) = !p!P
i(p)"m0(p)
66
![Page 109: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/109.jpg)
p1
p2
p3
p42
2
Example
m(p1) + m(p3) = 1is an invariant
but〈1, 25, 0, 234〉 is not reachable
67
![Page 110: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/110.jpg)
• Theorem: For any Petri net N:
Reach(N)
⊆
{m | m respects some invariant of N}
Invariants as over-approximations
68
![Page 111: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/111.jpg)
• Theorem: For any Petri net N:
Reach(N)
⊆
{m | m respects some invariant of N}
Invariants as over-approximations
This set overapproximates the
reachable markings
68
![Page 112: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/112.jpg)
• Theorem: For any Petri net N:
Reach(N)
⊆
{m | m respects some invariant of N}
Invariants as over-approximations
This set overapproximates the
reachable markings
Place invariants are thus useful to finitely
approximate the set of reachable markings
68
![Page 113: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/113.jpg)
Place invariant and boundedness
• Theorem: If there exists a place invariant i and a place p s.t. i(p)>0 then p is bounded.
• Remark: the reverse is not true.
• One can find a bounded net that doesn’t have a place invariant i with i(p)>0 for each place.
69
![Page 114: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/114.jpg)
Place invariant
• Question: how do we compute them ?
70
![Page 115: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/115.jpg)
Matrix characterisation
• The negative effect (consumption) of all the transitions on all the places can be summarised in one matrix:
where, for any i: ti =〈Ii,Oi〉
W! =
!
""#
I1(p1) I2(p1) · · · Ik(p1)I1(p2) I2(p2) · · · Ik(p2)
... ... . . . ...I1(pn) I2(pn) · · · Ik(pn)
$
%%&
neg. eff. on p1
neg. eff. on p2
71
![Page 116: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/116.jpg)
• The same can be done with the positive effects:
where, for any i: ti =〈Ii,Oi〉
W + =
!
""#
O1(p1) O2(p1) · · · Ok(p1)O1(p2) O2(p2) · · · Ok(p2)
... ... . . . ...O1(pn) O2(pn) · · · Ok(pn)
$
%%&
pos. eff. on p1
pos. eff. on p2
Matrix characterisation
72
![Page 117: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/117.jpg)
Incidence Matrix
• The global effect of every transition can be summarised as a single matrix:
W = W +!W!
W is called the incidence matrix of the net
73
![Page 118: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/118.jpg)
Example
W + =
!
"1 0 10 0 10 1 0
#
$ W! =
!
"0 1 00 1 00 0 1
#
$
W =
!
"1 !1 10 !1 10 1 !1
#
$
16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
74
![Page 119: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/119.jpg)
Example
W + =
!
"1 0 10 0 10 1 0
#
$ W! =
!
"0 1 00 1 00 0 1
#
$
W =
!
"1 !1 10 !1 10 1 !1
#
$
16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
74
![Page 120: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/120.jpg)
Example
W + =
!
"1 0 10 0 10 1 0
#
$ W! =
!
"0 1 00 1 00 0 1
#
$
W =
!
"1 !1 10 !1 10 1 !1
#
$
16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
74
![Page 121: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/121.jpg)
Computing place invariants
• Intuitively, if i is a place invariant it should assign weights to the places such that the positive and negative effects of every transition are balanced
• Thus, for any transition t =〈I, O〉we should have:
!p!P
I(p)" i(p) = !p!P
O(p)" i(p)
75
![Page 122: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/122.jpg)
Computing place invariants
• Intuitively, if i is a place invariant it should assign weights to the places such that the positive and negative effects of every transition are balanced
• Thus, for any transition t =〈I, O〉we should have:
!p!P
I(p)" i(p) = !p!P
O(p)" i(p)
2
1 2
75
![Page 123: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/123.jpg)
Computing place invariants
• Intuitively, if i is a place invariant it should assign weights to the places such that the positive and negative effects of every transition are balanced
• Thus, for any transition t =〈I, O〉we should have:
!p!P
I(p)" i(p) = !p!P
O(p)" i(p)
2
1 2
75
![Page 124: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/124.jpg)
Computing place invariants
• Intuitively, if i is a place invariant it should assign weights to the places such that the positive and negative effects of every transition are balanced
• Thus, for any transition t =〈I, O〉we should have:
!p!P
I(p)" i(p) = !p!P
O(p)" i(p)
2
1 2
75
![Page 125: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/125.jpg)
Computing place invariants
• Intuitively, if i is a place invariant it should assign weights to the places such that the positive and negative effects of every transition are balanced
• Thus, for any transition t =〈I, O〉we should have:
!p!P
I(p)" i(p) = !p!P
O(p)" i(p)
2
1 2
75
![Page 126: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/126.jpg)
Computing place invariants
!p!P
I(p)" i(p) = !p!P
O(p)" i(p)
!p!P
!O(p)" I(p)
"# i(p) = 0
means
76
![Page 127: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/127.jpg)
Computing place invariants
!p!P
I(p)" i(p) = !p!P
O(p)" i(p)
!p!P
!O(p)" I(p)
"# i(p) = 0
means
t =〈I, O〉
76
![Page 128: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/128.jpg)
Computing place invariants
!p!P
I(p)" i(p) = !p!P
O(p)" i(p)
!p!P
!O(p)" I(p)
"# i(p) = 0
means
t =〈I, O〉 W =
!
""#
· · · O(p1)! I(p1) · · ·· · · O(p2)! I(p2) · · ·... ... ...
· · · O(pn)! I(pn) · · ·
$
%%&
76
![Page 129: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/129.jpg)
Computing place invariants
!p!P
I(p)" i(p) = !p!P
O(p)" i(p)
!p!P
!O(p)" I(p)
"# i(p) = 0
means
t =〈I, O〉 W =
!
""#
· · · O(p1)! I(p1) · · ·· · · O(p2)! I(p2) · · ·... ... ...
· · · O(pn)! I(pn) · · ·
$
%%&
76
![Page 130: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/130.jpg)
Computing place invariants
!p!P
!O(p)" I(p)
"# i(p) = 0
is thus the scalar product of i and the column of W that corresponds to transition t
77
![Page 131: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/131.jpg)
Computing place invariants
!p!P
!O(p)" I(p)
"# i(p) = 0
is thus the scalar product of i and the column of W that corresponds to transition t
Since this must hold for any t, we obtain:
77
![Page 132: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/132.jpg)
Computing place invariants
!p!P
!O(p)" I(p)
"# i(p) = 0
is thus the scalar product of i and the column of W that corresponds to transition t
Since this must hold for any t, we obtain:
Theorem: any solution i to the following system of equations is a place-invariant:
77
![Page 133: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/133.jpg)
Computing place invariants
!p!P
!O(p)" I(p)
"# i(p) = 0
is thus the scalar product of i and the column of W that corresponds to transition t
Since this must hold for any t, we obtain:
i!W = 0
Theorem: any solution i to the following system of equations is a place-invariant:
77
![Page 134: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/134.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
W =
!
"1 !1 10 !1 10 1 !1
#
$
78
![Page 135: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/135.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
!i1, i2, i3"#W = 0
W =
!
"1 !1 10 !1 10 1 !1
#
$
78
![Page 136: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/136.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
!"
#
i1 = 0!i1!i2+i3 = 0
i1+i2!i3 = 0
!i1, i2, i3"#W = 0
W =
!
"1 !1 10 !1 10 1 !1
#
$
78
![Page 137: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/137.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
!"
#
i1 = 0!i1!i2+i3 = 0
i1+i2!i3 = 0
!i1, i2, i3"#W = 0
W =
!
"1 !1 10 !1 10 1 !1
#
$
!"
#
i1 = 0!i2+i3 = 0+i2!i3 = 0
78
![Page 138: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/138.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
!"
#
i1 = 0!i1!i2+i3 = 0
i1+i2!i3 = 0
!i1, i2, i3"#W = 0
W =
!
"1 !1 10 !1 10 1 !1
#
$
!"
#
i1 = 0!i2+i3 = 0+i2!i3 = 0
Any vector of the form 〈0, i, i〉
is a place invariant
78
![Page 139: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/139.jpg)
Proving properties16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
Let us choose 〈0, 1, 1〉as place-invariant
79
![Page 140: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/140.jpg)
Proving properties16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
Let us choose 〈0, 1, 1〉as place-invariant
This means that p2 and p3 are bounded !
79
![Page 141: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/141.jpg)
Proving properties16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
For any reachable marking m:
0 m(p1) +1 m(p2) + 1 m(p3) = 0 m0(p1) + 1 m0(p2) + 1 m0(p3)
m(p2) + m(p3) = 1
Let us choose 〈0, 1, 1〉as place-invariant
This means that p2 and p3 are bounded !
79
![Page 142: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/142.jpg)
Proving properties16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
For any reachable marking m:
0 m(p1) +1 m(p2) + 1 m(p3) = 0 m0(p1) + 1 m0(p2) + 1 m0(p3)
m(p2) + m(p3) = 1
Let us choose 〈0, 1, 1〉as place-invariant
Hence, mutual exclusion is enforced !
This means that p2 and p3 are bounded !
79
![Page 143: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/143.jpg)
Proving propertiesread
write
idle
write
read
idle
M
W1 W2
i(M) = i(W1) = i(W2) = 1 and i(p) = 0 otherwiseis a place invariant
80
![Page 144: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/144.jpg)
Proving propertiesread
write
idle
write
read
idle
M
W1 W2
i(M) = i(W1) = i(W2) = 1 and i(p) = 0 otherwiseis a place invariant
Hence, mutual exclusion is enforced !80
![Page 145: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/145.jpg)
Karp & Millerand
the coverability set
81
![Page 146: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/146.jpg)
The reachability tree revisited
• Reminder: reachability trees can be infinite16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0p1,p2〉
〈1p1,p2〉
〈2p1,p2〉 〈p3〉
〈3p1,p2〉 〈p1,p3〉
82
![Page 147: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/147.jpg)
The reachability tree revisited
• Reminder: reachability trees can be infinite16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0p1,p2〉
〈1p1,p2〉
〈2p1,p2〉 〈p3〉
〈3p1,p2〉 〈p1,p3〉
82
![Page 148: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/148.jpg)
The reachability tree revisited
• Reminder: reachability trees can be infinite16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0p1,p2〉
〈1p1,p2〉
〈2p1,p2〉 〈p3〉
〈3p1,p2〉 〈p1,p3〉
Increasing sequences of markings appear
on unbounded places
82
![Page 149: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/149.jpg)
The reachability tree revisited
• Let us summarise this infinite sequence
〈0p1,p2〉
〈1p1,p2〉
〈2p1,p2〉
〈3p1,p2〉
83
![Page 150: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/150.jpg)
The reachability tree revisited
• Let us summarise this infinite sequence
〈0p1,p2〉
〈1p1,p2〉
〈2p1,p2〉
〈3p1,p2〉
limit
83
![Page 151: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/151.jpg)
The reachability tree revisited
• Let us summarise this infinite sequence
〈0p1,p2〉
〈1p1,p2〉
〈2p1,p2〉
〈3p1,p2〉
〈 ωp1,p2〉limit
83
![Page 152: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/152.jpg)
The reachability tree revisited
• Let us summarise this infinite sequence
〈0p1,p2〉
〈1p1,p2〉
〈2p1,p2〉
〈3p1,p2〉
〈 ωp1,p2〉limit
ω must be regarded as:“any number of tokens”
83
![Page 153: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/153.jpg)
The reachability tree revisited
• Let us summarise this infinite sequence
〈0p1,p2〉
〈1p1,p2〉
〈2p1,p2〉
〈3p1,p2〉
〈 ωp1,p2〉limit
ω must be regarded as:“any number of tokens”
Main idea of the Karp and Miller algorithm
83
![Page 154: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/154.jpg)
Karp & Miller
• Propose in 1969 a solution to detect unbounded places of a Petri net
84
![Page 155: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/155.jpg)
Monotonicity
• Petri nets induce (strongly) monotonic transition systems:
• In particular:m1 m2
m3
t!
if
85
![Page 156: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/156.jpg)
Monotonicity
• Petri nets induce (strongly) monotonic transition systems:
• In particular:
m4
m1 m2
m3
t!
if
85
![Page 157: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/157.jpg)
Monotonicity
• Petri nets induce (strongly) monotonic transition systems:
• In particular:
m4
m1 m2
m3
t! !
t
if
85
![Page 158: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/158.jpg)
Monotonicity
• Petri nets induce (strongly) monotonic transition systems:
• In particular:
m4
m1 m2
m3
t! !
t
if
! !85
![Page 159: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/159.jpg)
Monotonicity
• Petri nets induce (strongly) monotonic transition systems:
• In particular:
m4
m1 m2
m3
t! !
t
if
! !!i1, i2, i3"
85
![Page 160: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/160.jpg)
Monotonicity
• Petri nets induce (strongly) monotonic transition systems:
• In particular:
m4
m1 m2
m3
t! !
t
if
! !!i1, i2, i3" !i"1, i"2, i"3#
85
![Page 161: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/161.jpg)
Monotonicity
• Petri nets induce (strongly) monotonic transition systems:
• In particular:
m4
m1 m2
m3
t! !
t
if
! !!i1, i2, i3" !i"1, i"2, i"3#
85
![Page 162: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/162.jpg)
Monotonicity
• Petri nets induce (strongly) monotonic transition systems:
• In particular:
m4
m1 m2
m3
t! !
t
!if
! !!i1, i2, i3" !i"1, i"2, i"3#
85
![Page 163: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/163.jpg)
Monotonicity
• Petri nets induce (strongly) monotonic transition systems:
• In particular:
m4
m1 m2
m3
t! !
t
!<
if
! !!i1, i2, i3" !i"1, i"2, i"3#
85
![Page 164: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/164.jpg)
Monotonicity
• Petri nets induce (strongly) monotonic transition systems:
• In particular:
m4
m1 m2
m3
t! !
t
!<
if then p2 is unbounded
! !!i1, i2, i3" !i"1, i"2, i"3#
85
![Page 165: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/165.jpg)
〈1, 0, 0, 0〉
Example
86
![Page 166: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/166.jpg)
〈1, 0, 0, 0〉
Example
〈0, 0, 1, 0〉
86
![Page 167: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/167.jpg)
〈1, 0, 0, 0〉
Example
〈0, 0, 1, 0〉
〈0, 0, 0, 1〉
86
![Page 168: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/168.jpg)
〈1, 0, 0, 0〉
Example
〈0, 0, 0, 1〉 〈1, 0, 1, 1〉
〈0, 0, 1, 0〉
〈0, 0, 0, 1〉
86
![Page 169: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/169.jpg)
〈1, 0, 0, 0〉
Example
〈0, 0, 0, 1〉 〈1, 0, 1, 1〉
〈0, 0, 1, 0〉
〈0, 0, 0, 1〉
86
![Page 170: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/170.jpg)
〈1, 0, 0, 0〉
Example
〈0, 0, 0, 1〉 〈1, 0, 1, 1〉
〈0, 0, 1, 0〉
〈0, 0, 0, 1〉
86
![Page 171: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/171.jpg)
〈1, 0, 0, 0〉
Example
〈0, 0, 0, 1〉 〈1, 0, 1, 1〉
〈0, 0, 1, 0〉
〈0, 0, 0, 1〉
86
![Page 172: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/172.jpg)
〈1, 0, 0, 0〉
Example
〈0, 0, 0, 1〉 〈1, 0, 1, 1〉
〈0, 0, 1, 0〉
〈0, 0, 0, 1〉p1, p3 and p4 are
unbounded !
86
![Page 173: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/173.jpg)
〈1, 0, 0, 0〉
Example
〈0, 0, 0, 1〉 〈1, 0, 1, 1〉
〈0, 0, 1, 0〉
〈0, 0, 0, 1〉
〈 ω, 0, ω, ω〉
p1, p3 and p4 are unbounded !
86
![Page 174: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/174.jpg)
〈1, 0, 0, 0〉
Example
〈0, 0, 0, 1〉 〈1, 0, 1, 1〉
〈0, 0, 1, 0〉
〈0, 0, 0, 1〉
〈 ω, 0, ω, ω〉
ω must be regarded as:“any number of tokens”
p1, p3 and p4 are unbounded !
86
![Page 175: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/175.jpg)
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
![Page 176: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/176.jpg)
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
m’
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
![Page 177: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/177.jpg)
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
m’
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
![Page 178: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/178.jpg)
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
m’
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
![Page 179: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/179.jpg)
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
m’
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
![Page 180: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/180.jpg)
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
m’
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
![Page 181: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/181.jpg)
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
![Page 182: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/182.jpg)
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
![Page 183: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/183.jpg)
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
![Page 184: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/184.jpg)
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
!
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
![Page 185: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/185.jpg)
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
![Page 186: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/186.jpg)
Karp & MillerAcceleration
This is how we compute thesuccessors of a node n:
m
m2
m1
n
mω
Logical Methods in Computer ScienceVolume 00, Number 0, Pages 000–000S 0000-0000(XX)0000-0
FIXING THE CONSTRUCTION OF THE MINIMAL COVERABILITYSET FOR PETRI NETS
G. GEERAERTS, J.-F. RASKIN, AND L. VAN BEGIN
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Abstract. blahblah
foreach Successor m! of m dom! ! m!;foreach ancestor ni s.t. mi " m! do
foreach place p s.t. mi(p) < m!(p) dom!(p)! !;
Add m! as child of n;
Department d’Informatique – Universite Libre de Bruxelles – BelgiumE-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
This work is licensed under the Creative Commons Attribution-NoDerivs License. Toview a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.0/ or send aletter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
1
n1
n2
87
![Page 187: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/187.jpg)
Karp & MillerStopping a branch
m1
m2
!This node doesn’t have to be developed
88
![Page 188: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/188.jpg)
Example of K&M tree16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0, 1, 0〉
89
![Page 189: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/189.jpg)
Example of K&M tree16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0, 1, 0〉
(0,1,0) (1,1,0)t1
(0,1,0)!89
![Page 190: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/190.jpg)
Example of K&M tree16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0, 1, 0〉
(0,1,0) (1,1,0)t1
(0,1,0)!
〈ω,1,0〉t1
89
![Page 191: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/191.jpg)
Example of K&M tree16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0, 1, 0〉
(0,1,0) (1,1,0)t1
(0,1,0)!
〈ω,1,0〉t1
t1
〈ω,1,0〉
89
![Page 192: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/192.jpg)
Example of K&M tree16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0, 1, 0〉
(0,1,0) (1,1,0)t1
(0,1,0)!
〈ω,1,0〉t1
t1
〈ω,1,0〉
t2
〈ω,0,1〉
89
![Page 193: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/193.jpg)
Example of K&M tree16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0, 1, 0〉
(0,1,0) (1,1,0)t1
(0,1,0)!
〈ω,1,0〉t1
t1
〈ω,1,0〉
t2
〈ω,0,1〉
t1
〈ω,0,1〉
89
![Page 194: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/194.jpg)
Example of K&M tree16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0, 1, 0〉
(0,1,0) (1,1,0)t1
(0,1,0)!
〈ω,1,0〉t1
t1
〈ω,1,0〉
t2
〈ω,0,1〉
t1
〈ω,0,1〉 〈ω,1,0〉
t3
89
![Page 195: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/195.jpg)
Properties
• Theorem: the K&M tree is always finite.
• Idea of the proof:
• if the net is not bounded, it is because of some infinite increasing sequence of markings.
• such sequences are detected in a finite amount of time by adding ω in the unbounded places.
90
![Page 196: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/196.jpg)
Properties
• Theorem: a net is bounded iff there is no node containing an ω in its K&M tree.
• Theorem: place p is unbounded iff there exists a node labeled by m in the K&M tree s.t. m(p) = ω.
• Theorem: transition t is semi-live iff there exists a node labeled by m in the K&M tree s.t. t can fire in m.
91
![Page 197: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/197.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0, 1, 0〉
〈ω,1,0〉t1
t1
〈ω,1,0〉
t2
〈ω,0,1〉
t1
〈ω,0,1〉 〈ω,1,0〉
t3
92
![Page 198: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/198.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0, 1, 0〉
〈ω,1,0〉t1
t1
〈ω,1,0〉
t2
〈ω,0,1〉
t1
〈ω,0,1〉 〈ω,1,0〉
t3
t2 is semi-live
92
![Page 199: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/199.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0, 1, 0〉
〈ω,1,0〉t1
t1
〈ω,1,0〉
t2
〈ω,0,1〉
t1
〈ω,0,1〉 〈ω,1,0〉
t3
t2 is semi-live
p2 and p3 are bounded92
![Page 200: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/200.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0, 1, 0〉
〈ω,1,0〉t1
t1
〈ω,1,0〉
t2
〈ω,0,1〉
t1
〈ω,0,1〉 〈ω,1,0〉
t3
t2 is semi-live
p2 and p3 are bounded
p1 is unbounded
92
![Page 201: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/201.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
〈0, 1, 0〉
〈ω,1,0〉t1
t1
〈ω,1,0〉
t2
〈ω,0,1〉
t1
〈ω,0,1〉 〈ω,1,0〉
t3
t2 is semi-live
p2 and p3 are bounded
p1 is unbounded
The net is unbounded92
![Page 202: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/202.jpg)
• Question: what is the relationship between:
• the set of reachable markings and
• the set of labels of the nodes of the K&M tree ?
Coverability set
93
![Page 203: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/203.jpg)
• Question: what is the relationship between:
• the set of reachable markings and
• the set of labels of the nodes of the K&M tree ?
Coverability setmight be infinite
93
![Page 204: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/204.jpg)
• Question: what is the relationship between:
• the set of reachable markings and
• the set of labels of the nodes of the K&M tree ?
Coverability setmight be infinite
always finite
93
![Page 205: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/205.jpg)
Example
3
94
![Page 206: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/206.jpg)
Example
3
95
![Page 207: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/207.jpg)
Example
3
96
![Page 208: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/208.jpg)
Example
3
97
![Page 209: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/209.jpg)
Example
3
• Set of reachable markings:
{〈1, 0, 3.i〉,〈0, 1, 3.i〉| i>0 }
• Set of nodes of the K&M tree:
{〈1, 0, 0〉〈1, 0, ω〉,〈0, 1, ω〉}
• This set “represents”:
{〈1, 0, i〉,〈0, 1, i〉| i>0 }
98
![Page 210: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/210.jpg)
Example
3
Clearly: ≠
• Set of reachable markings:
{〈1, 0, 3.i〉,〈0, 1, 3.i〉| i>0 }
• Set of nodes of the K&M tree:
{〈1, 0, 0〉〈1, 0, ω〉,〈0, 1, ω〉}
• This set “represents”:
{〈1, 0, i〉,〈0, 1, i〉| i>0 }
98
![Page 211: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/211.jpg)
Example
• Clearly, the K&M set contains more markings than the set of reachable markings:
• However, for every marking m in the K&M set, there exists a reachable marking m’ s.t.:
m’ < m
{〈1, 0, i〉,〈0, 1, i〉| i>0 }{〈1, 0, 3.i〉,〈0, 1, 3.i〉| i>0 } vs
Reach K&M
⊆
99
![Page 212: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/212.jpg)
Example
• Clearly, the K&M set contains more markings than the set of reachable markings:
• However, for every marking m in the K&M set, there exists a reachable marking m’ s.t.:
m’ < m
{〈1, 0, i〉,〈0, 1, i〉| i>0 }{〈1, 0, 3.i〉,〈0, 1, 3.i〉| i>0 } vs
Reach K&M
⊆
= + {m| there is m’ in with m’ < m} 99
![Page 213: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/213.jpg)
Downward-closure
• Let us assume that any natural number i is s.t.
i < ω
• Let m be a marking (possibly with ω), then its downward-closure is the set:
↓m = {m’ | m’4m}
• Let S={m1, m2,... mk} be a set of markings, then:
↓S = ↓m1 ∪ ↓m2 ∪...∪↓mk
100
![Page 214: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/214.jpg)
Examples in 2 dim.
ω1 2 3
12
3
4
12
3
4
1 2 3p1
p2 p2
p1
{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}
101
![Page 215: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/215.jpg)
Examples in 2 dim.
ω1 2 3
12
3
4
12
3
4
1 2 3p1
p2 p2
p1
{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}
101
![Page 216: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/216.jpg)
Examples in 2 dim.
ω1 2 3
12
3
4
12
3
4
1 2 3p1
p2 p2
p1
{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}
101
![Page 217: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/217.jpg)
Examples in 2 dim.
ω1 2 3
12
3
4
12
3
4
1 2 3p1
p2 p2
p1
{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}
101
![Page 218: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/218.jpg)
Examples in 2 dim.
ω1 2 3
12
3
4
12
3
4
1 2 3p1
p2 p2
p1
{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}
101
![Page 219: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/219.jpg)
Examples in 2 dim.
ω1 2 3
12
3
4
12
3
4
1 2 3p1
p2 p2
p1
{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}
101
![Page 220: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/220.jpg)
Examples in 2 dim.
ω1 2 3
12
3
4
12
3
4
1 2 3p1
p2 p2
p1
{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}
101
![Page 221: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/221.jpg)
Examples in 2 dim.
ω1 2 3
12
3
4
12
3
4
1 2 3p1
p2 p2
p1
{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}
101
![Page 222: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/222.jpg)
Examples in 2 dim.
ω1 2 3
12
3
4
12
3
4
1 2 3p1
p2 p2
p1
{〈1, 2〉,〈2, 4〉,〈3, 1〉} {〈1, 2〉,〈2, 4〉,〈 ω, 1〉}
101
![Page 223: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/223.jpg)
Properties of the K&M tree
• The set of all the markings that appear in a K&M tree is called a coverability set of the net.
• Notation: Cover(N)
• Theorem: ↓Cover(N) = ↓Reach(N)
• Theorem: Reach(N) ⊆ ↓Cover(N)
• Hence, ↓Cover(N) is a finite over-approximation of Reach(N)
102
![Page 224: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/224.jpg)
Example16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
Cover(N) =
↓{ 〈ω, 1, 0〉,〈ω, 0, 1〉 }=
Reach(N) ∪ { 〈0, 0, 0〉 }
Reach(N) =
{ 〈i, 1, 0〉,〈i, 0, 1〉| i ≥ 0 }
103
![Page 225: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/225.jpg)
Advertisement
• Recently, we have defined a new algorithm to compute the coverability set of a Petri net.
• It is several order of magnitudes more efficient than K&M
On the efficient computation of the minimal coverability set for Petri nets 15
Table 1. Empirical evaluation of the covering sequence. Experiments on an INTEL XEON 3GHZ.
Times in seconds (! = no result within 20 minutes). P = number of places; T = number of
transitions; MCS = size of the minimal coverability set ; Tp = Bounded or Unbounded PN; Max
P. =max{|Vi"Oi"Fi|, i # 1} ; Tot. P. = total number of pairs created along the whole execution
Example KM Cov. Seq. w/o Oracle CovProc
Name P T MCS Tp Nodes Time Max P. Tot. P. Time Max P. Tot. P. Time
RTP 9 12 9 B 16 0.18 47 47 0.10 47 47 0.13
lamport 11 9 14 B 83 0.18 115 115 0.17 115 115 0.17
peterson 14 12 20 B 609 2.19 170 170 0.21 170 170 0.25
dekker 16 14 40 B 7,936 258.95 765 765 1.13 765 765 1.03
readwrite 13 9 41 B 11,139 529.91 1,103 1,103 1.43 1,103 1,103 1.75
manuf. 13 6 1 U 32 0.19 9 101 0.18 2 47 0.14
kanban 16 16 1 U 9,839 1221.96 593 9,855 95.05 4 110 0.19
basicME 5 4 3 U 5 0.10 5 5 0.12 5 5 0.12
CSM 14 13 16 U >2.40·106 ! 371 3,324 14.38 178 248 0.34
FMS 22 20 24 U >6.26·105 ! >4,460 ! ! 477 866 2.10
PNCSA 31 36 80 U >1.02·106 ! >5,896 ! ! 2,617 13,408 113.79
multipoll 18 21 220 U >1.16·106 ! >7,396 ! ! 14,034 14,113 365.90
mesh2x2 32 32 256 U >8.03·105 ! >6,369 ! ! 10,483 12,735 330.95
consumption) and outperforms the covering sequence with trivial oracle. Finally, the
execution times of CovProc are several order of magnitudes smaller than those of the
KM procedure, showing the interest of our new algorithm.
References
1. Karp, R.M., Miller, R.E.: Parallel Program Schemata. JCSS 3 (1969) 147–195
2. Finkel, A.: The minimal coverability graph for petri nets. In: ATPN (1991) 210–243
3. Grahlmann, B.: The pep tool. In Grumberg, O., ed.: CAV. Volume 1254 of LNCS, Springer
(1997) 440–443
4. Petri, C.A.: Kommunikation mit Automaten. PhD thesis, Tech. University Darmstadt (1962)
5. Reisig, W.: Petri Nets. An introduction. Springer (1986)
6. German, S.M., Sistla, A.P.: Reasoning about Systems withMany Processes. Journal of ACM
39(3) (1992) 675–735
7. Van Begin, L.: Efficient Verification of Counting Abstractions for Parametric systems. PhD
thesis, Universite Libre de Bruxelles, Belgium (2003)
8. Luttge, K.: Zustandsgraphen von Petri-Netzen. Master’s thesis, Humboldt-Universitat zu
Berlin (1995)
9. Starke, P.: Personnal communication
10. Geeraerts, G.: Coverability and Expressiveness Properties of Well-structured Transition Sys-
tems. PhD thesis, Universite Libre de Bruxelles, Belgium (2007)
11. Finkel, A., Geeraerts, G., Raskin, J.F., Van Begin, L.: A counter-example the the minimal
coverability tree algorithm. Technical Report 535, Universite Libre de Bruxelles (2005)
12. Geeraerts, G., Raskin, J.F., Van Begin, L.: Well-structured languages. Submitted.
On the efficient computation of the minimal coverability set for Petri nets 15
Table 1. Empirical evaluation of the covering sequence. Experiments on an INTEL XEON 3GHZ.
Times in seconds (! = no result within 20 minutes). P = number of places; T = number of
transitions; MCS = size of the minimal coverability set ; Tp = Bounded or Unbounded PN; Max
P. =max{|Vi"Oi"Fi|, i # 1} ; Tot. P. = total number of pairs created along the whole execution
Example KM Cov. Seq. w/o Oracle CovProc
Name P T MCS Tp Nodes Time Max P. Tot. P. Time Max P. Tot. P. Time
RTP 9 12 9 B 16 0.18 47 47 0.10 47 47 0.13
lamport 11 9 14 B 83 0.18 115 115 0.17 115 115 0.17
peterson 14 12 20 B 609 2.19 170 170 0.21 170 170 0.25
dekker 16 14 40 B 7,936 258.95 765 765 1.13 765 765 1.03
readwrite 13 9 41 B 11,139 529.91 1,103 1,103 1.43 1,103 1,103 1.75
manuf. 13 6 1 U 32 0.19 9 101 0.18 2 47 0.14
kanban 16 16 1 U 9,839 1221.96 593 9,855 95.05 4 110 0.19
basicME 5 4 3 U 5 0.10 5 5 0.12 5 5 0.12
CSM 14 13 16 U >2.40·106 ! 371 3,324 14.38 178 248 0.34
FMS 22 20 24 U >6.26·105 ! >4,460 ! ! 477 866 2.10
PNCSA 31 36 80 U >1.02·106 ! >5,896 ! ! 2,617 13,408 113.79
multipoll 18 21 220 U >1.16·106 ! >7,396 ! ! 14,034 14,113 365.90
mesh2x2 32 32 256 U >8.03·105 ! >6,369 ! ! 10,483 12,735 330.95
consumption) and outperforms the covering sequence with trivial oracle. Finally, the
execution times of CovProc are several order of magnitudes smaller than those of the
KM procedure, showing the interest of our new algorithm.
References
1. Karp, R.M., Miller, R.E.: Parallel Program Schemata. JCSS 3 (1969) 147–195
2. Finkel, A.: The minimal coverability graph for petri nets. In: ATPN (1991) 210–243
3. Grahlmann, B.: The pep tool. In Grumberg, O., ed.: CAV. Volume 1254 of LNCS, Springer
(1997) 440–443
4. Petri, C.A.: Kommunikation mit Automaten. PhD thesis, Tech. University Darmstadt (1962)
5. Reisig, W.: Petri Nets. An introduction. Springer (1986)
6. German, S.M., Sistla, A.P.: Reasoning about Systems withMany Processes. Journal of ACM
39(3) (1992) 675–735
7. Van Begin, L.: Efficient Verification of Counting Abstractions for Parametric systems. PhD
thesis, Universite Libre de Bruxelles, Belgium (2003)
8. Luttge, K.: Zustandsgraphen von Petri-Netzen. Master’s thesis, Humboldt-Universitat zu
Berlin (1995)
9. Starke, P.: Personnal communication
10. Geeraerts, G.: Coverability and Expressiveness Properties of Well-structured Transition Sys-
tems. PhD thesis, Universite Libre de Bruxelles, Belgium (2007)
11. Finkel, A., Geeraerts, G., Raskin, J.F., Van Begin, L.: A counter-example the the minimal
coverability tree algorithm. Technical Report 535, Universite Libre de Bruxelles (2005)
12. Geeraerts, G., Raskin, J.F., Van Begin, L.: Well-structured languages. Submitted.
On the efficient computation of the minimal coverability set for Petri nets 15
Table 1. Empirical evaluation of the covering sequence. Experiments on an INTEL XEON 3GHZ.
Times in seconds (! = no result within 20 minutes). P = number of places; T = number of
transitions; MCS = size of the minimal coverability set ; Tp = Bounded or Unbounded PN; Max
P. =max{|Vi"Oi"Fi|, i # 1} ; Tot. P. = total number of pairs created along the whole execution
Example KM Cov. Seq. w/o Oracle CovProc
Name P T MCS Tp Nodes Time Max P. Tot. P. Time Max P. Tot. P. Time
RTP 9 12 9 B 16 0.18 47 47 0.10 47 47 0.13
lamport 11 9 14 B 83 0.18 115 115 0.17 115 115 0.17
peterson 14 12 20 B 609 2.19 170 170 0.21 170 170 0.25
dekker 16 14 40 B 7,936 258.95 765 765 1.13 765 765 1.03
readwrite 13 9 41 B 11,139 529.91 1,103 1,103 1.43 1,103 1,103 1.75
manuf. 13 6 1 U 32 0.19 9 101 0.18 2 47 0.14
kanban 16 16 1 U 9,839 1221.96 593 9,855 95.05 4 110 0.19
basicME 5 4 3 U 5 0.10 5 5 0.12 5 5 0.12
CSM 14 13 16 U >2.40·106 ! 371 3,324 14.38 178 248 0.34
FMS 22 20 24 U >6.26·105 ! >4,460 ! ! 477 866 2.10
PNCSA 31 36 80 U >1.02·106 ! >5,896 ! ! 2,617 13,408 113.79
multipoll 18 21 220 U >1.16·106 ! >7,396 ! ! 14,034 14,113 365.90
mesh2x2 32 32 256 U >8.03·105 ! >6,369 ! ! 10,483 12,735 330.95
consumption) and outperforms the covering sequence with trivial oracle. Finally, the
execution times of CovProc are several order of magnitudes smaller than those of the
KM procedure, showing the interest of our new algorithm.
References
1. Karp, R.M., Miller, R.E.: Parallel Program Schemata. JCSS 3 (1969) 147–195
2. Finkel, A.: The minimal coverability graph for petri nets. In: ATPN (1991) 210–243
3. Grahlmann, B.: The pep tool. In Grumberg, O., ed.: CAV. Volume 1254 of LNCS, Springer
(1997) 440–443
4. Petri, C.A.: Kommunikation mit Automaten. PhD thesis, Tech. University Darmstadt (1962)
5. Reisig, W.: Petri Nets. An introduction. Springer (1986)
6. German, S.M., Sistla, A.P.: Reasoning about Systems withMany Processes. Journal of ACM
39(3) (1992) 675–735
7. Van Begin, L.: Efficient Verification of Counting Abstractions for Parametric systems. PhD
thesis, Universite Libre de Bruxelles, Belgium (2003)
8. Luttge, K.: Zustandsgraphen von Petri-Netzen. Master’s thesis, Humboldt-Universitat zu
Berlin (1995)
9. Starke, P.: Personnal communication
10. Geeraerts, G.: Coverability and Expressiveness Properties of Well-structured Transition Sys-
tems. PhD thesis, Universite Libre de Bruxelles, Belgium (2007)
11. Finkel, A., Geeraerts, G., Raskin, J.F., Van Begin, L.: A counter-example the the minimal
coverability tree algorithm. Technical Report 535, Universite Libre de Bruxelles (2005)
12. Geeraerts, G., Raskin, J.F., Van Begin, L.: Well-structured languages. Submitted.
On the efficient computation of the minimal coverability set for Petri nets 15
Table 1. Empirical evaluation of the covering sequence. Experiments on an INTEL XEON 3GHZ.
Times in seconds (! = no result within 20 minutes). P = number of places; T = number of
transitions; MCS = size of the minimal coverability set ; Tp = Bounded or Unbounded PN; Max
P. =max{|Vi"Oi"Fi|, i # 1} ; Tot. P. = total number of pairs created along the whole execution
Example KM Cov. Seq. w/o Oracle CovProc
Name P T MCS Tp Nodes Time Max P. Tot. P. Time Max P. Tot. P. Time
RTP 9 12 9 B 16 0.18 47 47 0.10 47 47 0.13
lamport 11 9 14 B 83 0.18 115 115 0.17 115 115 0.17
peterson 14 12 20 B 609 2.19 170 170 0.21 170 170 0.25
dekker 16 14 40 B 7,936 258.95 765 765 1.13 765 765 1.03
readwrite 13 9 41 B 11,139 529.91 1,103 1,103 1.43 1,103 1,103 1.75
manuf. 13 6 1 U 32 0.19 9 101 0.18 2 47 0.14
kanban 16 16 1 U 9,839 1221.96 593 9,855 95.05 4 110 0.19
basicME 5 4 3 U 5 0.10 5 5 0.12 5 5 0.12
CSM 14 13 16 U >2.40·106 ! 371 3,324 14.38 178 248 0.34
FMS 22 20 24 U >6.26·105 ! >4,460 ! ! 477 866 2.10
PNCSA 31 36 80 U >1.02·106 ! >5,896 ! ! 2,617 13,408 113.79
multipoll 18 21 220 U >1.16·106 ! >7,396 ! ! 14,034 14,113 365.90
mesh2x2 32 32 256 U >8.03·105 ! >6,369 ! ! 10,483 12,735 330.95
consumption) and outperforms the covering sequence with trivial oracle. Finally, the
execution times of CovProc are several order of magnitudes smaller than those of the
KM procedure, showing the interest of our new algorithm.
References
1. Karp, R.M., Miller, R.E.: Parallel Program Schemata. JCSS 3 (1969) 147–195
2. Finkel, A.: The minimal coverability graph for petri nets. In: ATPN (1991) 210–243
3. Grahlmann, B.: The pep tool. In Grumberg, O., ed.: CAV. Volume 1254 of LNCS, Springer
(1997) 440–443
4. Petri, C.A.: Kommunikation mit Automaten. PhD thesis, Tech. University Darmstadt (1962)
5. Reisig, W.: Petri Nets. An introduction. Springer (1986)
6. German, S.M., Sistla, A.P.: Reasoning about Systems withMany Processes. Journal of ACM
39(3) (1992) 675–735
7. Van Begin, L.: Efficient Verification of Counting Abstractions for Parametric systems. PhD
thesis, Universite Libre de Bruxelles, Belgium (2003)
8. Luttge, K.: Zustandsgraphen von Petri-Netzen. Master’s thesis, Humboldt-Universitat zu
Berlin (1995)
9. Starke, P.: Personnal communication
10. Geeraerts, G.: Coverability and Expressiveness Properties of Well-structured Transition Sys-
tems. PhD thesis, Universite Libre de Bruxelles, Belgium (2007)
11. Finkel, A., Geeraerts, G., Raskin, J.F., Van Begin, L.: A counter-example the the minimal
coverability tree algorithm. Technical Report 535, Universite Libre de Bruxelles (2005)
12. Geeraerts, G., Raskin, J.F., Van Begin, L.: Well-structured languages. Submitted.
104
![Page 226: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/226.jpg)
The coverability problem
105
![Page 227: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/227.jpg)
Reachability: a natural question
• The reachability problem: given a marking m is it reachable from m0 ?
m0106
![Page 228: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/228.jpg)
Reachability: a natural question
• The reachability problem: given a marking m is it reachable from m0 ?
m0106
![Page 229: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/229.jpg)
Reachability: a natural question
• The reachability problem: given a marking m is it reachable from m0 ?
m0106
![Page 230: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/230.jpg)
Reachability: a natural question
• The reachability problem: given a marking m is it reachable from m0 ?
m0106
![Page 231: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/231.jpg)
Reachability: a natural question
• The reachability problem: given a marking m is it reachable from m0 ?
m0106
![Page 232: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/232.jpg)
Reachability: a natural question
• The reachability problem: given a marking m is it reachable from m0 ?
m
m0106
![Page 233: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/233.jpg)
Reachability: a natural question ??
• In the case of Petri nets, asking whether a given marking is reachable does not always make sense...
• ... because Petri nets are monotonic
107
![Page 234: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/234.jpg)
Example
nasty
2
p1
p2
p3
108
![Page 235: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/235.jpg)
Example
nasty
2
p1
p2
p3
108
![Page 236: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/236.jpg)
Example
nasty
2
p1
p2
p3
Questionis 〈0, 0, 2, 0〉
reachable ?
108
![Page 237: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/237.jpg)
Example
nasty
2
p1
p2
p3
Questionis 〈0, 0, 2, 0〉
reachable ?
Better questionis a marking with at least 2 tokens in p3
reachable ?
108
![Page 238: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/238.jpg)
Example
nasty
2
p1
p2
p3
Questionis 〈0, 0, 2, 0〉
reachable ?
Better questionis a marking with at least 2 tokens in p3
reachable ?
Better questionis a marking
m <〈0, 0, 2, 0〉reachable ?
108
![Page 239: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/239.jpg)
The coverability problem
bm0
Does there exist a reachable marking which is larger than some marking b ?
109
![Page 240: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/240.jpg)
The coverability problem
bm0
Does there exist a reachable marking which is larger than some marking b ?
109
![Page 241: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/241.jpg)
The coverability problem
bm0
Does there exist a reachable marking which is larger than some marking b ?
109
![Page 242: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/242.jpg)
The coverability problem
bm0
Does there exist a reachable marking which is larger than some marking b ?
109
![Page 243: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/243.jpg)
The coverability problem
bm0
Does there exist a reachable marking which is larger than some marking b ?
109
![Page 244: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/244.jpg)
The coverability problem
b
m’
m0
Does there exist a reachable marking which is larger than some marking b ?
109
![Page 245: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/245.jpg)
The coverability problem
!
b
m’
m0
Does there exist a reachable marking which is larger than some marking b ?
109
![Page 246: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/246.jpg)
The coverability problem
b
m0
110
![Page 247: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/247.jpg)
The coverability problem
b
m0
110
![Page 248: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/248.jpg)
The coverability problem
b
m0
110
![Page 249: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/249.jpg)
The coverability problem
b
m0
110
![Page 250: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/250.jpg)
The coverability problem
b
m0
110
![Page 251: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/251.jpg)
The coverability problem
bReach(N)
m0
110
![Page 252: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/252.jpg)
The coverability problem
bReach(N)
m0
110
![Page 253: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/253.jpg)
The coverability problem
bReach(N)
{m | m < b}
m0
110
![Page 254: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/254.jpg)
The coverability problem
bReach(N)
{m | m < b}
m0
110
![Page 255: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/255.jpg)
The coverability problem
• Two alternative definitions:
• Is there a reachable marking m s.t. m<b ?
• Does Reach(N) ∩ {m | m<b} ≠ ⏀ ?
111
![Page 256: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/256.jpg)
Coverability: a natural question (indeed)
• Coverability might be regarded as the most natural reachability question in the framework of Petri nets
• Besides, coverability is much more easily solved than reachability
112
![Page 257: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/257.jpg)
16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
Safety Properties
113
![Page 258: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/258.jpg)
16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
Safety Properties
A marking m is unsafe when m ! !0, 0, 2, 0"
113
![Page 259: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/259.jpg)
16 CHAPTER 2. PRELIMINARIES
p1
•p2
p3
t1
t3 t2
Figure 2.1: The SMPN Nµ.
p1
t1
t22 · m(p1)
Figure 2.2: The SMPN Nns.
• D+11(m) = D+
21(m) = 0 ;
• m0 = !0".
It is graphically represented at Fig. 2.2. !
Dynamics of SMPN We have already sketched the way a SMPN canevolve, by letting its transitions move tokens from one place to another. Letus define this more precisely.
Definition 12 (Enabled transition, effect of a transition) Givena SMPN N = !P, T,D!,D+,m0", and a marking m of the places of N , atransition ti is firable or enabled from a marking m if m(pj) # D!
ij(m) for
all pj $ P . This is denoted by mti%&. Firing ti from m leads to a marking
m" $ NkP . This is noted mti%& m", and m" is computed as follows. First,
we compute m"", s.t. for any pj $ P : m""(pj) = m(pj)%D!ij(m). Then, we
let m" be s.t. for any pj $ P : m"(pj) = m""(pj) + D+ij(m). "
Remark that the two steps in the computation of m" can be swapped whenwe manipulate (plain) markings of SMPN. However, the order of these stepswill become relevant when we will manipulate extended markings (see...)
From Definition 12, it is easy to see that an SMPN N = !P, T,D!,D+,m0"naturally defines a transition system SN =
!NkP ,m0,'
", where ' is such
Safety Properties
No more than one token at a time in this place !!
A marking m is unsafe when m ! !0, 0, 2, 0"
113
![Page 260: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/260.jpg)
First idea
• Use the coverability set !
• Remember: the coverability set over-approximates the reachable states:
Reach(N) ⊆ ↓Cover(N)
114
![Page 261: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/261.jpg)
First idea
• Use the coverability set !
• Remember: the coverability set over-approximates the reachable states:
Reach(N) ⊆ ↓Cover(N)
Reach(N)
114
![Page 262: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/262.jpg)
↓Cover(N)
First idea
• Use the coverability set !
• Remember: the coverability set over-approximates the reachable states:
Reach(N) ⊆ ↓Cover(N)
Reach(N)
114
![Page 263: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/263.jpg)
↓Cover(N)
First idea
• Use the coverability set !
• Remember: the coverability set over-approximates the reachable states:
Reach(N) ⊆ ↓Cover(N)
Reach(N)U
114
![Page 264: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/264.jpg)
First idea
115
![Page 265: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/265.jpg)
First idea
Reach(N)
115
![Page 266: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/266.jpg)
First idea
↓Cover(N)Reach(N)
115
![Page 267: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/267.jpg)
First idea
↓Cover(N)Reach(N)U
115
![Page 268: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/268.jpg)
First idea
↓Cover(N)Reach(N)U
↓Cover(N) ∩ U = ⏀ implies
Reach(N) ∩ U = ⏀
115
![Page 269: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/269.jpg)
What if ?
↓Cover(N) U
• There is m in ↓Cover(N) ∩ U
• Hence, there is m’ < m which is in Reach(N)
• However, any m’ < m is also in U
• Thus, there is m’ both in Reach(N) and U
116
![Page 270: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/270.jpg)
What if ?
↓Cover(N) U
• There is m in ↓Cover(N) ∩ U
• Hence, there is m’ < m which is in Reach(N)
• However, any m’ < m is also in U
• Thus, there is m’ both in Reach(N) and U
116
![Page 271: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/271.jpg)
What if ?
↓Cover(N) U
• There is m in ↓Cover(N) ∩ U
• Hence, there is m’ < m which is in Reach(N)
• However, any m’ < m is also in U
• Thus, there is m’ both in Reach(N) and U
116
![Page 272: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/272.jpg)
What if ?
↓Cover(N) U
• There is m in ↓Cover(N) ∩ U
• Hence, there is m’ < m which is in Reach(N)
• However, any m’ < m is also in U
• Thus, there is m’ both in Reach(N) and U
Reach(N)
116
![Page 273: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/273.jpg)
Reach(N)
What if ?
↓Cover(N) U
117
![Page 274: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/274.jpg)
Reach(N)
What if ?
↓Cover(N) U
Reach(N) ∩ U = ⏀implies
↓Cover(N) ∩ U = ⏀
117
![Page 275: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/275.jpg)
Coverability set and coverability problem
118
![Page 276: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/276.jpg)
Coverability set and coverability problem
• Theorem:
Reach(N) ∩ U = ⏀ iff↓Cover(N) ∩ U = ⏀
118
![Page 277: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/277.jpg)
Coverability set and coverability problem
• Theorem:
Reach(N) ∩ U = ⏀ iff↓Cover(N) ∩ U = ⏀
• Nice,...
118
![Page 278: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/278.jpg)
Coverability set and coverability problem
• Theorem:
Reach(N) ∩ U = ⏀ iff↓Cover(N) ∩ U = ⏀
• Nice,...
• ...but U and ↓Cover(N) might both be infinite !
118
![Page 279: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/279.jpg)
Coverability set and coverability problem
• Theorem:
Reach(N) ∩ U = ⏀ iff↓Cover(N) ∩ U = ⏀
• Nice,...
• ...but U and ↓Cover(N) might both be infinite !
• How do we test that ↓Cover(N) ∩ U = ⏀??
118
![Page 280: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/280.jpg)
Coverability set and coverability problem
1 2 3
12
3
4
p1
p2
119
![Page 281: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/281.jpg)
↓Cover(N)
c
Coverability set and coverability problem
1 2 3
12
3
4
p1
p2
119
![Page 282: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/282.jpg)
↓Cover(N)
c
Coverability set and coverability problem
1 2 3
12
3
4
p1
p2 U
b
119
![Page 283: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/283.jpg)
↓Cover(N)
c
Coverability set and coverability problem
1 2 3
12
3
4
p1
p2 U
b
c < b
119
![Page 284: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/284.jpg)
↓Cover(N)
c
Coverability set and coverability problem
1 2 3
12
3
4
p1
p2
All we need to remember is the
(finite) set of minimal elements Min(U)
U
b
c < b
119
![Page 285: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/285.jpg)
↓Cover(N)
c
Coverability set and coverability problem
1 2 3
12
3
4
p1
p2
All we need to remember is the
(finite) set of minimal elements Min(U)
U
b
c < b
119
![Page 286: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/286.jpg)
↓Cover(N)
c
Coverability set and coverability problem
1 2 3
12
3
4
p1
p2
↓Cover(N) ∩ U ≠ ⏀iff
there is c in Cover(N) andb in Min(U) s.t.
c < b
All we need to remember is the
(finite) set of minimal elements Min(U)
U
b
c < b
119
![Page 287: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/287.jpg)
Backward approach
b
U = {m|m<b}
120
![Page 288: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/288.jpg)
Backward approach
b
U = {m|m<b}
120
![Page 289: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/289.jpg)
Backward approach
b
U = {m|m<b}
All the markings that can reach U inone step
120
![Page 290: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/290.jpg)
Backward approach
b
U = {m|m<b}
120
![Page 291: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/291.jpg)
Backward approach
b
U = {m|m<b}
120
![Page 292: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/292.jpg)
Backward approach
b
U = {m|m<b}
120
![Page 293: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/293.jpg)
Backward approach
b
U = {m|m<b}
In the end, we want to obtain all the markings that can reach U in any number
of steps
120
![Page 294: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/294.jpg)
Backward approach
bPre!(U)
U = {m|m<b}
In the end, we want to obtain all the markings that can reach U in any number
of steps
120
![Page 295: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/295.jpg)
Backward approach
bPre!(U)
U = {m|m<b}
m0
In the end, we want to obtain all the markings that can reach U in any number
of steps
120
![Page 296: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/296.jpg)
Backward approach
bPre!(U)
U = {m|m<b}
m0
In the end, we want to obtain all the markings that can reach U in any number
of steps
120
![Page 297: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/297.jpg)
Backward Approach
• Clearly:
m0 is in Pre*(U) iff Reach(N) ∩ U ≠ ⏀
• Question: can we compute Pre*(U) ?
• Yes !
121
![Page 298: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/298.jpg)
Predecessor operator
• Symmetrically to the Post, we define the predecessor operator:
Pre(m) = {m’ | m is in Post(m’)}
• Let us consider the sequence
U, Pre(U), Pre(Pre(U)), Pre(Pre(Pre(U))),...
• Theorem: After a finite amount of steps, the sequence stabilises, and we obtain Pre*(U)
122
![Page 299: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/299.jpg)
Advertisement
• Efficient datastuctures to implement this algorithm have been defined by researchers of the verification group at ULB.
123
![Page 300: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/300.jpg)
More on Petri nets
124
![Page 301: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/301.jpg)
Marking dependent effects
125
![Page 302: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/302.jpg)
Marking-dependent effect
• The effect of a transition is not constant anymore, but depends on the current marking.
p1
p2 p4
p3m(p1)+m(p2)2
m(p2)m(p4)
126
![Page 303: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/303.jpg)
Marking-dependent effect
• The effect of a transition is not constant anymore, but depends on the current marking.
p1
p2 p4
p3m(p1)+m(p2)2
m(p2)m(p4)
127
![Page 304: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/304.jpg)
Marking-dependent effect - resets
• In particular, we can define resets.
p1
p2 p4
p32
m(p2)
1
1
reset of p2
128
![Page 305: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/305.jpg)
Marking-dependent effect - resets
• In particular, we can define resets.
p1
p2 p4
p32
m(p2)
1
1
reset of p2
129
![Page 306: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/306.jpg)
Marking-dependent effect - resets
• In particular, we can define resets.
p1
p2 p4
p32
m(p2)
1
1
reset of p2
130
![Page 307: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/307.jpg)
Reset nets
• When we have only classical PN transitions + resets:
• Coverability is decidable
• Boundedness is decidable
• Place boundedness is undecidable
• The coverability set is not computable
131
![Page 308: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/308.jpg)
Marking-dependent effect - transfers
• In particular, we can define transfers.
p1
p2 p4
p32
m(p2)1
transfer from p2 to p3
m(p2)
132
![Page 309: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/309.jpg)
Marking-dependent effect - transfers
• In particular, we can define transfers.
p1
p2 p4
p32
m(p2)1
transfer from p2 to p3
m(p2)
133
![Page 310: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/310.jpg)
Usefulness of transfers• Modelisation of broadcasts :
• A single message is sent to every process
• Each process that receives the message moves to another state.
p1
waiting received
p21
m(waiting)
1
m(waiting)
notifyall
134
![Page 311: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/311.jpg)
Transfer nets
• When we have only classical PN transitions + transfers:
• Coverability is decidable
• Boundedness is decidable
• Place boundedness is undecidable
• The coverability set is not computable
135
![Page 312: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/312.jpg)
Marking-dependent effect - zero-test
• In particular, we can define test for zero.
p1
p2 p4
p32
2m(p2)1
enabled only if p2 is empty
1
136
![Page 313: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/313.jpg)
Marking-dependent effect - zero-test
• In particular, we can define test for zero.
p1
p2 p4
p32
2m(p2)1
enabled only if p2 is empty
1
137
![Page 314: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/314.jpg)
Marking-dependent effect - zero-test
• In particular, we can define test for zero.
p1
p2 p4
p32
2m(p2)1
enabled only if p2 is empty
1
138
![Page 315: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/315.jpg)
Test for zero
• Once we have test-for-zero everything becomes undecidable.
139
![Page 316: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/316.jpg)
Coloured Petri nets
140
![Page 317: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/317.jpg)
Coloured Petri nets
• Popular extension of the basic model.
• Introduced by the team of Kurt Jensen, in the ‘80s
• used in many applications
141
![Page 318: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/318.jpg)
Coloured Petri nets
• Idea: add colours to the tokens
• Allow to distinguish between different types of tokens
• The colours can model data carried by the processes
• Transitions are aware of the colours
142
![Page 319: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/319.jpg)
Phone example
• We have a set of customers:
• Each customer is represented by a token.
• Color of the token = Phone number.
• A customer is either inactive or connected.
inactive
connected
143
![Page 320: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/320.jpg)
Phone example• A pair of inactive customers can establish a
connection.
• We want to distinguish between sender and receiver.
(x,y)
x
y
x
y
inactive
connections
connectedconnect
The transition consumes
a sender x and a receiver y
Connections are recorded here as
tokens whose color is a pair (snd, rcv)
144
![Page 321: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/321.jpg)
Phone example• A pair of inactive customers can establish a
connection.
• We want to distinguish between sender and receiver.
(x,y)
x
y
x
y
inactive
connections
connectedconnect
The transition consumes
a sender x and a receiver y
Connections are recorded here as
tokens whose color is a pair (snd, rcv)
145
![Page 322: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/322.jpg)
Phone example• The connection can be closed either by the
sender or by the receiver.
(x,y)
(x,y)
x
y
x
y x
y
xy
inactive
connectedconnect
rcv breaks
146
![Page 323: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/323.jpg)
Phone example• The connection can be closed either by the
sender or by the receiver.
(x,y)
(x,y)
x
y
x
y x
y
xy
inactive
connectedconnect
rcv breaks
147
![Page 324: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/324.jpg)
Phone example
(x,y)
(x,y)
(x,y)
x
y
x
y
x
y
x
y
xy
xy
inactive
connections
connectedconnect
snd breaks
rcv breaks
148
![Page 325: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/325.jpg)
Coloured Petri nets
• Several analysis methods have been developped for this model (finite number of colours)
• e.g.: invariants
• Some results can be achieved when the colors have good properties
149
![Page 326: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/326.jpg)
Tools
150
![Page 327: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/327.jpg)
Practical Tools: Pep
151
![Page 328: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/328.jpg)
Practical Tools: Pep• = language to describe PN + a suite of tools
to analyse them:
• simulation
• verification (SPIN, SMV)
• translation from/to different formalisms
• ...
• Everything can be accessed through a single graphical interface (Tcl/Tk)
http://theoretica.informatik.uni-oldenburg.de/~pep/152
![Page 329: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/329.jpg)
Practical Tools: CPNTools
153
![Page 330: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/330.jpg)
Practical Tools: CPNTools
• Specialised in Coloured Petri nets
• Features similar to Pep:
• modelisation
• simulation
• state space analysis
• ...
http://wiki.daimi.au.dk/cpntools/cpntools.wiki
154
![Page 331: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/331.jpg)
Conclusion
155
![Page 332: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/332.jpg)
To conclude
• Petri nets (and their extensions) are a nice tool to reason about concurrent systems:
• very popular
• non-trivial decision problems are decidable
• appealing graphical representation
• tool supported
156
![Page 333: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/333.jpg)
To conclude
• There is still a lot to explore:
• other extensions:
• Time Petri nets
• Timed Petri nets
• Stochastic Petri nets,...
157
![Page 334: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/334.jpg)
To conclude• There is still a lot to explore:
• Subclasses of Petri nets:
• 1-safe
• marked graphs
• free-choice
• conflict free
• ...
• Some problems are easier to decide on these subclasses.
158
![Page 335: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/335.jpg)
To conclude
• There is still a lot to explore:
• other problems:
• liveness
• deadlock freedom
• semi-linearity
• non-termination
• ...
159
![Page 336: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/336.jpg)
To conclude
• Very active field of research !
• Several conference and journals entirely dedicated to Petri nets
• ... just hop in and join us !
http://www.informatik.uni-hamburg.de/TGI/PetriNets/
160
![Page 337: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/337.jpg)
Some references• On Petri nets:
• Reisig, W., Petri Nets: An introduction. Springer-Verlag, 1985.• Peterson, JL, Petri nets theory and modeling of systems, Prentice
Hall, 1981• Girault, C. and Valk, R., Petri Nets for Systems Engineering - A Guide
to Modeling, Verification, and Applications. Springer-Verlag, Berlin, Heidelberg, New York, 2003.
• Javier Esparza, Mogens Nielsen, Decidability Issues for Petri Nets: a survey, Bulletin of the EATCS, 52:245--262, February 1994.
• On Petri nets with marking dependent effects:• Valk, R.: Self-Modifying Nets, a Natural Extension of Petri Nets.
ICALP 1978: 464-476• G. Ciardo. Petri nets with marking-dependent arc multiplicity:
properties and analysis. In R. Valette, editor, Application and Theory of Petri Nets 1994, Lecture Notes in Computer Science 815 (Proc. 15th Int. Conf. on Applications and Theory of Petri Nets, Zaragoza, Spain), pages 179-198. Springer-Verlag, June 1994.
161
![Page 338: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/338.jpg)
Some references• On the coverability problem:
• Richard M. Karp, Raymond E. Miller: Parallel Program Schemata. J. Comput. Syst. Sci. 3(2): 147-195 (1969)
• Parosh Aziz Abdulla, Karlis Cerans, Bengt Jonsson, and Tsay Yih-Kuen. General Decidability Theorems for Infinite-State Systems. Proc. LICS'96, 11th IEEE Int. Symp. on Logic in Computer Science, New Brunswick, New Jersey, USA, 1996.
• Finkel, A. and Schnoebelen, P. 2001. Well-structured transition systems everywhere!. Theor. Comput. Sci. 256, 1-2 (Apr. 2001), 63-92. DOI= http://dx.doi.org/10.1016/S0304-3975(00)00102-X
• Geeraerts, Raskin, Van Begin, Expand, Enlarge and Check: new algorithms for the coverability problem of WSTS. Journal of Computer and System Sciences, volume 72(1), pp 180-203, Elsevier, 2005.
• Giorgio Delzanno, Jean-François Raskin, Laurent Van Begin: Covering sharing trees: a compact data structure for parameterized verification. STTT 5(2-3): 268-297 (2004).
• Geeraerts, Raskin, Van Begin. On the efficient Computation of the Minimal Coverability set of Petri nets. In Proceedings ATVA07, Lecture Notes in Computer Science, volume 4762, pages 98--113, Springer Verlag.
162
![Page 339: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/339.jpg)
Some references
• On Coloured Petri nets:• K. Jensen: A Brief Introduction to Coloured Petri Nets. In: E. Brinksma
(ed.): Tools and Algorithms for the Construction and Analysis of Systems. Proceeding of the TACAS'97 Workshop, Enschede, The Netherlands 1997, Lecture Notes in Computer Science Vol. 1217, Springer-Verlag 1997, 203-208.
• K. Jensen: An Introduction to the Theoretical Aspects of Coloured Petri Nets. In: J.W. de Bakker, W.-P. de Roever, G. Rozenberg (eds.): A Decade of Concurrency, Lecture Notes in Computer Science vol. 803, Springer-Verlag 1994, 230-272.
• Jensen, K, Rozenberg, G. High-level petri nets : theory and application, Springer, 1991
163
![Page 340: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/340.jpg)
Some references• On other extensions of Petri nets:
• M. Ajmone Marsan, G. Balbo, G. Conte, S. Donatelli and G. Franceschinis Modelling with Generalized Stochastic Petri Nets, Wiley Series in Parallel Computing, John Wiley and Sons
• F. Bause, P. Kritzinger, Stochastic Petri Nets -- An Introduction to the Theory (2nd edition), Vieweg Verlag, Germany, 2002.
• J. Wang, Timed Petri Nets, Theory and Application, Kluwer Academic Publishers 1998, ISBN: 0-7923-8270-6.
• Louchka Popova. On time petri nets. Journal Information Processing and Cybernetics, EIK, 27(4):227–244, 1991.
• On net unfoldings:• J. Esparza, S. Römer, and W. Vogler. An improvement of mcmillan's
unfolding algorithm. In Proc. TACAS '96, volume 1055 of Lecture Notes in Computer Science, pages 87-106. Springer-Verlag, 1997.
• P. A. Abdulla, S. P. Iyer, and A. Nylén. Unfoldings of Unbounded Petri Nets. In Proc. of CAV '00, volume 1855 of Lecture Notes in Computer Science, pages 495-507. Springer-Verlag, 2000.
• More at: • http://www.informatik.uni-hamburg.de/TGI/PetriNets/introductions/
164
![Page 341: An Introduction to Petri nets and how to analyse themdi.ulb.ac.be/ssd/ggeeraer/Tutorial-Perti-Nets-Geeraerts.pdf · Introduction • Concurrency: property of a “system” in which](https://reader031.vdocuments.net/reader031/viewer/2022031304/5beb111609d3f2ff498c4e0a/html5/thumbnails/341.jpg)
Questions ?
165