Vous êtes sur la page 1sur 17

Table des matires

Les rseaux de Petri

1 Notations et rgles de franchissement


1.1 Places, Transitions et Arcs . . . . . . .
1.2 Marquages . . . . . . . . . . . . . . . .
1.3 Franchissement . . . . . . . . . . . . .
1.4 Rseaux particuliers . . . . . . . . . .

.
.
.
.

3
3
4
4
5

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

7
8
9
11
11
11
11
12
12
12
13
13
13
13
14
14
15

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

2 Proprits des rseaux de Petri


2.1 Graphe de Marquage Accessible (GMA) . . . . . . . . . . . .
2.2 Le vecteur doccurrence et lquation de changement dtat .
2.3 Quelques proprits qualitatives . . . . . . . . . . . . . . . . .
2.3.1 Bornitude . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Pseudo-vivacit . . . . . . . . . . . . . . . . . . . . . .
2.3.3 Quasi-vivacit . . . . . . . . . . . . . . . . . . . . . . .
2.3.4 Vivact . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.5 Rseau sans blocage . . . . . . . . . . . . . . . . . . .
2.3.6 Etat daccueil . . . . . . . . . . . . . . . . . . . . . . .
2.3.7 Conservation . . . . . . . . . . . . . . . . . . . . . . .
2.4 Types de rseaux de Petri . . . . . . . . . . . . . . . . . . . .
2.4.1 Rseaux de Petri gnraliss . . . . . . . . . . . . . . .
2.4.2 Rseaux de Petri capacits . . . . . . . . . . . . . .
2.4.3 Graphe de marquage . . . . . . . . . . . . . . . . . . .
2.5 Arborescence de couverture . . . . . . . . . . . . . . . . . . .
2.5.1 Algorithme de contstruction dun graphe de marquage

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Les rseaux de Petri


Les rseaux de Petri ont t invents par le mathmaticien allemand Carl Alain Petri dans
les annes 1960.

Chapitre

Notations
et
franchissement
1.1

rgles

de

Places, Transitions et Arcs

Un rseau de Petri (RdP) est :


- un graphe
- form de deux types de nuds appels places et transitions, relis par des arcs orients
- biparti, c.--d. quun arc relie alternativement une place une transition et une transition une place
Remarques :
- Une place (pi ) modlise les ressources utilises dans le systme.
- Une transition (ti ) modlise les actions sur les ressources.
Exemple : la place p1 est en entre de la transition t1 et p2 est en sortie de t1 .

- Une transition sans place en entre est une transition source.


- Une transition sans place en sortie est une transition puits.

1. Notations et rgles de franchissement

1.2

Marquages

Chaque place (pi ) dun RdP peut contenir un ou plusieurs marqueurs (jetons). La configuration complte du rseau, avec toutes les marques positionnes, forme le marquage et dfinit
ltat du rseau (et donc ltat du systme modlis).

1.3

Franchissement

Cest le formalisme qui permet de passer dun marquage un autre, ce qui rend compte de
lvolution du systme modlis. Une transition est franchissable si chacune des places en
entre compte au moins un jeton ; dans ce cas :
- le franchissement est une opration indivisible (atomique)
- un jeton est consomm dans chaque place en entre
- un jeton est produit dans chaque place en sortie
Exemples :

1. Notations et rgles de franchissement

1.4

Rseaux particuliers

i. Les graphes dtat : chaque transition ne dispose que dune place en entre et une
place en sortie.

ii. Les rseaux sans conflit : chaque place na quune transition en sortie.

iii. Les rseaux dits simples : rseaux avec conflit, o chaque transition nintervient au
plus que dans une situation de conflit.

iv. Graphes purs : aucune place nest la fois en entre ou en sortie de la mme transition.

1. Notations et rgles de franchissement


Dfinition : un rseau de Petri est dfini par le tuple (P, T, P r, P ost, M0 )
P : ensemble de places pi
T : ensemble de transitions
P r : P r(p, t) est une valeur ( 0) associe larc allant de la place p la transition t
P ost : P ost(p, t) est une valeur ( 0) associe larc allant de la transition t la place p
M0 : vecteur dcrivant le marquage initial, M o = (M0 (p1 ), . . . , M0 (pn ))
nombre de jetons dans la place p1
Exemple : Soit P = p1 , p2 , p3 o p1 reprsente la ressource fichier, p2 la ressource imprimante et p3 la ressource fichiers en cours dimpression. On peut dfinir le RP suivant
dans son tat initial (par exemple).

On a : P r(p1 , t) = 1 (p donne le poids sur larc)


P r(p2 , t) = 1 ; P r(p3 , t) = 0
P ost(p1 , t) = 0 ; P ost(p2 , t) = 0 ; P ost(p3 , t) = 1
M o = (M0 (p1 ), M0 (p2 ), M0 (p3 )) = (5, 2, 0)
Remarque : dans le cas gnral, P r(p, t) reprsente le nombre de ressources de type p
consommes par la transition t, et P ost(p, t) reprsente le nombre de ressources de type p
produites suite au tir de la transition t.
M (p) indique le marquage de la place p (nombre de jetons contenus dans p).

Chapitre

Proprits des rseaux de Petri


partir du marquage initial, le rseau de Petri peut voluer si les conditions sont vrifies.
Exemple (se rfrer lexemple prcdent) : Soit M0 = (5, 2, 0)
Aprs le franchissement (tir) de la transition t, on utilisera un fichier et une imprimante (car
P r(p1 , t) = 1 et P r(p2 , t) = 1) et on aura un fichier en cours dimpression ; le marquage
deviendra alors : M1 = (4, 1, 1)
Aprs un deuxime tir de la transition t, on obtiendra M2 = (3, 0, 2). On ne peut plus effectuer
un autre tir de t, car M2 (p2 ) = 0.
Dans le cas gnral, pour un marquage M , une transition t est tirable si et seulement si
pour tout p P , on a : M (p) P r(p, t)
La franchissabilit (ou la sensibilisation ou le tir) dune transition k pour le marquage M se
note : M [t>.
Si le marquage rsultant est M 0 , alors on note : M [t>M 0 .
Dans lexemple prcdent :
M0 [t>M1 ; M1 [t>M2 et t nest pas tirable pour M2 car M2 (p2 ) < P r(p2 , t)
Soit M un marquage : M = (M (p1 ), M (p2 ). . . )
Notons : C la matrice des P rs telle que : C (ij) = P rs(Pi , tj )
et C + la matrice des P osts telle que C + (ij) = P osts(Pi , tj )
et C = C + C
Toujours dans lexemple prcdent : on a

1
0


C = 1 ; C + = 0
0
1

(2.1)

Ainsi, avec cette notation, pour un marquage M , une transition ti est tirable si et seulement
si : M i C , o i C est le vecteur colonne i de la matrice C .

2. Proprits des rseaux de Petri


Exemple (prcdent) :
M1 est tirable car [4, 1, 1] [1, 1, 0] c.--d. M1 t1 C
M2 nest pas tirable car M2 [3, 0, 2] nest pas suprieur C [1, 1, 0]
- Le tir dune transition t ou un marquage M conduit un nouveau marquage M 0 dfini
par :
p P, M 0 (p) = M (p) P r(p, t) + P ost(p, t)
o M 0 = M t C + t C + = M + k C
Exemple (prcdent) : M1 = M0 t C + t C + = [5, 2, 0] [1, 1, 0] + [0, 0, 1]
M1 = [4, 1, 1]

2.1

Graphe de Marquage Accessible (GMA)

Un marquage sera dit accessible si on peut latteindre partir du marquage initial, soit directement (avec un seul tir), soit indirectement (avec plusieurs tirs).
On note A lensemble des marquages accessibles dun rseau de
Petri.
Exemple (prcdent) : A = M0 , M1 , M2
Le graphe des marquages accessibles :
Application :
Considrons le rseau de Petri suivant :

Soit T = (k1 , k2 ), on a :

1
0

C = P r =
0
1

0
1
0
1

; C + = P ost =
1
1
0
0

0
0
0
1

; C = C+ C =
1
0
1
1

avec M0 = (1, 1, 0, 4)
On peut avoir les autres marquages accessibles, exemple :
M0 [t1 >M1 car [1, 1, 0, 4] > [1, 0, 0, 1]
8

0
0

1
1

(2.2)

2. Proprits des rseaux de Petri


Donc : M1 = M0 +1 C = [1, 1, 0, 4] + [0, 0, 1, 3] etc.
Le graphe des marquages accessibles :

2.2

Le vecteur doccurrence et lquation de changement dtat

Soit T lensemble de transitions T = t1 , t2 , . . . , tn


Soit S une squence de transitions (S T ) ; le vecteur doccurrences ~ est tel que :
~ = (~ (t))t
o ~ (t) est le nombre doccurrences de t dans S.
Exemple : Soit le graphe de marquage ci-dessous, avec T = t1 , t2 , t3
Considrons la squence ~ = t1 t2 t3
Alors le vecteur doccurrences ~ = (~ (t1 ), ~ (t2 ), ~ (t3 )) est ~ = (2, 1, 0)

Ainsi, partir dun marquage M , on peut tirer une squence de transitions , et on trouve
le marquage M 0 .
Lquation de changement dtat est alors donne comme suit :
M 0 = M + C ~
9

2. Proprits des rseaux de Petri


Exemple : le franchissement dune transition source consiste rajouter un jeton chacune
des places en sortie.

Exemple : le franchissement dune transition puits consiste retirer un jeton de chacune


de ses places en entre.

Exemple : squence de franchissement :


M0 [t1 >M1 avec M1 = (0, 1, 0, 0)
M0 [t1 t2 >M2 avec M2 = (0, 0, 0, 1)
M0 [t1 t3 >M3 avec M3 = (0, 0, 0, 1)
Ensemble des marquages accessibles : M = M0 , M1 , M1 , M3

Squence de franchissement

Graphe de marquage

10

2. Proprits des rseaux de Petri

2.3

Quelques proprits qualitatives

Vrifiables en se basant sur le graphe des marquages accessibles.

2.3.1

Bornitude

Une place sera dite k-borne si M, M (p) k


Exemple (prcdent) :
M0 (p1 ) = M1 (p1 ) = M2 (p2 ) = M3 (p3 ) = M4 (p4 ) = 1 donc p1 est 1-borne
la place p4 est 4-borne
Un rseau de Petri est born sil existe une valeur k telle que :
M, p, M (p) k
Remarque : pour que le rseau soit born, il faut que son ensemble de marquages accessibles
A soit fini (sinon, le rseau nest pas born).
Exemple :

2.3.2

Pseudo-vivacit

Le rseau de Petri est pseudo-vivant si M, t/M [t>


c.--d. pour tout marquage, il existe au moins une transition tirable partir de ce marquage.
Ainsi, le GMA dun RdP pseudo-vivant possde au moins un arc (transition) sortant de chaque
tat (marquage).
Un rseau pseudo vivant na pas de marquage puits (ou mort) c.--d. un marquage sans
transition tirable. Donc sil y a un marquage partir duquel on ne peut pas tirer une transition
alors le rseau nest pas pseudo-vivant.

2.3.3

Quasi-vivacit

Un rseau est quasi-vivant si : k, M/M [t>


c.--d. que pour toute transition, il existe au moins un marquage partir duquel on peut
direr cette transition. Ainsi, la quasi-vivacit dsigne la possibilit de franchir au moins une
fois chaque transition.

11

2. Proprits des rseaux de Petri

2.3.4

Vivact

Un RdP est vivant sil est pseudo-vivant et quasi-vivant.


Exemple :

est un rseau vivant.

2.3.5

Rseau sans blocage

Un RdP est dit sans blocage sil na pas de marquage puits (mort).
Exemple :

M1 (aprs franchissement de t2 )
est un blocage

2.3.6

Etat daccueil

Un RdP admet un tat daccueil Ma si : M A, T /M [>Ma


c.--d. un marquage daccueil Ma est tel quon peut lui accder partir de nimporte quel
autre marquage M via une squence de transition .
Un tat daccueil est accessible quelque soit lvolution du rseau,
Si le marquage initial (M0 ) est un marquage daccueil, alors le rseau est dit rinitialisable.
Exemple : Rseau rinitialisable

12

2. Proprits des rseaux de Petri

2.3.7

Conservation

Un rseau de Petri est conservatif si :


M A,

M0 (pi ) =

Exemple : Considrons le RdP tel que :


M0 = [5, 8, 3] ; 5+8+3=16
M1 = [4, 6, 6] ; 4+6+6=16
M2 = [3, 7, 6] ; 3+7+6=16
Ce rseau est dit conservatif.

2.4
2.4.1

Types de rseaux de Petri


Rseaux de Petri gnraliss

Dans ces rseaux, des poids sont associs aux arcs.


Exemple :

2.4.2

Rseaux de Petri capacits

Dans ces rseaux, des poids sont associs aux places.


Exemple :

13

M (pi )

2. Proprits des rseaux de Petri

2.4.3

Rseaux de Petri priorit

Dans ces rseaux, on franchit la transition avec la plus grande priorit.


Exemple :

2.4.4

Graphe de marquage

utiliser quand le nombre de marquages accessibles est fini.


Exemple :

Les proprits dtermines partir de ce graphe de marquages sont :


2 blocages : M2 et M3
2-born
non-vivant (non peusdo-vivant : M, t/M [t>)
quasi-vivant (t, M/M [t>)
non rinitialisable (on ne peut pas trouver partir dun marquage une squence de
transition pour retrouver un marquage M0 )

2.5

Arborescence de couverture

Un graphe de marquage ne peut plus tre construit quand le rseau est non born c.--d.
quand le nombre de marquages accessibles est infini. Do le recours au graphe de couverture.
Cest un graphe nombre de marquages fini.

14

2. Proprits des rseaux de Petri

2.5.1

Algorithme de contstruction dun graphe de marquage

Pas 1 : partir du marquage initial M0 , indiquer toutes les transitions valides et les marquages accessibles successeurs correspondants.
Si un des marquages est strictement suprieur M0 , on met la variable "w" pour chacun des
composantes suprieures aux composantes de M0 .
Pas 2 : Pour chaque nouveau marquage Mi , on fait soit le pas 2.1, soit le pas 2.2
Pas 2.1 : Sil existe sur le chemin de M0 jusqu Mi (exclu) un marquage Mj = Mi ,
alors Mi na pas de successeur.
Pas 2.2 : Sinon, on prolonge le graphe avec les successeurs Mk (Mi ) : une composante "w" de Mi reste une composante de "w" de Mk .
Sil existe un marquage Mj sur le chemin de M0 Mk tel que Mk > Mj , alors on
met "w" pour chacune des composantes suprieure aux composantes de Mi .
Oprations sur "w" (nombre trs grand)
(

n N; n <

n+w+w+n=w+w =w
wn=w

quation fondamentale
Exemple :

15

2. Proprits des rseaux de Petri


Soit la squence = t1 t2 , donc ~ = (1, 1, 0, 0, 0)

1
0

C = 0

0
0

0
1
0
0
0

0
0
1
0
0

0
0

0
1

1 ; C + = 1

0
1
0
1

0
0
0
1
0

0
0
0
0
1

1
1

0
1

0 ; C = C + C = 1

0
0
0
0

0
1
0
1
0

0
0
1
0
1
(2.3)

Lquation fondamentale correspondant cette squence est :


M2 = M0 + C ~

1
1
0 1


M2 = 0 + 1

0 0
0
0

0
1
0
1
0

0
0
1
0
1

0
1
1
1
1

0
1 0 0 0

0 0 = 0 + 1 = 1

1 0 0 1 1
0
0
0
0
1

Graphe de marquages :

Proprits :
sauf
sans blocage
rinitialisable : M0 est un tat dacceuil
2 squences rptitives : T1 T2 T3 T4 et T1 T3 T2 T4

16

(2.4)

1
0

1
1

2. Proprits des rseaux de Petri


Exemple : Graphe de couverture et graphe de marquages

t1 est une transition source, franchissable un nombre infini de fois, do le recours au graphe
de couverture. partir de M0 = (0), seule t1 est franchissable :
M0 [t1>M1 = (1); M1 est suprieure M0 , donc M1 = (w)
partir de M1 , t1 et t2 sont franchissables :
on tire t1 : M2 = (w + 1) = M 1 = M 2 na plus de successeur
on tire t2 : M3 = (w 1) = (w) = M1 = M3 na plus de successeur

17