• Aucun résultat trouvé

IFT2251 Introduction au génie logiciel Notes complémentaires du cours du 12 avril 2006 Julie Vachon

N/A
N/A
Protected

Academic year: 2022

Partager "IFT2251 Introduction au génie logiciel Notes complémentaires du cours du 12 avril 2006 Julie Vachon"

Copied!
3
0
0

Texte intégral

(1)

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 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’incidence

Soit 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.u

où 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)

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.

Une trappe S est dite marquée dans le marquage M ssi il existe au moins une place s∈S telle que M(s)≥1.

Propriété intéressante : Si une trappe S est marquée dans M0, alors elle est également marquée dans tous les marquages atteignables.

Références

Documents relatifs

Métric (exemple) déterminant d'une qualité pour un logiciel, par exemple, le nombre de liens entre les classes si on cherche à définir la maintenabilité d'un code en fonction

• À partir d’une étude de cas dont on a fait l’analyse, faire la conception détaillée d’un système :.. o Détailler les cas d’utilisation et construire les diagrammes

Méthodes, techniques, outils Développer un logiciel c’est comme cuisiner.. „ Principe = Règles d’hygiène, fraîcheur

Le système confirme la transaction en enregistrant chaque prêt individuellement dans le compte du client, en indiquant la date du prêt, la date de retour et le nom de

Chap.5, Sect.1,bis p.2 Copyrights Julie Vachon, 2006.. Catalogue de

Les paires de parenthèses n'ont pas besoin d'être une classe, mais un simple attribut de l'expression. On pourrait utiliser un booléen pour indiquer lorsqu'on veut

• Note, dans de nouvelles bulles au besoin, tous les personnages mentionnés.. Pendant

 La ligne 6+ relie La Tremblade, Breuillet et Royan toute l’année du lundi au samedi (hors jours fériés).. Elle permet de gagner 15 minutes sur la