M1 EEA PETRI HMEE111 virazel@lirmm.fr
HMEE111 - Réseau de Petri INTRODUCTION Arnaud VIRAZEL virazel@lirmm.fr Réseau de Petri (RdP) n Thèse de Carl Adam Petri en 1962 n Le formalisme des réseaux de Petri est un outil permettant l étude de systèmes dynamiques et discrets. n Il s agit d une représentation mathématique permettant la modélisation d un système. 2 1
Réseau de Petri (RdP) n L analyse d un réseau de Petri peut révéler des caractéristiques importantes du système concernant sa structure et son comportement dynamique. n Les résultats de cette analyse sont utilisés pour évaluer le système et en permettre la modification et/ou l amélioration le cas échéant. 3 Méthode générale 4 2
Vocabulaire n Modélisation n abstraction d un système réel n Événement n Condition 5 Caractéristiques principales des réseaux de Petri n Distribution des états et des changements d états dans le réseau n Dépendance et indépendance d ensembles d événements représentées explicitement (relations de causalité) n Représentation à différents niveaux d abstractions 6 3
Caractéristiques principales des réseaux de Petri n Vérifications des propriétés possibles car basées sur un formalisme mathématique rigoureux n Modélisation simulable n Représentation graphique 7 Introduction n Représentation de l évolution d un automate ou d un processus séquentiel. n n Par les différentes étapes qu il doit décrire au fil du temps Par les conditions internes et externes qui permettent de passer d une étape pressente à une étape future. 8 4
Automates d états finis n n n n Un automate fini est constitué d une entrée, d une sortie, d un ensemble d états et de transitions étiquetées entre ces états. Permet de décrire un système dont l état évolue au cours du temps en fonction de l état précédent et d un signal d entrée n Modélisation de circuits logiques Utilité : observation et vérification des propriétés Difficile de composer des sous-systèmes (par ex. en parallèle) 9 Organigramme ou flowchart n Action dépend de l état courant (compteur ordinal, variables,...) n Faiblesses : n pas de séparation entre action et état n pas de parallélisme 10 5
Concepts de base n Condition n Une condition est un prédicat ou une description logique d un état du système. n Une condition est vraie ou fausse. n Un état du système peut être décrit comme un ensemble de conditions. 11 Concepts de base n Événement n Les événements sont des actions se déroulant dans le système. n Le déclenchement d un événement dépend de l état du système. 12 6
Concepts de base n Déclenchement, précondition, postcondition n Les conditions nécessaires au déclenchement d un événement sont les préconditions de l événement. n Lorsqu un événement se produit, certaines de ses préconditions peuvent cesser d être vraies alors que d autres conditions, appelées postconditions de l événement deviennent vraies. 13 Exemple : Atelier de coupe de bois n Conditions n La machine de coupe est au repos (c1) n Une commande est en attente (c2) n La commande est en cours de traitement (c3) n La commande est terminée (c4) n Evénements n Une commande arrive (e1) n La machine débute la commande (e2) n La machine termine la commande (e3) n La commande est envoyée pour la livraison (e4) 14 7
Modélisation d un système n Condition n modélisée à l aide d une PLACE. n Événement n modélisé à l aide d une TRANSITION. 15 Définition 1 n On appelle Place la représentation d une condition dans le fonctionnement d un automate séquentiel. n Une place est représente par un cercle : P i n L activité ou la non-activité d une place est représentée par des marqueurs (ou jetons) à l intérieur des places. 16 8
Définition 2 n On appelle Transition le tiret séparant des places successives n Une transition reçoit un arc orienté venant d une place d entrée n Une place de sortie reçoit un arc orienté issu d une transition 17 Système événement-condition n Précondition d une transition n Postcondition d une transition 18 9
Système événement-condition n Satisfaction d une condition n modélisée à l aide d un JETON. 19 Définition 3 n On appelle marquage la répartition, à un instant donné, des jetons dans les places du réseau. L état initial du réseau est caractérisé par le marquage initial. n Un état de l automate est un marquage, c est à dire un ensemble de places marquées. n Un marquage peut consister en un ou plusieurs jetons. 20 10
Définition 4 n Une transition est validée si la place d entrée possède au moins un jeton n Une transition validée peut être tirée. 21 Déclenchement n tir ou franchissement d une transition 22 11
Règle 1 n Le tir d une transition enlève un jeton de la place d entrée et ajoute un jeton à la place de sortie n L automate passe de l étape (n 1) à l étape n 23 Règle 1 n Le tir d une transition enlève un jeton de la place d entrée et ajoute un jeton à la place de sortie n L automate passe de l étape (n 1) à l étape n 24 12
Règle 2 n On peut représenter l état correspondant à la continuité de l activité d une étape. n On peut avoir plusieurs étapes simultanément actives. n Le nombre de jetons dans une place peut être supérieur à 1. 25 Règle 3 n Une transition peut avoir plusieurs places de sorties, donc plusieurs arcs sortants. n Le tir de la transition ajoute un jeton à chaque place de sortie. 26 13
Règle 4 n Une transition peut avoir plusieurs places d entrées, donc plusieurs arcs entrants n La transition est validée si chaque place d entrée possède au moins un jeton. 27 Règle 4 n Le tir de la transition enlève un jeton à chaque place d entrée et ajoute un jeton à (aux) place(s) de sortie(s). 28 14
Règle 5 n Une place de sortie peut aussi être place d entrée (ou réciproquement) 29 Règle 5 n Il s agit d une place implicite qui n est pas nécessaire mais qui peut être utilisée pour les besoins de la modélisation. 30 15
Règle 6 n Si dans le réseau de Petri, plusieurs transitions sont valides, leur tir doit être successivement choisi n séquentiel 31 Règle 6 n exemple : T i puis T k ou T k puis T i 32 16
Règle 7 n Si 2 ou plusieurs transitions peuvent être validées simultanément à partir d une même place d entrée (place partagée), il y a conflit (blocage) si la placé partagée ne possède qu un jeton. 33 Règle 7 n Il faut définir une règle de priorité. n C est un réseau Libre choix. 34 17
Exemple - 1 n Les quatre saisons n Donner la modélisation représentant la succession des saisons 35 Exemple - 2 n Les philosophes (Dijkstra - 1971) n Les philosophes pensent ou mangent. Pour pouvoir manger, un philosophe doit saisir ses fourchettes gauche et droite. Lorsqu il a terminé, il libère ses fourchettes. Il y a 5 philosophes. 36 18
HMEE111 - Réseau de Petri PROPRIETES Arnaud VIRAZEL virazel@lirmm.fr Schémas de synchronisations élémentaires n Parallélisme ou concurrence 2 1
Schémas de synchronisations élémentaires n Synchronisation 3 Schémas de synchronisations élémentaires n Partage de ressource n (exclusion mutuelle, conflit,...) 4 2
Schémas de synchronisations élémentaires n Séquentialité et confusion 5 Exercice - 1 n On veut modéliser la fabrication et l assemblage d un ensemble AB. n Il est composé de 2 pièces élémentaires A et B, que l on fabrique à partir du même brut, et que l on peint avant de les assembler. n La fabrication est lancée sur une commande. 6 3
Exercice - 1 n Variante n La cabine de peinture de A ne peut contenir qu une pièce à la fois. n Celle de B peut en contenir deux à la fois. n Ce sont donc des ressources à 1 ou 2 utilisateurs possibles 7 Exercice - 2 n n Ordonnancement de tâches (PERT) On définit six tâches dont les exécutions sont conditionnées par les règles suivantes. n Au départ, la tâche 1 est exécutable. Les tâches 2 et 3 ne peuvent être exécutées qu'après la fin de la tâche 1 (attention, cela ne signifie pas que l'exécution de ces tâches commence immédiatement à la fin de la tâche 1, ni même qu'elles commencent simultanément). n La tâche 4 ne peut être exécutée qu'après la tâche 3, la tâche 5 après les tâches 2 et 4, et la tâche 6 après les tâches 4 et 5. n Enfin la tâche 1 ne peut être réexécutée qu'après la finde la tâche 2, la tâche 3 après les tâches 1 et 6, et le cycle recommence indéfiniment. n Remarque: Si une tâche j ne peut être exécutée quʼaprès la fin de la tâche i, et si i est exéctuée plusieurs fois et successivement sans exécution de j, alors j peut ensuite être exécutée une ou plusieurs 8 fois successivement. 4
Propriétés des réseaux de Petri n Marquage n Le marquage d un RdP à un instant donné est un vecteur colonne dont la valeur de la i iémé composante est le nombres de marques (jetons) dans la place P i 9 Exemple n Marquage initiale M 0 0 1 1 2 10 5
Propriétés des réseaux de Petri n Marquage n L ensemble des marquages accessibles à partir du M 0 est l ensemble des marquages obtenus à partir de M 0 par franchissements successifs d une ou plusieurs transition(s). n *M0 11 Définitions n Définition 1 n Une transition est dite Quasi-vivante si depuis le marquage initial cette transition peut être franchie au moins une fois. n Définition 2 n Un RdP est dit Quasi-vivant si toutes ses transitions sont Quasi-vivantes 12 6
Définitions n Définition 3 n Un RdP est dit pseudo-vivant si depuis le marquage initial, son évolution est telle qu il existe au moins une transition qui puisse être franchie. 13 Exemple 14 7
Exemple n T1 et T2 sont tirables : n le Rdp est pseudo-vivant n T3 n est pas tirable : n le RdP n est pas quasi-vivant 15 Exemple 16 8
Définitions n Définition 4 n Une transition est dite vivante si, depuis le marquage initial et quelle que soit l évolution du réseau, cette transition peut être franchie (peut être tirée par une séquence de franchissement quel que soit le marquage atteint). 17 Définitions n Définition 5 n Un RdP est dit vivant, si à partir d un marquage initial, toutes les transitions peuvent être tirées par une séquence de franchissement quel que soit le marquage atteint. n Un RdP vivant est sans bloquage. 18 9
Exemple 19 Définitions n Définition 6 n Une place est dite K-bornée si elle peut accumuler à partir du marquage initial une quantité bornée k de jetons durant l évolution du réseau. n Un RdP marqué ayant toutes ses places k bornées est appelé réseau k-borné 20 10
Définitions n Définition 7 n Un RdP est dit sauf si à chaque instant aucune place ne contient plus d un seul jeton (1-borné). 21 Définitions n Définition 8 n Un RdP est dit conforme s il est à la fois sauf et vivant n 1 seul jeton par place n Toutes les transitions sont franchissable 22 11
Définitions n Définition 9 n Un RdP est dit propre s il est réinitialisable, c est-à-dire s il existe une évolution lui permettant de revenir au marquage initial. 23 Définitions n Définition 10 n Un RdP est dit bien formé, s il est à la fois : borné, vivant, propre n Définition 11 n On appelle marquage puits un marquage à partir duquel il est impossible de faire évoluer un RdP, c est-à-dire qu aucune transition n est tirable. 24 12
Définitions n Définition 12 n Un RdP est sans blocage si aucun marquage possible du réseau n est un marquage puits 25 Exercice 26 13
Définitions n Définition 13 n Un RdP est pur s il ne contient aucune transition ayant la même place en entrée et en sortie. 27 Définitions n Définition 14 n On appelle un arc pondéré un arc affecté d une valeur pondérale représentant le nombre entier de jetons que peut transférer cet arc. 28 14
Exemples n Pour Valider une transition avec un arc pondéré, il faut au moins autant de jetons dans la place d entrée que le poids de l arc 29 Définitions n Définition 15 n On appelle arc inhibiteur un arc qui en absence de jeton dans la place d entrée sensibilise la transition aval. 30 15
Exercice n Quelles sont les transitions tirables? Quelles seraient la distribution des jetons après le franchissement de chacune de ces transitions? 31 16
HMEE111 Réseau de Petri MODELISTAITON MATHEMATIQUE Arnaud VIRAZEL virazel@lirmm.fr Modélisation mathématique n Définition n Un RdP est défini par l ensemble des places et des arcs orientés qui relient les places. Un RdP est un graphe orienté défini par le quadruplet : R =< P, T, Pre,Post > 2 1
Modélisation mathématique n P est un ensemble fini de places n P = {P1,P2,...,Pn} n T est un ensemble fini de trans. n T = {T1, T2,..., Tm} n Une ensemble de places Précédentes et un ensemble de places Postérieures sont associés à chaque transition. 3 Modélisation mathématique n Pre est l application des places précédentes : (PxT) n Post est l application des places postérieures : (PxT) n La matrice d incidence C d un RdP est notée : C = Post Pre 4 2
Modélisation mathématique n Pre, Post et C sont des matrices avec n Nombre des lignes = nombre des places n Nombre des colonnes = nombre des transitions 5 Exemple n Déterminer les matrices Pre, Post et C 6 3
Notations matricielle d un RdP n On appelle réseau marqué le couple n N =< R,M > n R réseau de Petri n M le marquage initial du RdP 7 Exemple n Marquage initiale " 0% $ ' M = $ 3 ' # $ 0& ' 8 4
RdP pur n Un RdP est pur si et seulement si n Donc le graphe ne comprend aucune boucle élémentaire 9 Exemple n Quelle est le RdP pur? a) b) 10 5
Transition franchissable n Une transition t est franchissable si et seulement si 11 Franchissement d une transition n Si t est franchissable pour le marquage M, le tir de t donne le nouveau marquage M tel que : 12 6
Exemple n Déterminer les matrices Pre et Post n Déterminer si la réseau est pur n Déterminer la(les) transition franchissable n Tirer la transition 13 Conflit et parallélisme n Conflit structurel : deux transitions t1 et t2 sont en conflit structurel si et seulement si elles ont au moins une place d entrée en commun 14 7
Conflit et parallélisme n Conflit effectif : elles sont en conflit effectif pour un marquage M si et seulement si t1 et t2 sont en conflit structurel et que 15 Exemple 16 8
Conflit et parallélisme n Parallélisme structurel : deux transitions t1 et t2 sont parallèles structurellement si n Elles n ont aucun place d entrée commune 17 Conflit et parallélisme n Parallélisme effectif : deux transitions t1 et t2 sont parallèles pour un marquage donné si elles sont parallèles structurellement et 18 9
Séquence de franchissement n On dit que la séquence «ta;tb» est franchissable à partir de M0 19 Séquence de franchissement n On appelle S=a;a;b le vecteur caractéristique n La dimension de S est égal au nombre des transition de le RdP 20 10
Séquence de franchissement n Soit s le vecteur caractéristique. n Cette équation est appelée l équation fondamentale d un RdP. 21 Exercice n Considérons un système de gestion des ressources dans un petit aéroport. On dispose de 4 salles d embarquement et de 3 passerelles. Pour les vols au départ, il faut d abord réserver une salle d embarquement libre (s.e.libre) pour exécuter l'événement début d enregistrement (der) ce qui permet d exécuter l activité enregistrement (Er). 22 11
Exercice n Ensuite, tout en maintenant la salle d embarquement réservée, pour réaliser l événement début d embarquement, il faut réserver une passerelle libre (p.libre). Cela permet d exécuter l activité embarquement (Eb). 23 Exercice n Enfin l événement fin d embarquement (feb) entraîne la libération de la salle d embarquement et de la passerelle. pour les vols à l arrivée, il faut réserver une passerelle disponible pour l événement début d embarquement (dd) ce qui permet d exécuter l activité débarquement (D). L événement (fd) termine cette activité en libérant la ressource passerelle. 24 12
Exercice n Déterminer : n Post n Pre n M0 n Conflits structurels et effectifs n Parallélismes structurels et effectifs 25 13
HMEE111 Réseau de Pétri Analyse par Réduction Arnaud VIRAZEL virazel@lirmm.fr Analyse par réduction n Règle T1 2 1
Analyse par réduction n Règle T2 3 Analyse par réduction n Règle T3 4 2
Analyse par réduction n Règle T4 5 Analyse par réduction n Règle T5 6 3
Analyse par réduction n Règle T6 7 Analyse par réduction n Règle T7 8 4
Analyse par réduction n Règle T8 9 Exemple 10 5
Exercice 11 6
HMEE111 Réseau de Pétri Composante conservative et Invariant linéaire de place Arnaud VIRAZEL virazel@lirmm.fr Composantes conservatives et répétitives stationnaires n On Considère le RdP suivant 2 1
Composantes conservatives et répétitives stationnaires n Pour le sous-réseau SR formé par n les places 1 et 2 n Les transitions a et b M(1) + M(2) = 1 n Quel que soit la séquence de franchissement à partir de M0 3 Composantes conservatives et répétitives stationnaires n Quel que soit le marquage initiale M0 M(1) + M(2) = M0(1) + M0(2) M accessible 4 2
Composantes conservatives et répétitives stationnaires n le sous réseau SR est appelé composante conservative n La forme linéaire M(1) + M(2) = 1 étant appelé invariant linéaire de place 5 Composantes conservatives et répétitives stationnaires n Pour le sous réseau SR2 formé par n les places 2, 3 et 4 n Les transitions a, b, c et d n Déterminer l invariant linéaire de place 6 3
Définition n L invariant linéaire de place est une fonction linéaire du marquages des places dont la valeur est une constante n Ne dépendant que du marquage initiale 7 Définition n F n Vecteur colonne de pondération des places n F T x M(P) n Représente une combinaison linéaire des places F T x M(P) = f1 * M(P1) + f2 * M(P2) + + fn * M(Pn) 8 4
Définition n Eq. Fondamentale n M = M + C x s n en multipliant chaque terme par F T n F T x M = F T x M + F T x C x s 9 Définition n Si il existe F tel que F T x C = 0 n Alors F T x M = F T x M F T x M = K0 n C est indépendant de la séquence S 10 5
Définition n F est défini invariant n F T x C est défini composante conservative n F T x M = F T x M correspond à l invariant linéaire de place 11 Définition n Si F1 et F2 sont des invariants alors n α F1 + β F2 est aussi un invariant n Il existe des bases d invariants 12 6
Conclusion n Si une composante conservative est telle que K0 = 0 n n Aucune des ses places n est marquée dans M0 Elles restent vides quelque soit le marquage n C est anormal. n C est probablement une erreur de modélisation 13 Conclusion n Si une composante conservative est telle que K0 = 1 n Il y a toujours une de ces places marquées d un jeton, et pas plus d un jeton n Ces places sont booléenne (1-bornée) n Si un RdP est tel que toutes ses places appartiennent à des invariants de place avec K0 = 1 alors le RDP sauf 14 7
Définition n Eq. Fondamentale n M = M + C x s n Si il existe s tel que n C x s = 0 n Alors n M = M n S ramène au marquage M n Si M = M0 alors le RdP est reinitialissable 15 Définition n S est définie Composante Stationnaire n Si cette séquence est réellement franchissable, alors il existe toujours une transition de cette ensemble franchissable 16 8