Mais conteúdo relacionado

Cours3.pptx

  1. MÉTHODES FORMELLES COURS3: RÉSEAUX DE PÉTRI Sana Younes Dridi younessana@yahoo.fr 1 Faculté des Sciences de Tunis Département des Sciences de l’Informatique Section Mastère
  2. INTRODUCTION  Un système est constitué par un ensemble d’éléments en interaction dynamique.  Il possède des variables d'entrée et des variables de sortie  Un modèle est une représentation (mathématiques) des relations qui existent entre les variables de sortie et les variables d’entrée du système.  Cette représentation nécessite souvent l’introduction de variables supplémentaires appelées variables d’état.  Dans un bon modèle, les relations mathématiques qui le constituent permettent de déterminer « exactement » les valeurs des variables de sortie en fonction des variables d’état des variables d’entrée 2
  3. PLAN  RdP ordinaire  RdP généralisé  RdP et algèbre linéaire  Propriétés d’un réseaux de Petri  RdP Temporisé 3
  4. GRAPHES  RdP est un graphe orienté 4
  5. RÉSEAU DE PÉTRI : RDP  Un RdP est composé de places, transitions et arcs:  Une place est représentée par un cercle  Une transition par un trait:  Un arc relie soit une place à une transition ou bien d'une transition à une place jamais une place à une place ou une transition à une transition 5
  6. EXEMPLE  Tout arc doit avoir à son extrémité un sommet (place ou transition)  P1 est en sortie (en aval) de T1.  T2 est en sortie de P1.  De même, P1 est en entrée (en amont) de T2.  La place P3 est en entrée de T1. 6
  7. RDP: DÉFINITION On appelle Réseau de Pétri non marqué le quadruplet Q =< P; T; I;O > où  P est un ensemble fini non vide de places ;  T est un ensemble fini non vide de transitions ;  P∩T = Ø  I(Ti) est l’ensemble des places qui sont en entrée de la transition Ti ;  O(Ti) est l’ensemble des places qui sont en sortie de la transition i. On appelle Réseau de Pétri marqué R =< Q;M0 > où M0 est le marquage initial. 7
  8. MARQUAGE  Le marquage d'un réseau est son état. Formellement, un marquage est une application M : P  N  Chaque place contient un nombre entier positif ou nul de marques ou jetons  C'est un vecteur colonne de dimension le nombre de places dans le réseau. Le iéme élément du vecteur correspond au nombre de jetons contenus dans la place Pi. 8
  9. MARQUAGE INITIAL  On appelle marquage initial, noté M0, le marquage à l’instant initial (t = 0).  Exemple: 9
  10. CONDITIONS/ ÉVÉNEMENTS  Les places symbolisées par des cercles représentent des conditions qui traduit l’état d’une ressource du système  une machine est au repos,  une machine est en réparation  une commande en attente  Les transitions symbolisées par des tirets représentent l'ensemble des événements (les actions se déroulant dans le système) dont l'occurrence provoque la modification de l'état du système .  début de traitement sur une machine,  panne sur une machine  début de traitement d’une commande 10
  11. CONDITIONS/ÉVÉNEMENTS  Une condition sera toujours satisfaite ou non satisfaite.  Un événement ne peut se produire que si toutes ses conditions amonts sont satisfaites, 11
  12. PLACES/TRANSITIONS  La condition peut contenir plus d’un jetons  Lors d’une occurrence d’un événement :  on décrémente de 1 le nombre de marques dans chacune des conditions amonts,  on incrémente de 1, le nombre de marques dans chacune des conditions avales.  Avec ce type d’extension, on ne parlera plus :  de conditions, mais de places,  d’événements, mais de transitions et par conséquent on parlera de réseau de places et de transitions.  Réseaux de de conditions et d’événements Réseaux de places et de transitions : 12
  13. EXEMPLE Atelier de coupe de bois  Un atelier est constitué d’une machine de coupe et d’un stock. Quand une commande arrive et que la machine de coupe est disponible, la commande peut être traitée (Opération de découpe). Une fois le traitement terminé, la commande qui a été traitée est stockée. Sinon, la commande doit attendre que la machine se libère avant de pouvoir être traitée.  Conditions:  La machine de coupe est au repos  Une commande est en attente  La commande est en cours de traitement  La commande est terminée.  Evénements:  Une commande arrive  La machine débute le traitement de la commande  La machine termine le traitement de la commande 13
  14.  Dans P2: deux commandes en attente  Dans P1: un jeton indique que la machine est libre, alors que l’absence d’un jeton indique que la machine n’est pas disponible.  Dans P3: indique qu’une commande est en train d’être traitée par la machine de coupe  Dans P4: Le nombre de jetons dans la place P4 indique le nombre de commandes qui ont été traitées et stockées 14
  15. FRANCHISSEMENT D'UNE TRANSITION  Une transition est franchissable (tirable) lorsque toutes les places d'entrée de la transition contiennent au moins un jeton.  Le franchissement (le tir) consiste à retirer un jeton de chacune des places d'entrée et à rajouter un jeton à chacune des places de sortie de la même transition.  Exemple: le franchissement de T1 consiste à enlever un jeton de P1 et à ajouter un jeton à chacune des places P2, P3 et P4 (sortie de la transition T1). Avant franchissement Apres franchissement 15
  16. EXEMPLE 16
  17. EXEMPLE  Dessiner le réseau après franchissement de la transition 17
  18. EXEMPLE  Il n’y a pas conservation à priori du nombre de jetons dans le graphe 18
  19. CAS PARTICULIERS  Transition source: une transition sans place d'entrée.  Le franchissement d'une transition source consiste à rajouter un jeton à chacune de ces places de sortie.  Transition puits: une transition sans place en sortie de la transition  Le franchissement d'une transition puits consiste à retirer un jeton de chacune de ses places d'entrée. 19
  20. SÉQUENCE DE FRANCHISSEMENT  Une séquence de franchissement « s » est une suite de transitions 〈T1, T2, …, Tn〉 qui permet, à partir d’un marquage « M », de passer au marquage « M’ » par le franchissement successif des transitions définissant la séquence. T1T2 et T1T3 sont deux séquences de franchissement M0=[1000]T M1=[0100]T après T1 M2=[0001]T après T3 20
  21. MARQUAGE ACCESSIBLES  L'ensemble des marquages accessibles est l'ensemble des marquages Mi qui peuvent être atteint par le franchissement d'une séquence S à partir du marquage initial M0.  *M0={Mi tel que Mi[SMj}  Exemple: *M0={M0M1M2M3} T1, T1T2, T1T3 M0=[1000]T M1=[0100] T M2=[0010] T M3=[0001] T 21
  22. EXEMPLE 1:  Évidemment, un graphe de marquage peut être infini. Il est facile de voir ce fait en examinant la place « p2 » qui ne fait que recevoir des jetons. 22
  23. EXEMPLE 2  Le graphe d’accessibilité est encore une fois infini. En voici une partie : 23
  24. RDP SANS CONFLIT  Un RdP sans conflit est un réseau dans lequel chaque place a au plus une transition de sortie.  Un RdP avec conflit est un réseau qui possède donc une place avec au moins deux transitions de sorties.  Un conflit est noté: [Pi , {T1,T2,…,Tn}] ; avec T1,T2,…,Tn étant les transitions de sorties de la place Pi .  Exemple: 24 Le conflit est [P1 , {T1,T2}]
  25. CONFLIT  Une des caractéristiques importante des RdP de conditions et d’événements réside dans leur caractère non déterministe en cas de situation de conflit.  P1 et P2 en compétition pour accéder à une unité de stockage 25
  26. RDP À CAPACITÉS  Un RdP à capacités est un RdP dans lequel des capacités (nombres entiers strictement positifs) sont associées aux places.  Le franchissement d’une transition d’entrée d’une place Pi dont la capacité est cap(Pi) n’est possible que si le franchissement ne conduit pas à un nombre de jetons dans Pi qui est plus grand que Cap(Pi). 26
  27. EXEMPLE  Dans figure Fig.c le franchissement de T1 conduit à 3 jetons dans P2 d’où T1 ne peut pas être franchie 27
  28. RDP À PRIORITÉS  Dans un tel réseau si on atteint un marquage tel que plusieurs transitions sont franchissables, on doit franchir la transition qui a la plus grande priorité. 28
  29. EXEMPLES DE STRUCTURES –ACTIVITÉS 29
  30. EXEMPLE  Système décrivant 4 saisons.  S'il est printemps et l’événement "début d‘été" se produit, la saison change à l’été. Ensuite, si l‘événement "début de automne " se produit, la saison est automne, etc … 30
  31. EXEMPLE  L’évolution du système est représenté par l’évolution du marquage 31
  32. EXEMPLE: ASSEMBLAGE D'UN MOTEUR  L'assemblage d'un moteur est constitué de 3 opérations séquentielles, dans 3 ateliers différents :  Chaque moteur est posé sur une palette spéciale; il y en a 5 au départ  pose du bloc  pose du carter  test qualité 32
  33. ADDITION  Deux entiers naturels 33
  34. PLAN  Définition  RdP généralisé  RdP et algèbre linéaire  Propriétés d’un réseaux de Petri  RdP Temporisé 34
  35. RDP GÉNÉRALISÉ  Un RdP généralisé est un RdP dans lequel des poids (nombres entiers strictement positifs) sont associés aux arcs.  Si un arc ( Pi,Tj ) a un poids k : la transition Tj n'est franchie que si la place Pi possède au moins k jetons. Le franchissement consiste à retirer k jetons de la place Pi  Si un arc ( Tj,Pi ) a un poids k : le franchissement de la transition rajoute k jetons à la place Pi  Lorsque le poids n’est pas signalé, il est égal à 1 par défaut 35
  36. EXEMPLE 36
  37. 37
  38. EXEMPLE 38
  39. EXEMPLE  la réaction chimique connue : 2H2 + 02  2H20. 39 Après franchissement de t
  40. EXEMPLE  Dites si T1 est franchissable ou pas. Si oui dessiner le réseau après franchissement 40
  41. EXEMPLE 41
  42. EXEMPLE 1 42
  43. EXEMPLE 2 43
  44. PROPRIÉTÉ Tout réseau de Petri généralisé peut être transformé en RdP ordinaire.  Malheureusement ce type de transformation bien que possible engendre souvent une grande complexité. 44
  45. PLAN  Définition  RdP généralisé  RdP et algèbre linéaire  Propriétés d’un réseaux de Petri  RdP Temporisé 45
  46. RDP GÉNÉRALISÉ: DÉFINITION FORMELLE  R = (P, T, Pre, Post)  P : ensemble fini des places  T : ensemble fini des transitions  Pre : PxT -> N fonction d'incidence avant  Pre(p, t) contient la valeur entière « n » associée à l’arc allant de « p » à « t »  Post : PxT -> N fonction d'incidence arrière  Post(p, t) contient la valeur entière « n » associée à l’arc allant de « t » à « p » 46
  47. REPRÉSENTATION MATRICIELLE DE RDP  Pre: La matrice Pre définit la pré-condition (les contraintes pour que les transitions soient franchissables)  Post: la matrice Post définit la post-condition, c’est-`a-dire ce qui se passe après le franchissement. 47
  48. EXEMPLE 1 48
  49. EXEMPLE  Graphe d'accessibilité de S 49
  50. EXEMPLE 2  Trouver les matrices Pre et Post de ce réseau 50
  51. CONT.  Pre =  Post = 51
  52. TRANSITION SENSIBILISÉE  Une transition t d’un réseau de Pétri est sensibilisée pour un marquage M si et seulement si : Pre(p,t) 52
  53. TRANSITION TIRABLE  Définition: Dans un RdP, toute transition tirable « t » peut être tirée et son tir conduit à un nouveau marquage M’ définit par: For all p ∈ P, M’(p) = M(p) – Pré(p, t) + Post(p, t)  Définition (Matrice d'incidence): La matrice d’incidence d’un réseau, notée C, est définie par : for all p∈P, t∈T, C(p,t) = Post(p,t) – Pré(p,t)  Grâce à cette définition, on peut exprimer le calcul d’un nouveau marquage « M’ », à partir d’un marquage « M », s’obtient, suite au tir de la transition « t », en calculant, pour toute place « p » du réseau : M’ = M + C(p,t) 53
  54.  Trouvez le marquage après le franchissement de t1 en utilisant les matrices d'incidences 54
  55. 55
  56. VECTEUR CARACTÉRISTIQUE  est le vecteur caractéristique de la séquence de transitions s = t1t2…..tn  (t) donne le nombre d'occurrences de la transition t dans s  : T  N  Exemple:  Soit la séquence t1t2t2t3t1  Le vecteur caractéristique est [221]T 56
  57. EQUATION FONDAMENTALE  L’équation fondamentale d’un marquage M’ à partir d’un marquage M  Où est le vecteur caractéristique de la séquence de transitions = t1t2…tn  Cette équation permet de calculer en une seule opération, sans parcourir le réseau, le marquage obtenu après le franchissement de la séquence complète.  Les résultats de l'équation fondamentale, même s'ils sont toujours calculables, n'ont de sens que si la séquence représentée par est effectivement réalisable. 57
  58. SÉQUENCE RÉPÉTITIVE  Une séquence est dite répétitive si à partir d’un marquage initial, on aboutit à un marquage final identique au marquage initial.  Montrer que la séquence S = T3T2T1 est répétitive 58
  59. 59
  60. TRANSITION GÉNÉRATRICE /CONSOMMATRICE/CONSERVATRICE 60
  61. PARALLÉLISME 61
  62. SYNCHRONISATION PAR RENDEZ VOUS  Le franchissement de la transition ne peut se faire que si la place P1 du processus 1 et la place P2 du processus 2 contiennent chacun au moins un jeton. 62
  63. SYNCHRONISATION PAR SIGNAL (SÉMAPHORE)  Si la place « signal » est marquée et la place « attente » ne l’est pas, cela signifie que le processus P1 a envoyé le signal mais le processus P2 ne l’a pas encore reçu.  Si, par contre, la place « signal » n’est pas marquée et que la place « attente » est marquée, cela signifie que le processus P2 est en attente du signal. 63
  64. SYNCHRONISATION PAR APPEL/RÉPONSE  Une variante du modèle précédent qui consiste à faire un signal d’appel provenant du processus P1 et un signal de réponse provenant du processus P2. 64
  65. REMARQUE  Comment compter le nombre de tir d'une transition  Que devons nous ajouter au graphe de réseau de Pétri pour le comptage 65
  66. EXCLUSION MUTUELLE  Système avec plusieurs processus partagent une même ressource  Le jeton dans la place P0 représente une ressource mise en commun entre le processus 1 et le processus 2.  Le franchissement de la transition T1 lors de l’évolution du processus 1 entraîne la “consommation” du jeton dans la place P0. La ressource que constitue ce jeton n’est alors plus disponible pour l’évolution du processus 2.  Exclusion mutuelle est garantie par l’utilisation exclusive du jeton de la place P0 par les processus P1 et P2. 66
  67. EXERCICE:  On veut modéliser l'accès à une base de données, avec les contraintes suivantes :  K "processus" qui tentent d'accéder à la BD soit pour lire, soit pour écrire.  Pas d'écritures simultanées sur les données.  Pas de lecture et écriture simultanées : risque d'incohérence des données lues.  Par contre, lectures possibles en parallèle.  Modélisez ce système en complétant le réseau de Petri suivant. 67
  68. 68 K processus, K=10 Nombre de verrous
  69. 69 K processus, K=10 Nombre de verrous
  70. PLAN  Définition  RdP généralisé  RdP et algèbre linéaire  Propriétés d’un réseaux de Petri  RdP Temporisé 70
  71. VIVACITÉ  Lors de l’évolution du système, si certaines transitions ne sont jamais franchies, cela indique que l’événement associé à la transition ne se produit pas et que le marquage d’une partie du RdP n’évolue pas. Cela indique que le sous système modélisé par cette partie ne fonctionnera pas.  Il y a donc un problème au niveau de la conception du système.  Il faut pouvoir détecter ce phénomène par l’analyse de propriétés du modèle RdP du système 71
  72. VIVACITÉ ….  Réseau vivant: chacune de ses transitions est vivante.  Transition Ti vivante: pour tout marquage M, il existe une séquence de franchissement (transitions) qui permettra de franchir Ti.  Exemple de réseau non vivant: transition T3 non vivante. 72
  73. VIVACITÉ  RdP vivant car T1 et T2 sont vivantes 73
  74. QUASI - VIVACITÉ  Une transition T est quasi vivante pour un marquage initial M0 s’il existe une séquence de franchissements à partir de M0 contenant T  Un RdP marqué est quasi vivant pour un marquage initial M0 si toutes ses transitions sont quasi vivantes pour ce marquage initial.  Ce RdP n’est pas vivant car T2 etT3 ne sont pas vivante  Ce Rdp est quasi-vivant 74
  75. BLOCAGE (DEADLOCK)  Un deadlock(blocage) est un marquage à partir duquel plus aucune transition n'est tirable. 75
  76. EXEMPLE 76
  77. RDP REINITIALISABLE ….  Réseau réinitialisable ou propre: pour chaque marquage, il existe une séquence de franchissement permettant de revenir dans l'état initial. 77
  78. 78
  79. RDP BORNÉ…..  Toutes ses places sont bornées  Place k bornée: nombre de jetons toujours inférieur à une borne k.  Réseau sauf(binaire) : k=1.  Exemple :  modélisation d'un stock à capacité limitée.  modélisation d'un fonctionnement de type automatisme logique .  Tester si le système logique est cohérent revient alors à vérifier que son modèle RdP est sauf. 79
  80. EXEMPLE  Remarque: les propriétés précédentes dépendent du marquage initial.  Exemple, pour le RdP suivant si le marquage initial était [0 N]T, ce RdP serait borné (N borné).  Propriété: Si un RdP marqué n’est pas borné pour le marquage initial M0 alors il n’est pas borné pour tout marquage initial tel que: M’0> M0. 80
  81. NON BORNÉ ET NEVER ENDING 81
  82. PLAN  Définition  RdP généralisé  RdP et algèbre linéaire  Propriétés d’un réseaux de Petri  RdP Temporisé 82
  83. TIMED PETRI NETS - RÉSEAUX DE PETRI TEMPORISÉS  Dans le modèle classique, les transitions sont activées sans tenir compte des contraintes temporelles comme les temporisations  Deux façons de modéliser la temporisation:  par une temporisation associée aux places  RdP P- temporisé: Timed Places Petri nets (TPPNs).  ou associée aux transitions  RdP T- temporisé: Timed Transitions Petri nets (TTPNs) 83
  84. RDP P- TEMPORISÉS  A chaque place P est associé une temporisation T, éventuellement nulle  T peut être constant ou variable  Principe de fonctionnement: lorsqu’un jeton est déposé dans une place P, ce jeton doit rester au moins pendant le temps T.  On dit que le jeton est indisponible pendant cette durée. Quand la temporisation T s’est écoulée, alors le jeton devient disponible 84
  85. EXEMPLE 85 Une temporisation d1 pour la place P1 et une temporisation d2 pour la place P2.
  86. CONT. 86
  87. TPTN VS. TTPN 87
  88. EQUIVALENCE 88
  89. RÉSEAU DE PETRI STOCHASTIQUE  Définition: Un réseau de Petri stochastique est un réseau de Petri dans lequel les temps de franchissement des transitions sont générés par des variables aléatoires de distributions données quelconques à support dans [0,∞).  Utilisation:  Permet de modéliser des tâches avec des temps d’exécution non déterministes  Possibilité de prendre en compte des pannes aléatoires 89
  90. SPN VERS CTMC  Le graphe d’accessibilité d’un SPN ressemble à une CTMC  Pour chaque marquage de graphe est associé un état de la CTMC  Pour chaque transition franchissable est associée un évenement de transition dans la CTMC 90
  91. EXEMPLE 1: SPN ET GRAPHE DE MARQUAGE  Stochastic Petri net (SPN) 91
  92. EXEMPLE SPN 92
  93. EXEMPLE: SPN AVEC CHOIX 93 Réseau de Petri: SPN CTMC Correspondante:
  94. EXEMPLE 2: 1 PROCESSEUR ET 1 MÉMOIRE 94
  95. 95
  96. 96
  97. EXEMPLE 2:1 PROCESSEUR ET 1 MÉMOIRE 97
  98. EXEMPLE 2: 2 PROCESSEURS ET 1 MÉMOIRE PARTAGÉE 98
  99. EXEMPLE 2: 2 PROCESSEURS ET 1 MÉMOIRE PARTAGÉE  Construire le graphe de marquage de ce réseau  Ecrire le générateur infinitisimal de la chaine de Markov correspondante 99
  100. 100
  101. 101
  102. TRANSITIONS IMMÉDIATES  Les transitions immédiates modélisent les évènements qui ont une durée d’exécution nulle  Lorsqu’elles sont franchies, elle sont franchies immédiatement et ont la priorité de franchissement sur toutes les autres transitions temporisées  Si deux ou plusieurs transitions immédiates puissent être franchies au même moment, une probabilité de franchissement de chacune de ces transitions doit être mentionnée sur le modèle 102
  103. GSPN  Generalised Stochastic Petri Nets (GSPN)  Réseau de Petri stochastique généralisé  Extension du formalisme SPN  Deux primitives sont nouveaux:  Les transitions immédiates  Le temps de franchissement des transitions non immédiates (temporisées) peut suivre des lois de probabilités autres que exponentielles 103
  104. TRANSITIONS IMMÉDIATES  Les transitions immédiates modélisent généralement les évènements:  Actions de contrôles qui prennent un temps négligeable d’exécution (e.g. accès à la mémoire partagée dans le modèle du multiprocesseur)  Actions de choix entre deux ou plusieurs alternatives. Cette actions sont généralement instantanées 104 T2 et T5: deux évènements d’accès à la mémoire Elles sont instantanées
  105. 105
  106. 106
  107. 107
  108. 108
  109. NB  L’évaluation des chaines de Markov peut devenir très complexe si la taille de la chaine est énorme  Les réseaux de Petri offrent des méthodes d’analyse plus riches pour des systèmes arbitraires  GSPN Generalized Stochastic Petri Nets: le délai des transitions peut être:  Déterministe égal à zero  Suit une loi exponentielle  Suit une loi aléatoire 109
  110. AUTRES EXTENSIONS  Réseaux de pétri colorées: Si on désire distinguer au sein d’un marquage d’une même place, des marques de types différents (cours M2 ….) 110