Petri
Petri
– Evénement
• Les événements sont des actions se déroulant dans le système.
• Le déclenchement d'un événement dépend de l'état du système.
P1 P2
3.2. RdP : présentation informelle
Concepts de base
– Satisfaction d'une Condition = Jeton dans une Place
P P
vrai faux
Remarque : on peut avoir un nombre quelconque non borné de jetons dans une
place
3.2. RdP : présentation informelle
Concepts de base
– Condition de franchissement d'une transition = satisfaction de toutes les
places préconditions de la transition
P2 P2'
P1 P1'
t1 t1'
non franchissable franchissable
P P
avant franchissement
t t après franchissement
P2 P1 P2
P1
3.2. RdP : présentation informelle
Modélisation de systèmes avec ressources
– Pour certains systèmes, il est plus juste de raisonner en termes d'ensemble de
ressources, au sens large, qu'en termes de conditions-événements.
=> un jeton = une ressource
– Le nombre de jetons contenus dans une place reflète le nombre de ressources qu'elle
possède.
– Les jetons d'une place n'ont pas d'identité individuelle, autrement dit ils sont
indiscernables.
– Ces ressources sont consommées et produites par les événements du système.
– Les arcs entrants d'une transition peuvent être valués par un entier quelconque (non
nul)
=> valuation = nombre de jeton nécessaires dans la place pour franchir la transition
=> si k est la valuation d'un arc d'une place P vers une transition T, le tir de la transition T retire k
jetons dans la place P
– Les arcs sortants d'une transition peuvent être valués par un entier quelconque (non
nul)
=> valuation = nombre de jeton produits dans la place située après la transition
=> si k est la valuation d'un arc d'une transition T vers une place P, le tir de la transition T dépose
k jetons dans la place P
– Par défaut, les arcs sont valués par 1.
3.2. RdP : présentation informelle
Concepts de base
– Exemples
3 3 P2'
P2 2
P1 2 P1'
t1 t1'
non franchissable franchissable
avant franchissement P P
2 2
t t après franchissement
3 3
P2 P1 P2
P1
3.2. RdP : présentation informelle
Exemple…
une réaction chimique d'oxydo-réduction
C02
H2C204 2 H202
2 H+
2 2
e- 2 2
H2 0
3.2. RdP : présentation informelle
Schémas particuliers
a b a b
b
indétermisme a ou b
E
E
E
ackE
fourchette fourchette
gauche pense droite
mange
1 philosophe
M:PN
Notation matricielle:
– Transitions en colonnes
– Places en lignes
– Marquage = vecteur colonne
3.3.2. Formalisation : propriétés
dynamiques
Dynamique (sémantique) d'un RdP
– Transition t franchissable
• une transition t est franchissable ssi, pour toute place p,
on note M —t M‘
(tir de la transition t à partir du marquage M)
3.3.2. Formalisation : propriétés
dynamiques
Dynamique (sémantique) d'un RdP
– Exemple
• t1 est franchissable car
• après le franchissement de t1
M = M0 - Pre(., t1) + Post(., t1)
2 1 1
2 1 0 5 0 1
= 3 - 0 + 0
0 6 4 7 3 0
0 0
2 2 5 5
= - + =
3 0 7 10
3.3.2. Formalisation : propriétés
dynamiques
Dynamique (sémantique) d'un RdP
– Exemple
2 1
3 -1 1
= 3 + 0 = 5
7 -3 -4 10
0
T1 T2 T3 T4
est une séquence de
transitions
franchissables
3.3.2. 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
Mn = 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
3.3.2. Formalisation : propriétés
dynamiques
Equation d'état
Mf = M + C . VsT
Remarque :
s = s1 . s2 => Vs = Vs1 + Vs2
Vs1 = Vs2 => M + C . Vs1T = M + C . Vs2T même si s1s2
3.3.2. Formalisation : propriétés
dynamiques
Dynamique (sémantique) d'un RdP : séquence
de transitions
Exemple :
<T1, T2, T3, T2>, <T3, T1, T2, T2>, <T3, T2, T2, T1>,
<T1, T3, T2, T2>, <T1, T2, T2, T3>, …
4.3.2. Formalisation : propriétés
dynamiques
Remarques importantes :
– ATTENTION ! L'équation d'état permet de calculer le marquage atteint après
franchissement d'une séquence de transitions. Elle ne permet pas de dire que
la séquence est franchissable !!
T1 T2 T3 T4
P1 P2 P3 P4 P5
Pb Pb Pb
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)
3.3.2. Formalisation : propriétés dynamiques
Aperçu… des raisonnements 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
Eq. Eq. Eq.
M0 M1 M2 Mf
Etat Etat Etat
P1
P2
Pb Pb Pb
– Exemple : 2
Quel marquage initial pour le marquage final T1
Mf= [2, 5, 1, 4, 0] et la séquence <T1, T2, T2> P3
=> calcul de M2 P4
x 2 0 -1 3
y 5 -2 0 5 T2
0 2
M2 = z = 1 - 1 -1
1 => M2 = 2 P5
t 4 0 -1 5 Impossible :
u 0 0 2 -2 Mf inaccessible
par T2
3.3.2. Formalisation : propriétés dynamiques
P1
P2
M0 + C . VsT > 0
Pb Pb Pb
3.3.2. Formalisation : propriétés dynamiques
P1
P2
2
Aperçu… des raisonnements faisables… T1
– Exemple : P3
P4
Quel marquage initial minimal permettant le franchissement
de la séquence <T1, T2, T2>
T2
=> calcul des contraintes sur M2 2
0 -1 0 P5
x x 1
y -2 0 0 y 0
0
M2 = z + 1 -1 > 0 => z > 1
1
t 0 -1 0 t 1
u 0 2 0 u 0
x 0 -1 1 x 2
y -2 0 0 y 0 x 2
0 y 2
M1 = z + 1 -1 > 1 => z > 2
1 M0 = z > 1
t 0 -1 1 t 2
u 0 2 0 u 0 t 2
u 0
=> calcul de M0
4.3.2. Formalisation : propriétés
dynamiques
Marquage accessible et graphe de marquage
– Marquages accessibles (ou successeurs)
• Un marquage M' est un marquage accessible (successeur de M) s'il
existe une séquence de transitions s tel que
M —s M'
Exemple :
V1 = (Idle1 + Busy1)
d1 d2
V2 = (Idle2 + Busy2)
Busy1 Res Busy2
V3 = (Busy1 + Busy2 + Res)
f1 f2
Bureau
Voisin
Imprimante
Console
– cas d'utilisation 1
(1) D.imp1
(2) D.val
imprimante console
(4) F.imp1 (3) F.val
4.4. RdP : exemple d'un système
interconnecté
=> Diagramme de collaboration à la UML
– cas d'utilisation 2
(1) D.edit
(2) D.imp2
imprimante console
(4) F.edit
(3) F.imp2
4.4. RdP : exemple d'un système
interconnecté
=> Diagramme de séquence à la UML
– cas d'utilisation 1
imprimante console
D.imp1
Imp1 D.val
Val
F.val
F.imp1
Fin.imp
4.4. RdP : exemple d'un système
interconnecté
=> Diagramme de séquence à la UML
– cas d'utilisation 2
imprimante console
D.edit
Edit
D.imp2
Imp2
F.imp2
Fin.edit
F.edit
4.4. RdP : exemple d'un système
interconnecté
=> RdP de l'imprimante et de la console
Idle-imprimante Idle-console
Imp1 Imp2
imprimante
Edit Val
console
Att.val Att.imp2
F.val F.imp2
Fin.imp Fin.edit
F.imp1 F.edit
4.4. RdP : exemple d'un système interconnecté
Idle-imprimante Idle-console
console
Att.val Att.imp2
F.val F.imp2
Fin.imp Fin.edit
F.imp1 F.edit
D.edit
D.imp1
Edit
Imp1
D.imp2
D.val
Imp2 Att.imp2
Att.val Val
F.imp2
F.val
Fin.edit
Fin.imp
F.edit
F.imp1
Remarque :
les places Att.val
et Att.imp2 sont
inutiles
4.4. RdP : exemple d'un système interconnecté
D.edit
D.imp1
Edit
Imp1
D.imp2
D.val
Imp2
Val
F.imp2
F.val
Fin.edit
Fin.imp
F.edit
F.imp1
4.4. RdP : exemple d'un système interconnecté
Analyse :
La séquence
• D.imp1; D.edit;
mène à un bloquage mortel
Idle-console
Idle-imprimante
D.edit
D.imp1
Edit
Imp1
D.imp2
D.val
Imp2
Val
F.imp2
F.val
Fin.edit
Fin.imp
F.edit
F.imp1
Idle-console
Idle-imprimante
D.edit
D.imp1
Edit
Imp1
D.imp2
D.val
Imp2
Val
F.imp2
F.val
Fin.edit
Fin.imp
F.edit
F.imp1
=> bloc
3.5. Raffinement et composition de
RdP
Raffinement :
Blocs bien formés standards :
séquence do-while
if-then-else fork-join
3.5. Raffinement et composition de RdP
Composition asynchrone
Principe : fusion de places
ent1 ent2
a c
p3 p4
p1 p2
b d
3.5. Raffinement et composition de
RdP
Composition synchrone
Principe : fusion de transitions
ent1 ent2
te
a
b
3.5. Raffinement et composition de
RdP
Exemple : un système de transport par chariots filoguidés
Contraintes :
– Un seul chariot par section
– Un seul chariot en mouvement par cellule
5
cellule 2-4
4
1 2
3
3.5. Raffinement et composition de RdP
Zone de mouvement
(Mvt)
– Une section :
Zone d'attente pour entrer dans
la section suivante
(Porte)
Sec.libre2
3.5. Raffinement et composition de RdP
– Une section :
contrainte : un seul chariot en mouvement dans la
section 2-4
=> introduction d'une place « espace »
Espace2
Sec.libre2
3.5. Raffinement et composition de RdP
– Une section :
contrainte : un seul chariot en mouvement dans la
section 2-4
=> introduction d'une place « espace »
=> fusion des places « Espace » des sections 2 et 4
Sec.libre4
Espace
e.s.2 a.p.2 Porte2 s.s.2
Mvt2
Sec.libre2
3.5. Raffinement et composition de RdP
– Réseau de sections :
contrainte : un seul chariot par section
=> fusion des transitions s.s.1 et e.s.2, s.s.3 et e.s.4, s.s.4
et e.s.5
Sec.libre3 Sec.libre4 Sec.libre5
Mvt4
Mvt3 Porte3 Porte4 Mvt5 Porte5
Espace
Mvt1
Sec.libre1 Sec.libre2
3.6. Quelques extensions…
=> Les propriétés d'un rdP coloré sont les mêmes que
celles des rdP ordinaires,
3.6. Extensions : arc inhibiteurs
Propriété inexprimable : le test à zéro