Documente Academic
Documente Profesional
Documente Cultură
AnneUniversitaire2012/2013
Chapitre III
Formalisation
L'un des intrts de ce formalisme, c'est la possibilit de vrifier formellement des proprits Ncessite le recours la formalisation (matrice d'incidence, squence de franchissement, franchissement vecteur caractristique, caractristique quation d'tat) Proprits structurelles (structure du comportementales (volution du rseau) rseau) et/ou
M. F. Karoui
Chapitre III
Formalisation
Rseau 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 prcdentes
Pre(p, t) = nombre de jeton ncessaire dans la place p pour le franchissement de la transition t
C = Post (Pi, Tj) Pr (Pi, Tj) (W+) (W-) W+ : matrice dincidence arrire W- : Matrice dincidence avant
M. F. Karoui
matrice d'incidence
Chapitre III
Formalisation
2 P0 T0
M. F. Karoui
Chapitre III
Formalisation
Exercice
P? T? Pr P (Pi (Pi, Tj) ? Post (Pi, Tj) ?
2 5 P1 1 1 T3 T2 3 6 4 T1
7 P2
M. F. Karoui
Chapitre III
Formalisation
Rseau de Petri: R = {P, T, Pre, Post}
=> Reprsentation matricielle
T1
2 5 P1 1 1 T3 T2 3 6
7 P2 4
Pr:
M. F. Karoui
Post:
6
Chapitre III
Formalisation
Rseau marqu: N = {R,M}
Le marquage d'un RdP R=(P, T, Pre, Post) est son tat. Formellement, un marquage est une application M:PN donnant pour chaque place le nombre de jetons qu qu'elle elle contient. contient Le marquage initial est gnralement not M0. M0={1,0}
Notation matricielle:
Transitions en colonnes Places Pl en lignes li Marquage = vecteur colonne
M. F. Karoui
Chapitre III
Formalisation
Exercice
Notation matricielle Pr? P ? Post? C? M0?
M. F. Karoui
Chapitre III
Formalisation
M. F. Karoui
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 apporte par le franchissement de la transition correspondante. Par exemple la premire colonne indique que le franchissement de de la transition T1 consiste retirer un jeton dans la place P1 et ajouter ajo ter un n jeton ans P2
M. F. Karoui 12
Chapitre III
Chapitre III
Aprs le franchissement de T1
M = M0 - Pr(., ( T1) ) + Post(., ( t1) )
2 = 3 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
M. F. Karoui
14
Chapitre III
M. F. Karoui
15
Chapitre III
Formalisation
Exercice i
A partir du marquage initiale i ii l , calculez les marquage suivant: M1 aprs tir de T1 , puis M2 aprs p p tir de T3 puis M3 aprs tir de T3 puis M5 aprs tir i de d T2 puis i M6 aprs tir de T1
M. F. Karoui 16
Chapitre III
Formalisation
T1 T2
T3
T3
T2
M. F. Karoui
17
Chapitre III
alors, t1 t2 ... tn est appele squence de transitions franchissables (successivement) De plus o Vs est le vecteur caractristique de la squence de transitions tel que Vs(t) donne le nombre d'occurrences de la transition t dans s On note :
M n = M + C . VsT
s = t1 t2 ... tn
M /s Mn
M. F. Karoui
18
Chapitre III
Mf = M + C . VsT
Remarque :
s = s1 1 . s2 2 Vs1 = Vs2
M. F. Karoui
=> =>
Chapitre III
Chapitre III
Le vecteur V ci-dessus est le vecteur de comptage de toutes les squences 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
La squence <T1, T2, T3> est franchissable, L squences Les <T2 T1, <T2, T1 T3>, T3> <T3, <T3 T2, T2 T1>, T1> <T2, <T2 T3, T3 T1> ne le l sont t pas ! Elles ont pourtant mme vecteur de comptage. L'quation d'tat donnera pour les q quatre. donc le mme rsultat p
M. F. Karoui 22
Chapitre III
M0
M1
M2
M3
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 entre. La matrice d'incidence fournit le nombre de jetons produits par le dclenchement de chaque t transition. iti L'quation d'tat applique une squence rduite une transition fournit le nombre de jetons qui restent aprs excution de cette transition. => Si ce nombre est ngatif, alors la transition n'est pas franchissable. (Attention:rciproquefausse) 23
M. F. Karoui
Chapitre III
Exemple :
Quel marquage initial pour le marquage final Mf= [2, 5, 1, 4, 0] et la squence <T1, T2, T2>
T2 2 P5
M. F. Karoui
24
Chapitre III
Quel marquage initial pour le marquage final Mf= [2, 5, 1, 4, 0] et la squence <T1, T2, T2> => calcul de M2
x 0 2 y 2 5 M2= z = 1 1 t 0 4 u 0 0 1 0 0 1 1 1 2 3 5 => M2= 2 5 2
P1 P2 2 T1 P3 P4
T2 2 P5
Impossible:MfinaccessibleparT2
M. F. Karoui
25
Chapitre III
Quel marquage initial pour le marquage final P1 Mf= [2, 5, 1, 4, 5] la squence <T1, T2, T2>
P2 2 T1 P3 P4
T2 2 P5
M. F. Karoui
26
Chapitre III
=> calcul de M1
=> calcul de M0
2 P5
T2
M. F. Karoui
27
Chapitre III
M. F. Karoui
28
Chapitre III
Quel marquage initial minimal permettant le franchissement de la squence <T1, T2, T2>
P1 P2 2 T1 P3 P4
2 P5
T2
M. F. Karoui
29
Chapitre III
Mf=
=>
P1 P2 2
1 1 0 0 0 1 > 1 1 1 1 0 2 1 2 0 0 1 1 > 2 0 1 2 2 0
=>
x 2 y 0 z > 2 t 2 u 0 x 2 y 2 z > 1 t 2 u 0
T1 P3 P4
T2 2 P5
30
Chapitre III
Validation
Types d'analyse formelle pour les RdP:
Analyse y par p numration Analyse structurelle Analyse par rduction
M. F. Karoui
31
Chapitre III
Chapitre III
Chapitre III
Validation
Exemple : Marquage accessible et graphe de marquage
M. F. Karoui
34
Chapitre III
Graphedemarquage:
1 (Idle1 0
d2 Res Busy2 f2
d1 Busy1 f1
1 Idle2
f1
0 ) 1 Res)
f2
0 1 0 0 0 1
d1
d2
0 0 0 (Busy2) 1 0 1
P=
C =
0 0 -1 1
M. F. Karoui
35
Chapitre III
M. F. Karoui
36
Chapitre III
M. F. Karoui
37
Chapitre III
M. F. Karoui
38
Chapitre III
T0 P1 T1
M. F. Karoui
39
Chapitre III
M. F. Karoui
40
Chapitre III
M. F. Karoui
41
Chapitre III
M. F. Karoui
42
Chapitre III
Ta P2 Tb P4 Te Tc P5 P3
Td
M. F. Karoui
43
Chapitre III
Graphe de couverture
Comment traiter les graphes non borns ? Le problme : une augmentation infinie du nb de jetons dans certaines places. Notion de marquage q g suprieur. p Mb > Ma si :
pour chaque place Pi : i, Mb(Pi) Ma(Pi) Il existe une p place Pj j tel q que : j / Mb(Pj) ( j) > Ma(Pj) ( j) Il existe une squence de transitions allant de Ma Mb
Si un GM contient deux marquages q g dont l'un est suprieur 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) :
dbut : idem que GM chaque nouveau marquage trouv, on vrifie qu'il n'est p pas suprieur p l'un des marquages q g existant. si c'est le cas, on transforme ce marquage en remplaant le marquage des places non bornes 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 borns.
M. F. Karoui 45
Chapitre III
Graphe de couverture
Graphedecouverture ?
M. F. Karoui
46
Chapitre III
Graphe de couverture
M. F. Karoui
47
Chapitre III
Graphe de couverture
P1
Ta Graphedecouverture ? P2 Tb P4 Te Tc P5 P3
Td
M. F. Karoui
48
Chapitre III
Graphe de couverture
P1
Ta P2 Tb P4 Tc P5 P3
Te
Td
M. F. Karoui
49
Chapitre III
Vrification formelle de la conformit du rseau: vrification d'un certain nombre de proprits spcifiques, dpendantes du cahier des charges.
M. F. Karoui 50
Chapitre III
Chapitre III
Vrification de proprits
Pour un marquage initial donn: rseau born: toutes ses places sont bornes place borne: nombre de jetons toujous infrieur une borne k. M, p : M(p) k rseau sauf (binaire) : k=1. Exemple : modlisation d'un stock capacit limite. Exemple rseau sauf : modlisation d'un fonctionnement de type automatisme logique (MEF).
M. F. Karoui
52
Chapitre III
Vrification de proprits
Exemple p de rseaux born et sauf
M. F. Karoui
53
Chapitre III
Vrification de proprits
Rseau vivant: chacune de ses transitions est vivante. Transition Ti vivante: pour tout marquage M, il existe une squence de franchissement (transitions) qui permettra de franchir Ti.
M. F. Karoui
54
Chapitre III
Vrification de proprits
Le RDP suivant est il vivant ?
M. F. Karoui
55
Chapitre III
Vrification de proprits
Rseaux seaux non vivant : transition s o T3 3 non o v vivante v e Rmq: visible dans le GM : cycle infini entre M1 et M2 qui ne contient pas T3
56
M. F. Karoui
Chapitre III
Vrification de proprits
Une transition Tj est quasi-vivante si il existe au moins une squence de d franchissement f hi t contenant t t Tj partir ti de d M0 Ex : dans l'exemple prcdent, 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
Vrification de proprits
Rseau rinitialisable ou propre: pour chaque marquage, il existe i une squence d franchissement de f hi permettant de d revenir i dans l'tat initial
M. F. Karoui
58
Chapitre III
Vrification de proprits
Exemple de rseau non rinitialisable:
M. F. Karoui
59
Chapitre III
Vrification de proprits
"Un systme dterministe est un systme dans lequel chaque tat n'a qu'un seul successeur possible". Application aux RdP: un RdP est dterministe s'il n'existe pas d conflit de flit effectif. ff tif Conflit structurel: le jeton d'une place est partag entre deux transitions (indpendant 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 pice la f i ) un producteur fois), d t d dpose l pice 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 units. Ds qu'il a pu faire le dpt, il commence produire une autre t pice. i U consommateur, ds Un d qu'il 'il a fini fi i de d "consommer" (une seule pice la fois), prlve une pice dans le stock s'il n'est pas vide. Reprsenter le fonctionnement de ce systme par un RdP avec un marquage initial correspondant la figure. Quels sont les invariants de marquage de ce systme, systme et quelles sont leurs significations ?
M. F. Karoui
61
Chapitre III
Correction: producteur/consommateur
M. F. Karoui
62
Chapitre III
M. F. Karoui
63
Chapitre III
M. F. Karoui
64
Chapitre III
M. F. Karoui
65
Chapitre III
M. F. Karoui
66
Chapitre III
M. F. Karoui
67
Chapitre III
Analyse structurelle
L'analyse par numration n'est pas toujours possible cause de sa complexit, mme aprs rductions. L'analyse structurelle est indpendante du marquage initial et dpend p directement de la structure du RdP: pas de construction du GM. Algbre linaire
M. F. Karoui
68
Chapitre III
Composantes rptitives
Equation fondamentale : Mf = M + C . VsT Sil existe C . VsT=0 alors Mf = M (L'ensemble des transitions franchissables de Vs ramne au vecteur initial). Dfinition : on appelle composante stationnaire (=invariant de transitions) l l'ensemble ensemble des transitions de S telles que : C . VsT=0 Proprit: P it Sil existe i t toujours t j une transition t iti d cet de t ensemble tirable alors le RDP est vivant.
M. F. Karoui 69
Chapitre III
Composantes rptitives
2 invariants i i t de d transitions: t iti 1er invariant :
CommandeX Xfabriqu Xvendu 2me i invariant i : CommandeY Yfabriqu q Yvendu
Chapitre III
M. F. Karoui
71
Chapitre III
Chapitre III
Composantes conservatives
Dfinition : Vp= Vecteur colonne de pondration des places K K=V VpT.Mi reprsente une combinaison linaire des places Equation dtat : VpT.Mf = VpT.M + VpT.C . VsT Sil existe Vp tel que: VpT.C =0 alors : VpT.Mf = VpT.M L L'ensemble ensemble des places contient toujours le mme nb de jetons. Dfinition : 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 p p p-invariants. Le rseau est born
M. F. Karoui 74
Chapitre III
Composantes conservatives
Exemples E l d'interprtations: d'i t t ti Si une composante conservative est telle que K0 = 0 :
aucune de ces places n nest est marque dans M0. M0 elles restent vides quelque soit le marquage. C'est anormal
Si un RdP est tel que toutes ses places appartiennent des invariants de place de constantes = 1 1, il est sauf ! L'interprtation du rseau doit donc tre compltement boolenne
M. F. Karoui 75
Chapitre III
Composantes conservatives
Exemple
P1 P3
P1 P2
-1 1
1 -1 0 0 1
0 0 -1 1 -1
0 0 1 -1 1 1
P=
P3 P4 P5
C=
0 0 -1
d1
d2
T= (d1,
P2
P5
P4
f f1
f f2
Chapitre III
Composantes conservatives
VpT.C =0 VpT =(M1,M2,M3,M4,M5) VpT.C C => > M2 M1 M5 = 0 M1 M2 + M5 = 0 M4 M3 M5 = 0 M3 M4 + M5 =0
-1 1 1 -1 0 0 1 0 0 -1 1 -1 0 0 1 -1 1
C=
0 0 -1
M. F. Karoui
77
Chapitre III
Composantes conservatives
P1 P3
-1 1
d2
1 -1 0 0 1
0 0 -1 1 -1 0 1
0 0 1 -1 1
d1 P2 f1 P5
C=
0 0 -1
M0=
0 1 0 1
P4 f2
1 1
(P1 + P2)
0 0
(P2 + P4 + P5)
V1=
0 0 0
V2=
1 1 0
(P3 + P4)
V3=
0 1 1
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
Il est toujours j possible de trouver dautres invariant s en additionnant les invariants minimaux
78
Chapitre III
Composantes conservatives
P3 c2 P1 c1 P2 f1 P7 P6 P4 f2 P5 t2
Chapitre III
Composantes conservatives
P3 c2 P1 c1 P2 f1 P7 P6 t2 P4 f2 P5
m1 + m2 = 1 m3 + m4 + m5 = 1 m6 + m7 = 1
Les ensembles P, P, P , sont des composantes conservatives. A partir de cet ensemble de relations, nous pouvons construite linvariant l invariant suivant: m1 + m2 + m3+ m4 + m5+ m6 + m7 = 3 Dans cet invariant nous pouvons trouver toutes les places du RdP RDP conservatif
80
M. F. Karoui
Chapitre III
Analyse Globale
RDP A non bloqu RDP B non bloqu RDP A et RDP B bloqus
L'analyse des "sous-RdP" pris sparment est correcte. Mais leur interaction est bloquantes !! Ncessit d'une analyse globale
M. F. Karoui
81
Chapitre III
M. F. Karoui
82
Chapitre III
Transformation de Boussin: R1
Suppression d'une transition isole.
M. F. Karoui
83
Chapitre III
Transformation de Boussin: R2
Suppression d'une place isole.
M. F. Karoui
84
Chapitre III
Transformation de Boussin: R3
Suppression d'une transition isole boucle.
M. F. Karoui
85
Chapitre III
Transformation de Boussin: R4
Suppression d'une place isole boucle.
M. F. Karoui
86
Chapitre III
Transformation de Boussin: R5
Fusion de plusieurs transitions isoles
M. F. Karoui
87
Chapitre III
Transformation de Boussin: R6
Fusion de plusieurs places isoles
M. F. Karoui
88
Chapitre III
Transformations simples
Notion de rsidu : RESIDU = RdP sur lequel on ne peut plus appliquer de t transformation. f ti Il nest pas unique. Il dpend de lordre des transformations.
M. F. Karoui
89
Chapitre III
Transformations simples
M. F. Karoui
90
Chapitre III
Exercice
AprsRduction
M. F. Karoui
91
Chapitre III
Exercice
AprsRduction
M. F. Karoui
92
Chapitre III
Exercice
AprsRduction
M. F. Karoui
93
Chapitre III
Exercice
AprsRduction
M. F. Karoui
94
Chapitre III
Exercice
AprsRduction
M. F. Karoui
95