Chapitre 3 Les réseaux de Petri Étude comportementale – Aspect dynamique Année Universitaire 2012 / 2013 Année Universitaire 2012 / 2013
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, franchissement vecteur caractéristique, caractéristique équation d'état) • Propriétés structurelles (structure du comportementales (évolution du réseau)
M. F. Karoui
réseau)
et/ou
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 d lla transition de t iti t
⇒ C = Post (Pi, Tj) – Pré (Pi, Tj) (W+) – (W-) W+ : matrice d’incidence arrière W- : Matrice d’incidence avant M. F. Karoui
matrice d'incidence
3
Chapitre III
Formalisation
2 P0 T0
M. F. Karoui
4
Chapitre III
Formalisation • Exercice – P? – T? – Pré P é (Pi (Pi, Tj) ? – Post (Pi, Tj) ?
T1 2 5
T2
1
P1
3
P2
6 1
M. F. Karoui
7
T3
4
5
Chapitre III
Formalisation Réseau de Petri: R = {P, T, Pre, Post} => Représentation matricielle
T1
2
7 5
T2
1
P1
3
P2
6 1
Pré : M. F. Karoui
T3
4
Post : 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 qu'elle elle contient. contient Le marquage initial est généralement noté M0. M0= {1,0}
Notation matricielle: – Transitions en colonnes – Places Pl en lignes li – Marquage = vecteur colonne
M. F. Karoui
7
Chapitre III
Formalisation • Exercice Notation matricielle Pré? P ? 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 =
C =
M. F. Karoui
11
Chapitre III
Formalisation
C= 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 ajo ter unn 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, 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) dd'un un RdP – Exemple • T1 est franchissable car Pré (P1 (P1, t1) < M0
• Après le franchissement de T1 M = M0 - Pré(., ( T1)) + Post(., ( t1)) 2 = 3 ‐
=
M. F. Karoui
2 0
1 6
0 4
1 0 + 0
5 7
0 3
1 0
1 0 0
2 2 5 5 ‐ + = 3 0 7 10
14
Chapitre III
Formalisation : Propriétés dynamique Dynamique (sémantique) d'un RdP – Exemple • calcul direct avec la matrice dd'incidence incidence M = M0 + C(., t1) 2 = 3 +
3 7
‐1 ‐3
1 ‐4
1 0 = 5 10 0
donne (heureusement) le même résultat
M. F. Karoui
15
Chapitre III
Formalisation • Exercice i – A partir du marquage initiale i ii l , calculez les marquage suivant: M1 après tir de T1 , ppuis M2 après p tir de T3 puis M3 après tir de T3 puis M5 après tir i de d T2 puis i M6 après tir de T1 M. F. Karoui
16
Chapitre III
Formalisation T1
T2
T3
T3
T2
M. F. Karoui
T1 T2 T3 T4 est une séquence de transitions franchissables
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
M n = M + C . VsT
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 i d'état 'é
Mf = M + C . VsT
Remarque : s = s11 . s22 Vs1 = Vs2 M. F. Karoui
=> =>
Vs = Vs1 + Vs2 M + C . Vs1T = M + C . Vs2T même si s1≠s2 19
Chapitre III
Formalisation :propriétés dynamiques Dynamique (sémantique) dd'un un RdP : séquence de transitions E Exemple l :
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 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 : , , , , , …
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 d'une une séquence de transitions. transitions Elle ne permet pas de dire que la séquence est franchissable !! T1 P1
T2 P2
T3 P3
T4 P4
P5
La séquence est franchissable, L séquences Les é , T3> , T1> ne le l sontt pas ! Elles ont pourtant même vecteur de comptage. L'équation d'état donnera pour les q quatre. donc le même résultat p 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 ll'équation équation dd'état état est de matérialiser, matérialiser en termes de jetons, jetons ll'évolution évolution du RdP. 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. pas
M0
Eq. Etat
Pb
M1
Eq. Etat
Pb
M2
Eq. Etat
M3
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 t transition. iti
M. F. Karoui
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. (Attention : réciproque fausse) 23
Chapitre III
Formalisation :propriétés dynamiques Aperçu des raisonnements faisables Aperçu… 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
M0
Eq. Etat
M1
Eq. Etat
M2
Eq. Etat
Mf
2 T1
Pb
Pb
Pb
P3 P4
– Exemple : Quel marquage initial pour le marquage final Mf= [2, 5, 1, 4, 0] et la séquence
M. F. Karoui
T2 2 P5
24
Chapitre III
Formalisation :propriétés dynamiques – Exemple :
Quel marquage initial pour le marquage final Mf= [2, 5, 1, 4, 0] et la séquence => calcul de M2
P1 P2 2 T1
x 0 2 y ‐2 5 M2 = z = 1 ‐ 1 t 0 4 u 0 0
‐1 1 0 0 ‐1 1 ‐1 2
3 5 => M2= 2 5 ‐2
P3 P4
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 P1 Mf= [2, 5, 1, 4, 5] la séquence
P2 2 T1 P3 P4
T2 2 P5
M. F. Karoui
26
Chapitre III
Formalisation :propriétés dynamiques => calcul de M2
=> calcul de M1
=> calcul de M0
M. F. Karoui
0 2 -2 5 M2 = 1 - 1 0 4 0 5
3 -1 5 0 0 -1 = 2 1 5 -11 3 2
0 3 -2 5 M1 = 2 - 1 0 5 0 3
4 -1 5 0 0 -1 = 3 1 6 -1 1 2
0 4 -2 5 M0 = 3 - 1 0 6 0 1
4 -1 7 0 1 -1 = 2 0 6 -1 1 2
Mf= [2 [2, 5, 5 1, 1 44, 5] la séquence P1 P2 2 T1 P3 P4
2
T2
P5
27
Chapitre III
Formalisation :propriétés dynamiques Aperç Aperçu… des raisonnements faisables faisables… – L'équation L équation dd'état é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 M0
Eq. Etat Pb
M. F. Karoui
M1
Eq. Etat Pb
M2
Eq. Etat
Mf > 0
Pb
28
Chapitre III
Formalisation :propriétés dynamiques Aperç Aperçu… des raisonnements faisables faisables… – Exemple :
Quel marquage initial minimal permettant le franchissement de la séquence P1 P2 2 T1 P3 P4
2
T2
P5
M. F. Karoui
29
Chapitre III
Formalisation :propriétés dynamiques => calcul des contraintes sur M1
Mf =
0 x ‐2 y z + 1 0 t 0 u
0 1 ‐1 0 0 0 ‐1 > 0 1 0 ‐1 0 2
=>
x 1 y 0 z > 1 t 1 u 0
séquence
P1 P2
=> calcul des contraintes sur M2 0 x ‐2 y M2 = z + 1 0 t 0 u
1 1 ‐1 0 0 0 ‐1 > 1 1 1 ‐1 0 2
2
=>
x 2 y 0 z > 2 t 2 u 0
M. F. Karoui
‐1 2 0 0 1 ‐1 > 2 0 ‐1 2 2 0
P3 P4
T2 2
=> calcul des contraintes sur M0 0 x ‐2 y M1 = z + 1 0 t 0 u
T1
=>
x 2 y 2 z > 1 t 2 u 0
P5
30
Chapitre III
Validation • Types d'analyse formelle pour les RdP: – Analyse y par p énumération – Analyse structurelle – Analyse par réduction
• Enumération de tous les états possibles du système. système
M. F. Karoui
31
Chapitre III
Graphe des marquages M Marquage accessible ibl ett graphe h de d marquage – Marquages accessibles (ou successeurs) • Un marquage M' M est un marquage accessible (successeur de M) ss'il 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 G h ddes marquages accessibles ibl • 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 t deux d sommets t M1 ett M2 sii ett seulement l t sii M1 / t → M2 où t est une transition du RdP M. F. Karoui
32
Chapitre III
Graphe des marquages Algorithme l h de d construction du d graphe h des d 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 ss’il il est nouveau. nouveau – Si plus de transition tirable: marquer l’état comme traité. 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 Res
Busy1
1 Idle2
f1
Busy2
f1
0 1
Idle1
-1
1
0
0
Busy1 y
1
-1
0
0
0
0
0
-1
1
0
Busy2
0
0
1
-1
01
Res
-11
1
-11
1
Idle2
M. F. Karoui
C =
f2
1 Res))
f2
T= ((d1, f1, d2, f2) , , , )
P=
0
(Busy1)
d1
0
d2
0 0 (Busy2)
1
10
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
Chapitre III
Graphe des marquages • E Exemple l pour un graphe h non cyclique. li • Rmq: s'il n'y a pas de cycle dans le graphe des marquages, c'est qqu'il y a une "fin", f , un blocage g (deadlock) ( ) P0
T0 P1 T1
M. F. Karoui
39
Chapitre III
Graphe des marquages Marquage accessible et graphe de marquage Remarque q importante p : le g graphe p des marquage q g ppeut être infini => dans ce cas, le RdP est non borné Exemple : 2
M. F. Karoui
(1) —t→ (2) —t→ (3) —t→ (4) —t→ … t
40
Chapitre III
Graphe des marquages • Exemple pour un graphe borné.
M. F. Karoui
41
Chapitre III
Graphe des marquages • Exemple pour un graphe non borné
M. F. Karoui
42
Chapitre III
Graphe des marquages • Exemple pour un graphe non borné (2) P1
Ta P3
P2 Tb P4 Te
M. F. Karoui
Tc P5
Td
43
Chapitre III
Graphe de couverture • Comment traiter les graphes non bornés ? • Le problème : une augmentation infinie du nb de jetons dans certaines places. • Notion de marquage q g supérieur. p Mb > Ma si : – pour chaque place Pi : i, Mb(Pi) ≥Ma(Pi) – Il existe une p place Pjj tel q que : j / Mb(Pj) ( j) > Ma(Pj) ( j) – Il existe une séquence de transitions allant de Ma à Mb
• Si un GM contient deux marquages q g dont l'un est supérieur à l'autre, alors ce graphe est non borné.
M. F. Karoui
44
Chapitre III
Graphe de couverture • Al Algorithme ith de d construction t ti du d graphe h d de couverture(GC) : – début : idem que GM – À chaque nouveau marquage trouvé, on vérifie qu'il n'est ppas supérieur p à l'un des marquages q g existant. – si c'est le cas, on transforme ce marquage en remplaçant le marquage des places non bornées par ∞. – on ne cherchera pas les successeurs de ces marquages. – etc.
• L Le graphe h de d couverture t remplace l le l graphe h de d marquage pour les RdP non bornés. M. F. Karoui
45
Chapitre III
Graphe de couverture
Graphe de couverture ?
M. F. Karoui
46
Chapitre III
Graphe de couverture
M. F. Karoui
47
Chapitre III
Graphe de couverture P1
Ta Graphe de couverture ? P3
P2 Tb P4 Te
M. F. Karoui
Tc P5
Td
48
Chapitre III
Graphe de couverture
P1
Ta P3
P2 Tb P4
Te
M. F. Karoui
Tc P5
Td
49
Chapitre III
Validation : vérification de propriétés • Vérification formelle de la structure du réseau: vérification de propriétés comportementales (générales) indépendantes de la "signification" signification du RdP • Principales propriétés comportementales: – – – – –
Bornage des marquages : réseau borné ou sauf(borne=1) Utilité des transitions : réseau vivant, ou quasi-vivant Sans blocage : pas de verrou mortel (deadlock) Possibilité de réinitialisation : réseau réinitialisable ou propre Déterminisme
• Vérification formelle de la conformité du réseau: vérification d'un certain nombre de propriétés spécifiques, dépendantes du cahier des charges. M. F. Karoui
50
Chapitre III
Analyse par énumération • L'analyse par énumération permet la vérification de propriétés sur l'ensemble des états possibles du système : – Construction C t ti du d graphe h (GM ou GC) – Parcours du graphe – Vérification Vé ifi i pour chacun h d marquages sii la des l propriété ié é est vérifiée • Rmq1: le GM permet la vérification de toutes les propriétés comportementales des RdP. RdP • Rmq2: Le GC ne permet que de vérifier le bornage et la quasi-vivacité quasi vivacité. M. F. Karoui
51
Chapitre III
Vérification de propriétés Pour un marquage initial donné: • réseau borné: toutes ses places sont bornées • place bornée: nombre de jetons toujous inférieur à une borne k. M, p : M(p) ≤k • réseau sauf (binaire) : k=1. • Exemple : modélisation d'un stock à capacité limitée. • Exemple réseau sauf : modélisation d'un fonctionnement de type automatisme logique (MEF).
M. F. Karoui
52
Chapitre III
Vérification de propriétés • Exemple p de réseaux borné et sauf
M. F. Karoui
53
Chapitre III
Vérification de propriétés • •
Réseau vivant: chacune de ses transitions est vivante. Transition Ti vivante: pour tout marquage M, il existe une séquence de franchissement (transitions) qui permettra de franchir Ti.
séquence de franchissement permettant le tir de Ta à partir de M3
M. F. Karoui
54
Chapitre III
Vérification de propriétés • Le RDP suivant est il vivant ?
M. F. Karoui
55
Chapitre III
Vérification de propriétés
• •
Réseaux éseaux non vivant : transition s o T3 3 non o vvivante v e Rmq: visible dans le GM : cycle infini entre M1 et M2 qui ne contient pas T3
M. F. Karoui
56
Chapitre III
Vérification de propriétés • Une transition Tj est quasi-vivante si il existe au moins une séquence é de d franchissement f hi t contenant t t Tj à partir ti de d M0 Ex : dans l'exemple précédent, T3 est quasi-vivante. • Un blocage (deadlock) est un marquage à partir duquel plus aucune transition n'est tirable • Remarque q : – Vivant ؿQuasi vivant – Blocage ؿNon vivant
M. F. Karoui
57
Chapitre III
Vérification de propriétés • Réseau réinitialisable ou propre: pour chaque marquage, il existe i une séquence é d franchissement de f hi permettant de d revenir i dans l'état initial
M. F. Karoui
58
Chapitre III
Vérification de propriétés • Exemple de réseau non réinitialisable:
M. F. Karoui
59
Chapitre III
Vérification de propriétés • "Un système déterministe est un système dans lequel chaque état n'a qu'un seul successeur possible". • Application aux RdP: un RdP est déterministe s'il n'existe pas d conflit de flit effectif. ff tif • Conflit structurel: le jeton d'une place est partagé entre deux transitions (indépendant du marquage) transitions. • Conflit effectif: conflit structurel ET le marquage ne permet pas le tir des deux transitions.
M. F. Karoui
60
Chapitre III
Exercice: producteur/consommateur Quand sa "production" est finie (production d'une seule pièce à la f i ) un producteur fois), d t dé dépose l pièce la iè produite d it dans d un stock, t k s'il 'il y a de la place libre dans ce stock dont la capacité est de 3 unités. Dès qu'il a pu faire le dépôt, il commence à produire une autre t pièce. iè U consommateur, dès Un dè qu'il 'il a fini fi i de d "consommer" (une seule pièce à la fois), prélève une pièce dans le stock s'il n'est pas vide. Représenter le fonctionnement de ce système par un RdP avec un marquage initial correspondant à la figure. Quels sont les invariants de marquage de ce système, système et quelles sont leurs significations ?
M. F. Karoui
61
Chapitre III
Correction: producteur/consommateur
M. F. Karoui
62
Chapitre III
Exercice: Gestion de cabine 1) On considère le protocole suivant de gestion des cabines et des paniers dd’une une piscine. piscine A ll’entrée entrée, un client qui a trouvé une cabine libre y entre et se change en posant ses vêtements dans la cabine. Il demande ensuite un panier qu’il remplit pour libérer la cabine. Après baignade le client rentre dans une cabine bi avec son panier, i le l vide id ett le l libère. libè Ensuite E it il se rhabille h bill ett libère libè la l cabine. Soit Nc le nombre de cabines et Np le nombre de paniers. Modéliser ce protocole avec Nc = 3 et Np = 5. Le nombre de clients à la baignade (c'est-à-dire après déshabillage et avant rhabillage) est-il borné ? Le RdP est-il borné ? Montrer qu'il y a un état de blocage. Y-a-t-il blocage pour toutes valeurs de Nc et de Npp ? 2) Définir un protocole tel qu'il n'y ait pas de blocage, et donner le RdP correspondant. 3) Modifier le RdP du 2) pour modéliser le nombre des clients qui attendent une cabine pour entrer à la piscine.
M. F. Karoui
63
Chapitre III
Correction: Gestion de cabine
M. F. Karoui
64
Chapitre III
Correction: Gestion de cabine
M. F. Karoui
65
Chapitre III
Exercice: Boules de billard On considère deux boules de billard,, A et B q qui se déplacent p sur une même ligne parallèle à une des bandes. Chaque boule peut avoir trois états : en mouvement vers la gauche, vers la droite, ou arrêtée. On demande de modéliser le comportement de ces boules par un RdP en supposant que : a) une boule qui heurte une bande repart dans l'autre sens à la même vitesse, b) si les deux boules sont en mouvement (elles sont supposées avoir la même vitesse) elles repartent chacune en sens inverse quand elles se heurtent. heurtent c) si une boule est arrêtée et heurtée par l'autre, la première se met en mouvement et l'autre s'arrête (on suppose qu'il n'y a pas de ralentissement et arrêt êt par frottement). f tt t) On O commentera t plusieurs l i ét t initiaux états i iti possibles. ibl Boule A Boule A
M. F. Karoui
Boule B Boule B
66
Chapitre III
Correction: Boules de billard
M. F. Karoui
67
Chapitre III
Analyse structurelle • L'analyse par énumération n'est pas toujours possible à cause de sa complexité, même après réductions. • L'analyse structurelle est indépendante du marquage initial et dépend p directement de la structure du RdP: pas de construction du GM. • Algèbre linéaire
M. F. Karoui
68
Chapitre III
Composantes répétitives • Equation fondamentale : Mf = M + C . VsT • S’il existe C . VsT=0 alors Mf = M (L'ensemble des transitions franchissables de Vs ramène au vecteur initial). • Définition : on appelle composante stationnaire (=invariant de transitions) ll'ensemble ensemble des transitions de S telles que : C . VsT=0 • Propriété: P iété S’il existe i t toujours t j une transition t iti d cett de ensemble tirable alors le RDP est vivant. M. F. Karoui
69
Chapitre III
Composantes répétitives 2 invariants i i t de d transitions: t iti • 1er invariant : • CommandeX • Xfabriqué • Xvendu è • 2ème i invariant i : • CommandeY • Yfabriqué q • Yvendu
• Toutes les transitions appartiennent à unn invariant. in ariant ֜ Le réseau est vivant ! M. F. Karoui
70
Chapitre III
Composantes non stationnaires • Equation fondamentale : Mf = M + C . VsT • S S’il il existe C . VsT>0 alors Mf > M Réseau non borné • Définition : on appelle composante non sstationnaire o e l'ensemble e se b e des transitions s o s de S telles que : C . VsT>0
M. F. Karoui
71
Chapitre III
Composantes non stationnaires S={T0,T1} Vs=[1 Vs [1 1] C. VsT>0 S est une composante co pos e non o stationnaire • Le L RDP estt non borné • • • •
M. F. Karoui
72
Chapitre III
Composantes conservatives • Définition : Vp= Vecteur colonne de pondération des places • K K=V VpT.Mi représente une combinaison linéaire des places • Equation d’état : VpT.Mf = VpT.M + VpT.C . VsT • S’il existe Vp tel que: VpT.C =0 alors : VpT.Mf = VpT.M ⇒L L'ensemble ensemble des places contient toujours le même nb de jetons. • Définition : on appelle composantes conservatives ( invariants de places) les solutions en Vp de l'équation : VpT.C =0 M. F. Karoui
73
Chapitre III
Composantes conservatives 1 invariant de places: • • • • •
Attente FabricationX FabricationY XAVendre YAVendre
Toutes les places sont couvertes par des pp-invariants. p Le réseau est borné M. F. Karoui
74
Chapitre III
Composantes conservatives Exemples E l d'interprétations: d'i t ét ti • Si une composante conservative est telle que K0 = 0 : – aucune de ces places nn’est est marquée dans M0. M0 – elles restent vides quelque soit le marquage. ֜C'est anormal
• Si une composante conservative i est telle ll que K0 = 1 : – il y a toujours une de ces places marquées d’un jeton, et pas plus d'un jeton. j ֜L'interprétation de ces places doit donc être booléenne
• Si un RdP est tel que toutes ses places appartiennent à des invariants de place de constantes = 11, il est sauf ! ֜L'interprétation du réseau doit donc être complètement booléenne M. F. Karoui
75
Chapitre III
Composantes conservatives Exemple P1
d1
d2
P5
P2
P=
P3
f f1
P1
-1
1
0
0
P2
1
-1
0
0
0
0
-1
1
P4
0
0
1
-11
P5
-1
1
-1
1
P3
C=
T= (d1,
f1, d2, f2)
P4
f f2
⇒Composantes conservatrices positives ? M. F. Karoui
76
Chapitre III
Composantes conservatives VpT.C C => >
VpT.C =0
M2 – M1 – M5 = 0 M1 – M2 + M5 = 0
VpT = (M1, M2, M3, M4, M5) (M1, M2, M3, M4, M5)
M4 – M3 – M5 = 0 M3 – M4 + M5 =0
C=
-1
1
0
0
1
-1
0
0
0
0
-1
1
(1 , 1 , 0 , 0 , 0 )
0
0
1
-1
(0 , 1 , 0 , 0 , 1 )
-1
1
-1
1
(0 , 0 , 1 , 1 , 0 )
VpT = (M1, M2, M3, M4, M5)
(0 , 0 , 0 , 1 , 1 ) (0 , 1 , 0 , 1 , 1 )
M. F. Karoui
77
Chapitre III
Composantes conservatives P1
P3
d1 P5
P2 f1
P4
1
0
0
1
-1
0
0
0
0
-1
1
0
0
1
-1
-1
1
-1
1
f2
1 1
V1=
C=
d2
-1
0
(P1 + P2)
V2=
0
0
0
1
1
0
1
0
0
(P3 + P4)
V3=
1
+ P4 + P5)
•V1’.M0=1 et V1’.C= 0 =>V1’.Mi=1 => Mi(P1)+Mi(P2)=1 •V2’.M0=1 et V2’.C= 0 =>V2’.Mi=1 => Mi(P3)+Mi(P4)=1 •V3’.M0=1 et V3’.C= 0 =>V3’.Mi=1 => Mi(P2)+Mi(P4)+Mi(P5)=1 M. F. Karoui
M0=
0 1 0 1
(P2
0 1
1
Il est toujours j possible de trouver d’autres invariant s en additionnant les invariants minimaux 78
Chapitre III
Composantes conservatives P3 c2 P1 c1
P4 f2
P6
P2
P5
f1 P7
t2
• Invariants de marquage minimaux? M. F. Karoui
79
Chapitre III
Composantes conservatives P3 P1 c1 P2
m1 + m2 = 1
P4
P’’ = {{P3, P4, P5} ⇒
m3 + m4 + m5 = 1
f2
P ’’’ = {P6, P7}
⇒
m6 + m7 = 1
P5 P7
• •
P’ = {P1, P2 } ⇒
P6
f1
•
c2
t2
Les ensembles P’, P’’, P ’’’, sont des composantes conservatives. A partir de cet ensemble de relations, nous pouvons construite l’invariant l invariant suivant: m1 + m2 + m3+ m4 + m5+ m6 + m7 = 3 Dans cet invariant nous pouvons trouver toutes les places du RdP RDP conservatif
M. F. Karoui
80
Chapitre III
Analyse Globale •RDP RDP A non bloqué •RDP B non bloqué •RDP A et RDP B bloqués
• L'analyse des "sous-RdP" pris séparément est correcte. • Mais leur interaction est bloquantes !! • ֜Nécessité d'une analyse globale
M. F. Karoui
81
Chapitre III
Transformation des RDP • G Graphe h ddes marquages : vérification é ifi ti de d propriétés iété de d façon f exhaustive. • Problème = complexité p du GM ppour les systèmes y complexes. p • Solution : réduction du RdP grâce à des transformations conservant les propriétés comportementales comportementales. • Inconvénient : ppas de conservation de la signification g pphysique y q du RdP=> difficile de remonter à la cause de l'erreur lorsqu'il y en a. ֜C'est l'Analyse par réduction
M. F. Karoui
82
Chapitre III
Transformation de Boussin: R1 • Suppression d'une transition isolée.
M. F. Karoui
83
Chapitre III
Transformation de Boussin: R2 • Suppression d'une place isolée.
M. F. Karoui
84
Chapitre III
Transformation de Boussin: R3 • Suppression d'une transition isolée bouclée.
M. F. Karoui
85
Chapitre III
Transformation de Boussin: R4 • Suppression d'une place isolée bouclée.
M. F. Karoui
86
Chapitre III
Transformation de Boussin: R5 • Fusion de plusieurs transitions isolées
M. F. Karoui
87
Chapitre III
Transformation de Boussin: R6 • Fusion de plusieurs places isolées
M. F. Karoui
88
Chapitre III
Transformations simples Notion de résidu : • RESIDU = RdP sur lequel on ne peut plus appliquer de t transformation. f ti • Il n’est pas unique. Il dépend de l’ordre des transformations.
M. F. Karoui
89
Chapitre III
Transformations simples
M. F. Karoui
90
Chapitre III
Exercice Après Réduction
M. F. Karoui
91
Chapitre III
Exercice Après Réduction
M. F. Karoui
92
Chapitre III
Exercice Après Réduction
M. F. Karoui
93
Chapitre III
Exercice Après Réduction
M. F. Karoui
94
Chapitre III
Exercice Après Réduction
M. F. Karoui
95