IFT 2251 Gnie Logiciel Spcification de Processus Concurrents



























- Slides: 27
IFT 2251 Génie Logiciel Spécification de Processus Concurrents Hiver 2002 Petko Valtchev © Petko Valtchev Université de Montréal Février 2002 1
Modélisation Réseaux de Petri (Introduction) Formalisme Graphique Objectif: Modéliser le comportement dynamique d’un système discret. Modèle opérationnel exprimant à la fois le flot de contrôle et le flot de données. Avantages: • Permet de considérer la structure du système et l’évolution du flot de données. • Permet de représenter les changements d’états et la causalité des événements que provoquent ces changements. • Modèle solidement assis sur des bases formelles. © Petko Valtchev Université de Montréal Février 2002 2
Modélisation Éléments d’un Réseaux Un réseau de Petri est composé: p 1. d’un ensemble fini de places 2. d’un ensemble fini de transitions t 3. d’un ensemble fini de flèches reliant - soit une place à une transition, - soit une transition à une place. © Petko Valtchev Université de Montréal Février 2002 3
Modélisation Étiquetage des Éléments • Chaque place est étiquetée par son nom. • Chaque transition est étiquetée par son nom. • Une flèche peut être étiquetée d’un nombre entier (>1) indiquant le nombre d’occurrence de cette flèche, c’est-à-dire, le nombre de jetons nécessaires pour que la flèche soit « activée » . S’il n’y a pas d’étiquette, l’occurrence est 1, par défaut. p 1 t 3 p 3 3 2 p 4 t 2 © Petko Valtchev p 6 Université de Montréal p 5 Février 2002 4
Modélisation Définition Formelle Un réseau de Petri est un quadruplet R = <P, T, Pre, Post> P est un ensemble fini de places, T est un ensemble fini de transitions, Pre : P x T N est l’application « place d’entrée » , Post : P x T N est l’application « place de sortie » . P= {p 1, p 2, p 3, p 4} ; T={t 1, t 2} p 1 t 1 2 p 2 t 2 p 3 © Petko Valtchev p 4 Université de Montréal Pre(p 1, t 1)= 2; Pre(p 2, t 1)=1 Pre(p 3, t 2)=1 Post(p 3, t 1)=1; Post(p 4, t 2)=1 Le reste: Post(pi, tj)=0 et Pre(pi, tj)=0 Février 2002 5
Modélisation Précisions Terminologique - Places d’entrée d’une transition t = places dont proviennent les flèches entrant de la transition. In(t) = {p P | Pre(p, t) > 0} Places de sortie d’une transition t = places vers lesquelles sont orientées les flèches qui sortent de la transition. - Out(t) = {p P | Post(p, t) > 0} p 1 In(t 1)= {p 1, p 2} In(t 2)= {p 3} t 1 2 p 2 t 2 p 3 © Petko Valtchev p 4 Université de Montréal Out(t 1)= {p 3} Out(t 2)= {p 4} Février 2002 6
Modélisation Réseau Marqué On définit l’état d’un réseau de Petri en plaçant des jetons dans ses places. Chaque état est caractérisé par un marquage indiquant le nombre de jetons contenus par chaque place. Un marquage = Affectation d’un entier non-négatif à chaque place. R est un réseau de Petri <P, T, Pre, Post> M est un marquage, cad une application Un réseau marqué est un couple N = <R, M> Marquage M(p 1)=3 M(p 2)=1 M(p 3)=1 M(p 4)=0 M(p 5)=0 M(p 6)=0 p 1 M : P N, M(p) est le nombre de jetons dans p P t 3 p 3 t 1 3 2 2 p 4 p 2 © Petko Valtchev t 2 Université de Montréal Février 2002 p 6 p 5 7
Modélisation Règles de Franchissement Une transition est dite « franchissable » si chacune de ses places d’entrée contient un nombre de jetons supérieur ou égal à celui indiqué sur la flèche correspondante. Une transition t est franchissable ssi p P, M(p) ³ Pre(p, t), ou alternativement, p In(t), M(p) ³ Pre(p, t), p 1 t 3 p 3 t 1 3 2 2 p 4 p 2 © Petko Valtchev p 5 t 2 Université de Montréal p 6 Février 2002 8
Modélisation Franchissement (suite) Une transition franchissable peut être franchie (ou tirée). Lorsqu’une transition est franchie, des jetons des places d’entrée sont déplacés vers les places de sortie. Le nombre exact des jetons retirées/rajoutées pour une place donnée correspond à l’étiquette sur la flèche correspondante. Le franchissement d’une transition franchissable t transforme le marquage initial M en le nouveau marquage M’ tel que: p P, M’(p) = M(p) – Pre(p, t) + Post(p, t) p 1 t 3 p 3 t 1 3 2 2 p 4 p 2 © Petko Valtchev p 5 t 2 Université de Montréal p 6 Février 2002 9
Modélisation Non-déterminisme Si plus d’une transition est franchissable, le choix de la transition à franchir est non-déterministe. t 2 ou t 3 ? p 1 t 3 p 3 t 1 3 2 2 p 4 p 2 © Petko Valtchev p 5 t 2 Université de Montréal p 6 Février 2002 10
Modélisation Séquence Franchissement Étant donnée un marquage initial d’un RP, une séquence de franchissement est une suite de transitions franchies dans l’ordre, l’une après l’autre. Cette séquence est dénotée par une chaîne de transitions <t 1, …, tn> telle que: t 1 est franchissable depuis le marquage initial t 2 est franchissable depuis le marquage obtenu par la tirée de t 1, etc. p 1 t 1 3 2 2 p 4 t 2 © Petko Valtchev Séquences de franchissement possibles: t 3 p 3 Université de Montréal p 6 p 5 Février 2002 <t 1, t 2> <t 1, t 3> <t 3, t 1> Mi <s> Mj 11
Modélisation Sémantique des Réseaux Un réseaux de Petri peut être interprété en termes de processus, d’actions et de ressources. • Les transitions servent à modéliser les actions des processus. • Les jetons représentent des ressources consommables. • Le franchissement d’une transition représente l’exécution d’une action (consommation & production de ressources). • Les flèches entrantes indiquent les conditions à satisfaire avant l’action (ressources nécessaires). Les flèches sortantes représentent les conditions à satisfaire après l’action (ressources à produire). • La présence d’un jeton marque la satisfaction, partielle ou totale, d’une condition (i. e. présence d’une ressource). © Petko Valtchev Université de Montréal Février 2002 12
Modélisation Producteur-Consommateur Un exemple concret (et simple!) de réseau de Petri. Objectif : Modéliser la coordination entre deux processus dont un est le producteur et l’autre le consommateur d’une ressource. 1. 2. 3. Le producteur produit un objet (item) et le dépose dans un tampon (bac), Le consommateur prend l’objet dans le bac et le « consomme » . Contrainte: avant que le consommateur ne puisse exécuter l’action « consommer » , le producteur doit avoir fini l’action « produire » . Utilité: 1. simulation de processus industriels (à de fins d’automatisation), 2. modélisation de traitement de données asynchrone. © Petko Valtchev Université de Montréal Février 2002 13
Modélisation Prod. -Cons. , le Réseau Consommateur: Producteur: • prendre • consommer • produire • déposer Prêt-à-produire Prêt-à-prendre bac produit dépose prend Prêt-à-consommer Prêt-à-déposer © Petko Valtchev consomme Université de Montréal Février 2002 14
Modélisation Modéliser la Concurrence Dans la réalité, les ressources doivent souvent être partagées. De plus, celles-ci ont leurs limites, c’est-à-dire qu’elles sont épuisables. p 1 p 2 p 9 t 1 t 2 p 3 p 4 t 3 Plus de jeton: -Famine? -Interblocage? t 4 p 5 2 p 6 2 t 5 p 7 © Petko Valtchev t 6 t 6 Université de Montréal p 8 Février 2002 15
Modélisation • • Concurrence Transitions concurrentes : un couple de transitions dont le franchissement de l’une n’empêche pas celui de l’autre (quel que soit le marquage). Un réseau de Petri modélise la concurrence comme un entrelacement nondéterministe: a || b = a. b V b. a p 1 p 2 p 9 t 1 p 3 t 2 p 4 t 4 p 5 © Petko Valtchev t 1 et t 2 sont concurrentes … mais pas t 3 et t 4 p 6 Université de Montréal Février 2002 16
Concurrence Modélisation l Structurelle vs Effective Concurrence structurelle: Deux transitions t 1 et t 2 sont concurrentes structurellement si elles n’ont aucune place d’entrée commune i. e. In(t 1) l In(t 2) = Concurrence effective: Deux transitions t 1 et t 2 sont concurrentes effectivement pour un marquage donnée M ssi elles sont concurrentes structurellement et sont franchissables i. e. In(t 1) In(t 2) = et p P, M(p) ³ Pre(p, t 1) et M(p) ³ Pre(p, t 2) © Petko Valtchev Université de Montréal Février 2002 17
Modélisation Conflit • Transitions conflictuelles : Ensemble de transitions franchissement de l’une empêche le franchissement de l’autre. p 1 Si on tire t 3, t 4 n’est plus franchissable p 9 t 1 dont le p 3 t 2 p 4 t 4 p 5 © Petko Valtchev Le choix entre t 3 et t 4 est non déterministe. t 3 et t 4 sont conflictuelles p 6 Université de Montréal Février 2002 18
Conflit Modélisation l Structurel vs Effectif Conflit structurel: Deux transitions t 1 et t 2 sont en conflit structurel si elles ont au moins une place d’entrée en commun i. e. In(t 1) l In(t 2) Conflit effectif: Deux transitions t 1 et t 2 sont en conflit effectif pour un marquage M ssi elles sont en conflit structurel et sont franchissables de façon exclusive i. e. In(t 1) In(t 2) p P, M(p) ³ Pre(p, t 1) et M(p) ³ Pre(p, t 2) et p P, M(p) < Pre(p, t 1) + Pre(p, t 2) © Petko Valtchev Université de Montréal Février 2002 19
Modélisation Situation de Famine « Famine (starvation) : Un processus (une partie du réseau) est en situation de famine s’il se voit refuser l’accès à une ressource pendant un temps indéfini. » • Le modèle des RP de base n’impose pas de politique pour résoudre les conflits et ordonnancer le franchissement des transitions. Il se peut donc qu’un processus soit privé, pendant une période indéfinie, d’une ressource, car la séquence des transitions franchies ne lui permet jamais de consommer cette ressource. p 1 p 9 t 1 p 3 t 2 p 4 t 3 Processus A t 4 p 6 p 5 © Petko Valtchev Université de Montréal Processus B <t 1, t 2, t 3, t 1, t 3, …> Séquence de franchissement non équitable. Processus B en famine! Février 2002 20
Modélisation Situation d’Interblocage « Interblocage (deadlock) : un RP est dit être en situation d’interblocage lorsque, dans un marquage donné M, aucune transition n’est franchissable. » Cas typique: Privation mutuelle Le processus A est arrêté car il a besoin d’une ressource détenue par B, alors que le processus B est arrêté car il a besoin d’une ressource détenue par A. p 1 p 2 p 3 t 1 © Petko Valtchev p 4 t 2 Université de Montréal Février 2002 21
Modélisation Interblocage p 1 M 0(p 1)=1 M 0(p 2)=1 M 0(p 9)=2 M 0(_)=0 p 2 p 9 t 1 t 2 p 3 p 4 t 3 t 4 <t 1, t 2, t 3, t 4> p 5 t 5 Mn(p 5)=1 Mn(p 6)=1 Mn(_) = 0 (exemple) p 7 p 6 2 2 t 6 t 7 t 8 p 8 Interblocage!! © Petko Valtchev Université de Montréal Février 2002 22
Modélisation Bonnes Propriétés des RP • K- borné: Un Rd. P est k-borné si le marquage de chaque place est toujours inférieur ou égal à k, quelle que soit la séquence de franchissement réalisée. • Vivant: Un Rd. P est vivant si pour toute transition et pour tout marquage accessible, il existe une séquence de franchissement permettant de franchir cette transition. N. B. Un RP vivant ne peut pas se retrouvé en situation d’interblocage. © Petko Valtchev Université de Montréal Février 2002 23
Modélisation K-Borné Réseau non borné © Petko Valtchev (exemple) Réseau 2 -borné Université de Montréal Février 2002 24
Modélisation t 1 p 2 p 1 Vivacité t 3 p 3 (exemple) p 1 t 1 p 2 t 4 t 2 Réseau vivant © Petko Valtchev Réseau non vivant Université de Montréal Février 2002 25
Modélisation • Réseaux de Petri, Bilan Bien adapté pour la modélisation de systèmes concurrents et/ou tempsréel. • • Possibilités intéressantes de vérification et d’évaluation des performances. • • Complexité Outils CASE pour développés, analyser et vérifier les modèle de réseaux de Petri. Lacunes: la version « classique» des Rd. P ne permet pas : • d’éviter les situations de famine, • de distinguer les données d’une place selon les valeurs de leurs attributs, • de prendre en compte les contraintes temporelles, • d’offrir une représentation à différents niveaux d’abstraction. © Petko Valtchev Université de Montréal Février 2002 26
Modélisation - Modèles Étendus de RP Il existe des modèles avancés de réseaux de Petri permettant d’étendre leur expressivité: • Réseaux de Petri avec politique d’ordonnancement : possibilité d’attacher des priorités aux transitions permettant de déterminer quelle transition tirée parmi toutes celles franchissables. • Réseaux de Petri hiérarchiques : partitionnement des grands réseaux de Petri de manière récursive. • Réseaux de Petri colorés : affectation de valeurs aux jetons. • Réseaux de Petri temporisés : ajout de contraintes temporelles au niveau des transitions. © Petko Valtchev Université de Montréal Février 2002 27