1 IFT2251
Introduction au génie logiciel
Notes complémentaires du cours du 12 avril 2006 Julie Vachon
1. Retour sur la vérification de la vivacité d’un réseau de Petri à partir du graphe de couverture.
La vivacité n’est pas décidable à partir de GC(<R,M0>). La figure 1 montre un réseau de Petri dont le graphe de couverture est tel qu’il est tôt ou tard possible de franchir toutes les transitions, depuis n’importe quel sommet du graphe. On pourrait croire que ce réseau est vivant. Or, il contient un état de blocage M=(0,1,0) atteignable suite au franchissement de la séquence <t1 t2 t3>.
En général, on ne peut donc pas décider de la vivacité d’un réseau à partir du graphe de couverture. C’est que le graphe de couverture est une sur-approximagion du graphe des marquages accessibles et il y a donc perte d’informations…
Par contre, il est parfois possible de décider de la non-vivacité d’un réseau de Petri à partir du graphe de couverture :
Un réseau de Petri non borné n’est pas vivant si son graphe de couverture possède au moins une composante fortement connexe sans arc
sortant et dont l’union des transitions attachées aux arcs n’est pas l’ensemble des transitions.
Rappel : Une composante fortement connexe d’un graphe est un sous-graphe tel qu’il existe un chemin (orienté) entre tout sommet A et tout sommet B de ce sous-graphe.
T1 T4
p1
(1,0,0)
(1,0,ω) (0,1,ω) T2
T3
P2 P3
T1
T1 T2
T3
T4 GC(<R,M0>)
<R,M0>
2 2. Études des propriétés structurelles d’un réseau de Petri
L’analyse structurelle d’un réseau de Petri permet de prouver certaines propriétés du réseau sans avoir à construire le graphe des marquages accessibles.
- Invariants de places - Trappes
2.A. Matrice d’incidence et équation caractéristique d’un réseau de Petri.
•
Matrice d’incidenceSoit R=<P,T,F,W, M0>. La matrice d’incidence de R , C : P x T -> å est la matrice dont les lignes correspondent aux places et les colonnes aux transitions. La colonne t∈T dénote la façon dont le tir de t affecte le marquage du réseau : C(t,p) = W(t,p)-W(p,t).
•
Equation matricielle caractéristique d’un réseau de Petri : M = M0 + C.uoù M0 est le vecteur représentant le marquage initial et u le vecteur dénotant l’ensemble des transitions à franchir. Le vecteur M est le marquage résultant du franchissement des transitions dans u (s’il existe une séquence franchissable de celles-ci!)
•
Remarques :o Lorsqu’on calcule un marquage à partir de l’équation caractéristique, cela ne garantit pas que le marquage est atteignable. Les marquages obtenus sont une sur-approximation des marquages effectivement atteignables.
o Toutefois, on peut parfois utiliser l’équation matricielle pour montrer qu’un marquage M n’est pas atteignable i.e. si M = M0 + C.u n’a pas de solution pour u .
2.B. Invariants
•
Invariants de transition (T-invariants): Les solutions de C.u = 0 sont appelés invariants de transitions (si elles peuvent correspondre à des séquences franchissables).Si C.u = 0 alors M= M0 + C.u = M0 pour les invariants de transition u.
Les invariants de transitions dénotent donc des boucles (potentielles).
•
Invariants de places (P-invariants). Les solutions entières de l’équation CT.x = 0 sont appelés invariants de places. Un invariants de places propre est une solution naturelle de CT.x= 0 telle que x≠0.- Soit M= M0 + C.u.
- Si on multiplie par un vecteur x de chaque côté on obtient : MT.x =M0T.x+ uT.CT.x - Si x est un invariant de places alors CT.x=0 et donc MT.x = M0T.x
En d’autres termes : l’invariant de places x indique que le nombre de jetons dans tous les marquages atteignables (en effet c’est indépendant de u) satisfait un invariant linéaire.
3
Ex. Supposons que x =(0 0 1 1 0 0 1) est une solution de CT.x=0. Il s’agit donc d’un invariant de places. De plus si on suppose que M0T=(1 0 0 1 1 0 0), on obtient l’équation suivante :
MT.x = M0T.x
i.e. MT.x = M(p3) + M(p4) + M(p5) = 1= M0T.x
Grâce à cet invariant de places x, on peut conclure que la somme des jetons dans les places p3, p4 et p5 vaut 1, et cette somme reste constante quelle que soit la séquence de transitions franchies.
2.C. Calculs des P-invariants
Il faut trouver les solutions x de l’équation matricielle CT.x = 0.
Cette équation peut admettre un espace vectoriel de solutions. Dans ce cas, il est recommandé de calculer une base caractérisant cet espace de solutions.
Remarque : La multiplication d’un P-invariant par une constante entière ou l’addition de deux P-invariants donnera encore un P-invariant. D’où l’intérêt de calculer une base de P-invariants…
2.D. Trappes
Les P-invariants ne donnent pas toujours suffisamment d’informations pour vérifier une propriété d’un réseau de Petri… Il est possible d’identifier les trappes d’un réseau de Petri pour compléter cette information…
•
Définition : Soit un réseau R=<P,T,F,W,M0>. Une trappe est un ensemble de places S ⊆ P tel que {t | W(p,t)≠0, p∈S} ⊆ {t | W(t,p)≠0, p∈S}.En d’autres termes, chaque transition qui enlève un jeton d’une trappe doit également remettre au moins un jeton dans la trappe.