Vous êtes sur la page 1sur 38

Chapitre 3

Les réseaux de Petri


Étude comportementale – Aspect
dynamique
Année Universitaire 2018 / 2019

Mohamed Fathi karoui & Elyes Maherzi

1
Chapitre III

Formalisation
• L'un des intérêts de ce formalisme, c'est la possibilité de
vérifier formellement des propriétés

• Nécessite le recours à la formalisation (matrice d'incidence,


séquence de franchissement, vecteur caractéristique, équation
d'état)

• Propriétés structurelles (structure du réseau) et/ou


comportementales (évolution du réseau)

M. F. Karoui 2
Chapitre III

Formalisation
Réseau de Petri: R = {P, T, Pre, Post}
• P = ensemble de places (P = {P1, P2, .., Pm} )
• T = ensemble de transitions (T= {T1, T2, .., Tn})

• Pre = PxT  N places précédentes


Pre(p, t) = nombre de jeton nécessaire dans la place p pour le franchissement
de la transition t

• Post = PxT  N places suivantes


Post(p, t) = nombre de jeton produits dans la place p lors du franchissement
de la transition t

 C = Post (Pi, Tj) – Pré (Pi, Tj) matrice d'incidence


(W+) – (W-)
W+ : matrice d’incidence arrière
W- : Matrice d’incidence avant

M. F. Karoui 3
Chapitre III

Formalisation

2
P0
T0

M. F. Karoui 4
Chapitre III

Formalisation

• Exercice T1

– P?
2 7
– T? 5 T2
3
– Pré (Pi, Tj) ? P1 1 P2
– Post (Pi, Tj) ? 6
T3 4
1

M. F. Karoui 5
Chapitre III

Formalisation
Réseau de Petri: R = {P, T, Pre, Post}
=> Représentation matricielle T1

2 7
5 T2
3
P1 1 P2
6
T3 4
1

Pré : Post :

M. F. Karoui 6
Chapitre III

Formalisation
Réseau marqué: N = {R,M}
Le marquage d'un RdP R=(P, T, Pre, Post) est son état.
Formellement, un marquage est une application M:PN
donnant pour chaque place le nombre de jetons qu'elle contient.
Le marquage initial est généralement noté M0. M0= {1,0}

Notation matricielle:
– Transitions en colonnes
– Places en lignes
– Marquage = vecteur colonne

M. F. Karoui 7
Chapitre III

Formalisation

• Exercice

Notation matricielle
Pré?
Post?
C?
M0?

M. F. Karoui 8
Chapitre III

Formalisation

M. F. Karoui 9
Chapitre III

Formalisation

M. F. Karoui 10
Chapitre III

Formalisation

C=

C=

M. F. Karoui 11
Chapitre III

Formalisation

C=

Une colonne de cette matrice correspond à la modification du


marquage apportée par le franchissement de la transition
correspondante.

Par exemple la première colonne indique que le franchissement


de de la transition T1 consiste à retirer un jeton dans la place P1
et ajouter un jeton ans P2
M. F. Karoui 12
Chapitre III

Formalisation : Propriétés dynamique


Dynamique (sémantique) d'un RdP
– Transition T franchissable
• une transition T est franchissable ssi, pour toute place p,

M(p) > Pre(p, t)

– Franchissement d'une transition t


• Si une transition T est franchissable à partir du marquage M,
alors le nouveau marquage de toute place p est
M'(p) = M(p) - Pre(p, t) + Post(p, t)
= M(p) + C(p, t)
avec C = Post - Pre (matrice d'incidence)

M. F. Karoui 13
Chapitre III

Formalisation : Propriétés dynamique


Dynamique (sémantique) d'un RdP
– Exemple
• T1 est franchissable car

Pré (P1, t1) < M0


• Après le franchissement de T1
M = M0 - Pré(., T1) + Post(., t1)

2 1 1
2 1 0 5 0 1
= 3 - 0 6 4
0 + 0
7 3 0
0 0

2 2 5 5
= - + =
3 0 7 10

M. F. Karoui 14
Chapitre III

Formalisation : Propriétés dynamique

Dynamique (sémantique) d'un RdP


– Exemple

• calcul direct avec la matrice d'incidence


M = M0 + C(., t1)

2 1
3 -1 1
= 3 + 0 = 5
7 -3 -4 10
0

donne (heureusement) le même résultat

M. F. Karoui 15
Chapitre III

Formalisation
• Exercice
– A partir du
marquage initiale ,
calculez les
marquage suivant:
M1 après tir de T1 ,
puis M2 après tir de
T3 puis M3 après tir
de T3 puis M5 après
tir de T2 puis M6
après tir de T1

M. F. Karoui 16
Chapitre III

Formalisation

T1 T2

T3 T3

T1 T2 T3 T4
T2 est une séquence de
transitions
franchissables

M. F. Karoui 17
Chapitre III

Formalisation :propriétés dynamiques


Dynamique (sémantique) d'un RdP : séquence de transitions
Soit un RdP R=(P, T, Pre, Post) de marquage initial M0
Soit t1 t2 ... tn des transitions de T telles que
M0 /t1 M1 /t2 M2 … /tn Mn
alors, t1 t2 ... tn est appelée séquence de transitions franchissables
(successivement)

De plus
Mn = M + C . V sT
où Vs est le vecteur caractéristique de la séquence de transitions
s = t1 t2 ... tn
tel que Vs(t) donne le nombre d'occurrences de la transition t dans s
On note :
M /s Mn
M. F. Karoui 18
Chapitre III

Formalisation :propriétés dynamiques


Equation d'état

Mf = M + C . VsT

Remarque :
s = s1 . s2 => Vs = Vs1 + Vs2
Vs1 = Vs2 => M + C . Vs1T = M + C . Vs2T même si s1s2

M. F. Karoui 19
Chapitre III

Formalisation :propriétés dynamiques


Dynamique (sémantique) d'un RdP : séquence
de transitions
Exemple :

T = {T1, T2, T3, T4}


VT2T3T4T1T3 = (1, 1, 2, 1)

M. F. Karoui 20
Chapitre III

Formalisation :propriétés dynamiques


Remarques importantes :
– ATTENTION ! Le vecteur caractéristique ne fait que compter le
nombre d'apparition des transitions. Il ne donne pas, comme la
séquence, l'ordre dans lequel celles-ci ont lieu.

T = {T1, T2, T3} V = (1, 2, 1)

Le vecteur V ci-dessus est le vecteur de comptage de toutes les


séquences de franchissement suivantes :

<T1, T2, T3, T2>, <T3, T1, T2, T2>, <T3, T2, T2, T1>, <T1, T3, T2, T2>,
<T1, T2, T2, T3>, …

M. F. Karoui 21
Chapitre III

Formalisation :propriétés dynamiques


Remarques importantes :
– ATTENTION ! L'équation d'état permet de calculer le marquage atteint
après franchissement d'une séquence de transitions. Elle ne permet pas de
dire que la séquence est franchissable !!
T1 T2 T3 T4
P1 P2 P3 P4 P5

La séquence <T1, T2, T3> est franchissable,


Les séquences <T2, T1, T3>, <T3, T2, T1>, <T2, T3, T1> ne le sont pas !
Elles ont pourtant même vecteur de comptage. L'équation d'état donnera
donc le même résultat pour les quatre.

M. F. Karoui 22
Chapitre III

Formalisation :propriétés dynamiques


Aperçu (incomplet et approximatif) des raisonnements faisables sur un RdP
– Le rôle de l'équation d'état est de matérialiser, en termes de jetons, l'évolution du RdP.
Elle représente l'outil qui va permettre de calculer le résultat du franchissement de
transitions. En tant que tel, elle est nécessaire. Il faut toutefois l'utiliser correctement, en
pas à pas.

Eq. Eq. Eq.


M0 M1 M2 M3
Etat Etat Etat

Pb Pb Pb

L'équation d'état peut signaler un non-franchissement. Une transition est franchissable


s'il y a suffisamment de jetons dans chacune de ses places en entrée. La matrice
d'incidence fournit le nombre de jetons produits par le déclenchement de chaque
transition.

L'équation d'état appliquée à une séquence réduite à une transition fournit le nombre de
jetons qui restent après « exécution » de cette transition.
=> Si ce nombre est négatif, alors la transition n'est pas franchissable.
M. F. Karoui
(Attention : réciproque fausse) 23
Chapitre III

Formalisation :propriétés dynamiques


Aperçu… des raisonnements faisables…
– L'équation d'état peut également servir à autre chose. Il est possible de calculer
le marquage initial nécessaire pour franchir une séquence donnée et arriver à
un marquage donné. Le travail se fait, dans ce cas-là, « à l'envers ».

M0 = Mf - C . VsT P1
P2
Eq. Eq. Eq.
M0 M1 M2 Mf
Etat Etat Etat 2
T1
Pb Pb Pb
P3
P4
– Exemple :
Quel marquage initial pour le marquage final T2
2
Mf= [2, 5, 1, 4, 0] et la séquence <T1, T2, T2> P5

M. F. Karoui 24
Chapitre III

Formalisation :propriétés dynamiques


– Exemple :
Quel marquage initial pour le marquage final P1
P2
Mf= [2, 5, 1, 4, 0] et la séquence <T1, T2, T2>
=> calcul de M2 2
T1

x 2 0 -1 3
P3
y 5 -2 0 5
0 P4
M2 = z = 1 - 1 -1
1 => M2= 2
t 4 0 -1 5
u 0 0 2 -2
T2
2
P5

Impossible :Mf inaccessible par T2

M. F. Karoui 25
Chapitre III

Formalisation :propriétés dynamiques


Aperçu… des raisonnements faisables…
– Autre Exemple :
Quel marquage initial pour le marquage final
Mf= [2, 5, 1, 4, 5] P1
P2
la séquence <T1, T2, T2>
2

T1

P3
P4

T2
2
P5

M. F. Karoui 26
Chapitre III

Formalisation :propriétés dynamiques


=> calcul de M2 Mf= [2, 5, 1, 4, 5]
2 0 -1 3
5 -2 0
0
5 la séquence <T1, T2, T2>
M2 = 1 - 1 -1 = 2
1
4 0 -1 5
5 0 2 3 P1
P2
=> calcul de M1 3 0 -1 4
5 -2 0 5 2
0 T1
M1 = 2 - 1 -1 = 3
1
5 0 -1 6 P3
3 0 2 1 P4

=> calcul de M0
4 0 -1 4 T2
-2 0 7 2
5 1 P5
M0 = 3 - 1 -1 = 2
0
6 0 -1 6
1 0 2 1

M. F. Karoui 27
Chapitre III

Formalisation :propriétés dynamiques


Aperçu… des raisonnements faisables…
– L'équation d'état peut également déterminer le marquage initial
minimal pour franchir une séquence donnée, sans se préoccuper du
marquage final.

M0 + C . VsT > 0

Eq. Eq. Eq.


M0 M1 M2 Mf > 0
Etat Etat Etat

Pb Pb Pb

M. F. Karoui 28
Chapitre III

Formalisation :propriétés dynamiques


Aperçu… des raisonnements faisables…
– Exemple :
Quel marquage initial minimal permettant le franchissement
de la séquence <T1, T2, T2>
P1
P2

2
T1

P3
P4

T2
2
P5

M. F. Karoui 29
Chapitre III

Formalisation :propriétés dynamiques


=> calcul des contraintes sur M1
x 0 -1 0 x 1
y -2 0 0 séquence <T1, T2, T2>
0 y 0
Mf = z + 1 -1 > 0 => z > 1
1
t 0 -1 0 t 1
u 0 2 0 u 0 P1
P2
=> calcul des contraintes sur M2
2
x 0 -1 1 x 2 T1
y -2 0 0 y 0
0 P3
M2 = z + 1 -1 > 1 => z > 2
1 P4
t 0 -1 1 t 2
u 0 2 0 u 0
T2
=> calcul des contraintes sur M0 2
P5
x 0 -1 2 x 2
y -2 0 0 y 2
1
M1 = z + 1 -1 > 2 => z > 1
0
t 0 -1 2 t 2
u 0 2 0 u 0
M. F. Karoui 30
Chapitre III

Validation

• Types d'analyse formelle pour les RdP:


– Analyse par énumération
– Analyse structurelle
– Analyse par réduction

• Enumération de tous les états possibles du


système.

M. F. Karoui 31
Chapitre III

Graphe des marquages


Marquage accessible et graphe de marquage
– Marquages accessibles (ou successeurs)
• Un marquage M' est un marquage accessible (successeur de M) s'il
existe une séquence de transitions s tel que
M / s  M'

• L'ensemble des marquages accessibles depuis M est noté A(R,M)

– Graphe des marquages accessibles


• Le graphe des marquages accessibles, noté GA(R,M), est le graphe
ayant comme sommets les marquages de A(R,M) et tel qu'il existe
un arc entre deux sommets M1 et M2 si et seulement si
M1 / t  M2
où t est une transition du RdP

M. F. Karoui 32
Chapitre III

Graphe des marquages

Algorithme de construction du graphe des


marquages : (en français)
• Stocker le premier état issu du marquage initial
• Pour tout état stocké et non traité :
– Pour toute transition sensibilisée : construire l’état
successeur et le stocker s’il est nouveau.
– Si plus de transition tirable: marquer l’état comme
traité.
• Si plus d’état à traiter : fin.

M. F. Karoui 33
Chapitre III

Validation
Exemple : Marquage accessible et graphe de marquage

M. F. Karoui 34
Chapitre III

Graphe des marquages


Exemple  Graphe de marquage :
Idle1 Idle2
1 (Idle1
0
d1 d2
1 Idle2
f1 f2
Busy1 Res Busy2 0
1 Res)
f1 f2

T= (d1, f1, d2, f2)


0 1
d1 d2
Idle1 -1 1 0 0 (Busy1) 1 0
Busy1 1 -1 0 0 1 0
P= Idle2 C= 0 0 -1 1 0 (Busy2) 1
Busy2 0 0 1 -1 0 0
Res -1 1 -1 1

M. F. Karoui 35
Chapitre III

Graphe des marquages


• Commande de va-et-vient d'un vérin

M. F. Karoui 36
Chapitre III

Graphe des marquages


• Commande de va-et-vient d'un vérin

M. F. Karoui 37
Chapitre III

Graphe des marquages

• Exemple pour un RdP généralisé.

M. F. Karoui 38

Vous aimerez peut-être aussi