s des réseaux de Petri Modélisation et Représentation des Connaissances Master IAD mathieu.sassolas@lip6.fr Université Pierre et Marie Curie
Plan du cours 1 : Réseaux de Petri 2 3 2 / 21
Plan du cours 1 : Réseaux de Petri 2 3 3 / 21
Plan du cours 1 : Réseaux de Petri 2 3 4 / 21
Motivations Les PN ne permettent pas d exprimer des conditions très riches. Il est souvent plus simple de modéliser avec ces arcs. «De grands pouvoirs (d expression) impliquent Contrepartie : de grandes indécidabilités.» De nombreux problèmes deviennent indécidables. 5 / 21
Arcs inhibiteurs : définition intuitive Dans le cas classique, les jetons activent des transitions. Ici, ils peuvent aussi les désactiver. t t est tirable t t n est pas tirable 6 / 21
Définition formelle Un réseau de Petri avec arcs inhibiteurs est un tuple N = P, T, Pre, Post, Inh, m 0 où : P est un ensemble de places, T est un ensemble de transitions, Pre : P T N est la relation de précondition, Post : T P N est la relation de postcondition, Inh : P T (N \ {0}) {+ } est la relation d inhibition, m 0 P N est le marquage initial. Remarque N = P, T, Pre, Post, m 0 est un réseau de Petri classique. 7 / 21
Sémantique Rappel : la sémantique d un réseau de Petri est son graphe des marquages : un état est un élément de P N. Une transition t T est active pour un marquage m si pour toute place p P Pre(p, t) m(p) < Inh(p, t) Si t est active pour m alors on a dans le graphe des marquages la transition m t m où pour toute place p, m (p) = m(p) Pre(p, t) + Post(t, p). 8 / 21
Exemple : un test à zéro c p t 0 t > «Si c ne contient pas de jetons, alors marquer q, sinon enlever un jeton de c et marquer r» Cas où c contient des jetons : seule t > est activée (t 0 est inhibée). 9 / 21 q r Avec ce module on encode une décrémentation d une machine à deux compteurs : le problème d accessibilité (et de couverture) est donc indécidable pour les réseaux de Petri avec arcs inhibiteurs.
Exemple : un test à zéro c p t 0 t > «Si c ne contient pas de jetons, alors marquer q, sinon enlever un jeton de c et marquer r» Cas où c contient des jetons : seule t > est activée (t 0 est inhibée). 9 / 21 q r Avec ce module on encode une décrémentation d une machine à deux compteurs : le problème d accessibilité (et de couverture) est donc indécidable pour les réseaux de Petri avec arcs inhibiteurs.
Exemple : un test à zéro c p t 0 t > «Si c ne contient pas de jetons, alors marquer q, sinon enlever un jeton de c et marquer r» Cas où c ne contient pas de jetons: seule t 0 est activée (t > n a pas assez de jetons dans c pour être tirée). 9 / 21 q r Avec ce module on encode une décrémentation d une machine à deux compteurs : le problème d accessibilité (et de couverture) est donc indécidable pour les réseaux de Petri avec arcs inhibiteurs.
Exemple : un test à zéro c p t 0 t > «Si c ne contient pas de jetons, alors marquer q, sinon enlever un jeton de c et marquer r» Cas où c ne contient pas de jetons: seule t 0 est activée (t > n a pas assez de jetons dans c pour être tirée). 9 / 21 q r Avec ce module on encode une décrémentation d une machine à deux compteurs : le problème d accessibilité (et de couverture) est donc indécidable pour les réseaux de Petri avec arcs inhibiteurs.
Arcs de lecture : définition Intuition: on teste le contenu d une place sans enlever des jetons pour autant. On ajoute la relation Read : P T N à la définition classique des réseaux de Petri. Une transition t T devient active pour m ssi p P, m(p) Pre(p, t) + Read(p, t). Le marquage successeur est inchangé : m (p) = m(p) Pre(p, t) + Post(t, p). r 4 3 t p t r 4 3 t p t r 4 3 t p 10 / 21 q q q
Propriétés Un arc de lecture peut toujours être simulé par autant de lectures et d écritures. r 4 t p r 4 t p 3 4 3 q q Il s agit donc plus d une facilité d écriture que d un nouveau modèle. 11 / 21
Arcs de vidange: définition Intuition: on ne teste pas la place, mais on enlève tous les jetons qui s y trouvent. On ajoute la fonction Fl : T P {, } à la définition classique des réseaux de Petri. La condition de tir est inchangée : p P, m(p) Pre(p, t). Pour t active pour m, on a m t m avec, pour p P { m 0 si Fl(t, p) = (p) = m(p) Pre(p, t) + Post(t, p) si Fl(t, p) = r 3 t p t r 3 t p t r 3 t p 12 / 21 q q q
Propriétés et exemple t 1 t 2 t 3 t 4 t 1 t 1 t 2 t 4 t 1 t 2 t 3 t 4 t 1 t 1 t 2 t 3 t 3 t 4... t 1 t 4 t 2 t 3 13 / 21 Le problème de couverture est décidable dans les réseaux de Petri avec arcs de vidange. Le problème de savoir si un tel réseau est borné est indécidable.
Plan du cours 1 : Réseaux de Petri 2 3 14 / 21
Motivations Les mêmes que ce qui motive la définition des automates temporisés. Il y a plusieurs définitions possible pour mettre du temps sur les réseaux de Petri. On présente ici les Réseaux de Petri Temporels (Time Petri Nets) de [Merlin,1974]. On prend une transition dans un intervalle de temps après qu elle fût activée : à chaque transition est associée une horloge. 15 / 21
Définition Un réseau de Petri temporel est un tuple N = P, T, Pre, Post, eft, lft, m 0 où : P est un ensemble de places, T est un ensemble de transitions, Pre : P T N est la relation de précondition, Post : T P N est la relation de postcondition, eft : T Q 0 est le délai de tir au plus tôt de t. lft : T Q 0 {+ } est le délai de tir au plus tard de t. m 0 P N est le marquage initial. 16 / 21
Sémantique Intuition : On ne peut tirer une transition que si on a attendu un temps dans l intervalle de tir depuis la dernière activation de la transition. Si on atteint le délai de tir au plus tard, on doit tirer la transition. Une configuration du réseau est une paire (m, v) où m est un marquage et v : T R 0 est une valuation des horloges de chaque transition. On dit d une transition t qu elle est nouvellement activée par t si t est activée par le marquage après le tir de t et soit t était désactivée avant la production des jetons par t, soit t = t. On change l atomicité des transitions d un réseau de Petri classique. 17 / 21
Sémantique Pas de temps de durée d : si pour t T telle que t est activée par m, on a v(t) + d lft(t), alors (m, v) d (m, v + d) Pas discret par la transition t : si t est activée par m (au sens classique : p P, m(t) Pre(p, t)) et eft(t) v(t) lft(t), alors (m, v) t (m, v ) où m est successeur au sens classique de m par t ( p P, m (p) = m(p) Pre(p, t) + Post(t, p)), et { t T, v (t 0 si t est nouvellement activée par t ) = v(t ) sinon 18 / 21
Exemple t 3 t 1 [0, 6] t 2 [4, + [ t 5 [2, 5] [0, 2] t 4 [3, 7] t 6 4 t 2 2 t 5 0 t 1 2.17 t 2 2 t 5 0.77 t 6 1.54 t 4 3.73 t 1 2.12 t 6 0.87 t 4 12.8 t 2 2 t 3 4.38 t 6 1.11 t 4 3.76 t 1 19 / 21
Propriétés Les problèmes d accessibilité et du caractère borné d un réseau de Petri temporel sont indécidables. Une construction analogue au graphe des régions dans le cas des automates temporisés permet d abstraire le temps Ce graphe peut par contre être infini si le réseau n est pas borné. Les TPN bornés peuvent être traduits en un ensemble synchronisé d automates temporisés. 20 / 21
Conclusion Les extensions des réseaux de Petri sont assez utile pour modéliser des systèmes. Elles sont souvent moins performantes du point de vue de la vérification. Il existe tout de même des outils sur ces extension : par exemple TINA ou encore Roméo (à découvrir en TME si les ordinateurs le supportent). Examen le 26 mai de 15h45 à 17h45 en salle 46-00/103. 21 / 21