Aide mémoire réseaux de Petri
Master SAR – Modélisation de systèmes répartis (NI 405)
Premier semestre 2011-2012
1 Réseaux de Petri classiques
1.1 Définitions
Syntaxe. Un réseau de Petri est un quadruplet N=
hP, T, Pré,Postioù :
Pest un ensemble de places,
Test un ensemble de transitions,
PT=,
Pré :P×TNest la relation de précondition,
Post :P×TNest la relation de postcondition,
On peut y ajouter m0PN, le marquage initial.
Sémantique.
Une configuration d’un réseau de Petri ou marquage est
un élément de NP, c’est à dire un vecteur indexé par les
places.
Depuis un marquage mNP, une transition tTest
franchissable (on dit encore activée ou tirable) depuis
msi :
pP, m(p)Pré(p, t).
On écrit alors m[tiou mt
.
Si test franchissable de puis m, on atteint alors le mar-
quage m0, ce qui est noté m[tim0(ou mt
m0) où m0
est défini par :
pP, m0(p) = m(p)Pré(p, t) + Post(p, t).
Ces définitions s’étendent aux séquences de transitions.
Un marquage est accessible depuis m0si :
σT, m0[σim.
Le graphe des marquages accessibles de Ndepuis m0est le
graphe dont les états sont les marquages accessibles et la re-
lation de transition est [·i. On le construit itérativement de-
puis m0, en construisant pour chaque marquage atteint ses
successeurs par toutes les transitions franchissables. On note
G(N, m0)ce graphe, ou G(N)lorsque le marquage initial est
évident.
Le graphe des marquages peut être infini.
Représentation graphique.
La valeur par défaut
(1) est omise.
Un arc à valeur 0
n’est pas dessiné.
pt
Pré(p, t)
Post(p, t)
Représentation matricielle
Pré =
Pré(p1, t1)Pré(p1, t2)· · · Pré(p1, t|T|)
Pré(p2, t1)Pré(p2, t2)· · · Pré(p2, t|T|)
.
.
..
.
.....
.
.
Pré(p|P|, t1)Pré(p|P|, t2)· · · Pré(p|P|, t|T|)
Post =
Post(p1, t1)Post(p1, t2)· · · Post(p1, t|T|)
Post(p2, t1)Post(p2, t2)· · · Post(p2, t|T|)
.
.
..
.
.....
.
.
Post(p|P|, t1)Post(p|P|, t2)· · · Post(p|P|, t|T|)
On note C=Post Pré la matrice d’incidence.
La matrice d’incidence donne le résultat du franchis-
sement de chaque transition, mais elle ne donne pas la condi-
tion de franchissabilité.
Un marquage peut être vu comme un vecteur colonne :
m=
m(p1)
m(p2)
.
.
.
m(p|P|)
Pour une séquence de transition σ, le vecteur de Parikh de
σest le vecteur ligne σqui donne pour chaque transition son
nombre d’occurrences dans σ.
Si m[σim0, on a alors m0=m+C·σ.
1.2 Propriétés fondamentales
Existence d’une séquence infinie.
σTω,σ0T, σ0σm0[σ0i
Pseudo-vivacité «Le réseau n’est jamais bloqué »
m∈ G(N, m0),tT, m [ti
Quasi-vivacité «Toute transition est utile »
tT, m∈ G(N, m0), m [ti
Vivacité «Toute transition est toujours utile »
m∈ G(N, m0),tT, m0∈ G(N, m), m0[ti
Caractère non-bor
nN,m∈ G(N),pP, m(p)> n
État d’accueil «Un marquage où l’on peut toujours revenir »
maest un état d’accueil si m∈ G(N), ma∈ G(N, m)
1.3 Couverture
L’ordre de couverture sur les marquages est défini par :
m, m0NP, m m0⇒ ∀pP, m(p)m0(p)
L’ordre de couverture strict est donc :
m, m0NP, m < m0pP, m(p)m0(p)
∧ ∃pP, m(p)< m0(p)
1
Monotonie. La franchissabilité, la quasi-vivacité, le carac-
tère non-borné du réseau sont des propriétés monotones. Cas
de la franchissabilité :
m1, m2, m0
1NP,σT(m1m2m1[σim0
1)
=(m0
2NP, m2[σim0
2m0
1m0
2)
La pseudo-vivacité, la vivacité, et le fait d’avoir un état
d’accueil ne sont pas monotones
Graphe de couverture On construit l’arbre de couverture
itérativement :
1) Construire les successeurs par toutes les transitions fran-
chissables.
2) Si un marquage déjà ancêtre est construit, on arrête la
branche.
3) Si un marquage mcouvre strictement un ancêtre m0, on
remplace m(p)par ωdès que m(p)> m0(p).
On replie l’arbre en fusionnant les états identiques.
Le graphe de couverture est fini.
Si le graphe n’a pas d’ω, le réseau est borné.
Sinon, un ωsignifie que l’on peut atteindre un marquage
arbitrairement grand dans cette place.
Si une composante fortement connexe terminale du
graphe de couverture ne contient pas toutes les transi-
tions, alors Nn’est pas vivant. k
Si le graphe de couverture a un nœud sans successeur,
alors Nn’est pas pseudo-vivant.
Le graphe de couverture ne préserve pas l’ensemble des
marquages accessibles. Il ne permet pas non plus de connaître
le chemin à prendre pour couvrir un marquage donné (on peut
cependant le dériver de l’arbre).
1.4 Extensions par arcs inhibiteurs
On ajoute une fonction d’inhibition Inh :P×T
(N\{0})]{+∞} qui modifie la définition de franchissabilité
comme suit :
m[tissi pP, Pré(p, t)m(p)<Inh(p, t)
L’expressivité est accrue, mais il est aisé d’encoder une
machine à deux compteurs : l’accessibilité d’un marquage
n’est plus décidable.
Représentation graphique.
La valeur par défaut (1)
est omise.
pt
Inh(p, t)
Un arc inhibiteur à valeur +n’est pas dessiné.
2 Réseaux de Petri colorés
Dans chaque place, on n’a plus des jetons indifférenciés
mais des jetons colorés : on les compte par couleur dans un
multi-ensemble.
Un multi-ensemble sur Cest une fonction de Cvers N.
Pour deux multi-ensembles µ, µ0Bag(C),µµ0si
cC, µ(c)µ0(c). On les note parfois comme une somme
d’éléments de C.
Syntaxe. Un réseau de Petri coloré est un quintuplet
hP, T, C, W , W +, gioù :
Pest un ensemble de places,
Test un ensemble de transitions,
PT=,
Cest la fonction de couleur définie sur P]T,
West la relation de précondition,
W+est la relation de postcondition,
pP,tT,W±(p, t) : Bag(C(t)) Bag(C(p))
est une fonction linéaire,
gla garde, telle que tT,g(t)C(t).
On peut aussi y ajouter m0, le marquage initial, tel que pour
pP,m(p)Bag(C(p)).
Sémantique
Un marquage associe à chaque place pun multi-
ensemble sur C(p).
Depuis un marquage m, une transition test franchis-
sable avec une instance ctC(t)si :
ctg(t)∧ ∀pP, m(p)W(p, t)(ct)
On écrit alors m[t, cti(ou mt,ct
).
Si test franchissable depuis mavec l’instance ct, on at-
teint alors le marquage m0, ce qui est noté m[t, ctim0
(ou mt,ct
m0) où m0est défini par :
pP, m0(p) = m(p)W(p, t)(ct)+W+(p, t)(ct).
Couleurs et fonctions classiques de pré/post-condition.
Les domaines de couleurs sont finis, autrement on encode ai-
sément un emachine à (deux) compteurs. Ce sont souvent des
produits cartésiens d’ensembles finis.
Un domaine de couleur ordonné circulairement de taille k
est un ensemble isomorphe à ({0, . . . , k 1}. On écrit alors
x++ au lieu de x+ 1[k].
Le raccourci C.All désigne «un jeton de chaque couleur
dans C»:C.All =PcCc, ou encore cC, C.All(c)=1.
Dépliage Le dépliage transforme un réseau coloré en un ré-
seau classique. Il consiste à séparer la place pen une place par
couleur dans C(p)et chaque transition ten une transition par
instance de C(t)(satisfaisant la garde).
Le dépliage de N=hP, T, C, W , W +, gien NNB =
hPNB, TNB,Pré,Postise définit par :
PNB =SpP{(p, c)|cC(p)}
TNB =StT{(t, c)|cC(t)g(t)}
(p, cp)PNB,(t, ct)TNB,
Pré((p, cp),(t, ct)) = W(p, t)(ct)(cp).
(p, cp)PNB,(t, ct)TNB,
Post((p, cp),(t, ct)) = W+(p, t)(ct)(cp).
Le marquage initial m0se déplit en m0,NB tel que pour (p, c)
PNB m0,NB(p, c) = m0(p)(c).
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !