La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

© Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel Spécification de Processus Concurrents Hiver 2002 Petko Valtchev.

Présentations similaires


Présentation au sujet: "© Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel Spécification de Processus Concurrents Hiver 2002 Petko Valtchev."— Transcription de la présentation:

1 © Petko ValtchevUniversité de Montréal Février IFT 2251 Génie Logiciel Spécification de Processus Concurrents Hiver 2002 Petko Valtchev

2 © Petko ValtchevUniversité de Montréal Février Modélisation Réseaux de Petri (Introduction) Objectif : Modéliser le comportement dynamique dun 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. Formalisme Graphique

3 © Petko ValtchevUniversité de Montréal Février Modélisation Éléments dun Réseaux Un réseau de Petri est composé: 1.dun ensemble fini de places 2.dun ensemble fini de transitions 3.dun ensemble fini de flèches reliant - soit une place à une transition, - soit une transition à une place. p t

4 © Petko ValtchevUniversité de Montréal Février 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 dun nombre entier (>1) indiquant le nombre doccurrence de cette flèche, cest-à-dire, le nombre de jetons nécessaires pour que la flèche soit « activée ». Sil ny a pas détiquette, loccurrence est 1, par défaut. t1 p4 p3 p2 p1 p6 p5 t2 t3 2 3

5 © Petko ValtchevUniversité de Montréal Février Modélisation Définition Formelle P est un ensemble fini de places, T est un ensemble fini de transitions, Pre : P x T N est lapplication « place dentrée », Post : P x T N est lapplication « place de sortie ». P= {p1,p2,p3,p4} ; T={t1,t2} Pre(p1,t1)= 2; Pre(p2,t1)=1 Pre(p3,t2)=1 Post(p3,t1)=1; Post(p4,t2)=1 Le reste: Post(p i,t j )=0 et Pre(p i,t j )=0 Un réseau de Petri est un quadruplet R = t1 p3 p2 p1 p4 t2 2

6 © Petko ValtchevUniversité de Montréal Février Modélisation Précisions Terminologique Places dentrée dune transition t = places dont proviennent les flèches entrant de la transition. In(t) = {p P | Pre(p,t) > 0} - Places de sortie dune transition t = places vers lesquelles sont orientées les flèches qui sortent de la transition. - Out(t) = {p P | Post(p,t) > 0} t1 p3 p2 p1 p4 t2 2 In(t1)= {p1,p2} In(t2)= {p3} Out(t1)= {p3} Out(t2)= {p4}

7 © Petko ValtchevUniversité de Montréal Février Modélisation Réseau Marqué On définit létat dun 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 dun entier non-négatif à chaque place. t1 p4 p3 p2 p1 p6 t3 Marquage M(p1)=3 M(p2)=1 M(p3)=1 M(p4)=0 M(p5)=0 M(p6)=0 p5 t R est un réseau de Petri M est un marquage, cad une application M : P N, M(p) est le nombre de jetons dans p P Un réseau marqué est un couple N =

8 © Petko ValtchevUniversité de Montréal Février Modélisation Règles de Franchissement Une transition est dite « franchissable » si chacune de ses places dentrée contient un nombre de jetons supérieur ou égal à celui indiqué sur la flèche correspondante. t1 p4 p3 p2 p1 p6 t3 p5 t Une transition t est franchissable ssi p P, M(p) Pre(p,t), ou alternativement, p In(t), M(p) Pre(p,t),

9 © Petko ValtchevUniversité de Montréal Février Modélisation Franchissement (suite) Une transition franchissable peut être franchie (ou tirée). Lorsquune transition est franchie, des jetons des places dentré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. t1 p4 p3 p2 p1 p6 t3 p5 t Le franchissement dune 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)

10 © Petko ValtchevUniversité de Montréal Février Modélisation Non-déterminisme Si plus dune transition est franchissable, le choix de la transition à franchir est non-déterministe. t1 p4 p3 p2 p1 p6 t3 p5 t t2 ou t3 ?

11 © Petko ValtchevUniversité de Montréal Février Modélisation Séquence Franchissement Cette séquence est dénotée par une chaîne de transitions telle que: - t1 est franchissable depuis le marquage initial - t2 est franchissable depuis le marquage obtenu par la tirée de t1, - etc. t1 p4 p3 p2 p1 p6 t3 p5 t Séquences de franchissement possibles: M i M j Étant donnée un marquage initial dun RP, une séquence de franchissement est une suite de transitions franchies dans lordre, lune après lautre.

12 © Petko ValtchevUniversité de Montréal Février Modélisation Sémantique des Réseaux Un réseaux de Petri peut être interprété en termes de processus, dactions et de ressources. Les transitions servent à modéliser les actions des processus. Les jetons représentent des ressources consommables. Le franchissement dune transition représente lexécution dune action (consommation & production de ressources). Les flèches entrantes indiquent les conditions à satisfaire avant laction (ressources nécessaires). Les flèches sortantes représentent les conditions à satisfaire après laction (ressources à produire). La présence dun jeton marque la satisfaction, partielle ou totale, dune condition (i.e. présence dune ressource).

13 © Petko ValtchevUniversité de Montréal Février 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 lautre le consommateur dune ressource. Le producteur produit un objet (item) et le dépose dans un tampon (bac), Le consommateur prend lobjet dans le bac et le « consomme ». Contrainte: avant que le consommateur ne puisse exécuter laction « consommer », le producteur doit avoir fini laction « produire ». Utilité: simulation de processus industriels (à de fins dautomatisation), modélisation de traitement de données asynchrone.

14 © Petko ValtchevUniversité de Montréal Février Modélisation Prod.-Cons., le Réseau Prêt-à-produire Prêt-à-déposer dépose produit consomme prend Prêt-à-prendre Prêt-à-consommer bac Consommateur: prendre consommer Producteur: produire déposer

15 © Petko ValtchevUniversité de Montréal Février Modélisation Modéliser la Concurrence Dans la réalité, les ressources doivent souvent être partagées. De plus, celles-ci ont leurs limites, cest-à-dire quelles sont épuisables. t3 t6 t5 t1 t4 t6 t2 p1 p2 p4 p3 p5 p6 p7 p8 p9 2 2 Plus de jeton: -Famine? -Interblocage?

16 © Petko ValtchevUniversité de Montréal Février Modélisation Concurrence Transitions concurrentes : un couple de transitions dont le franchissement de lune nempêche pas celui de lautre (quel que soit le marquage). Un réseau de Petri modélise la concurrence comme un entrelacement non- déterministe: a || b = a.b V b.a t3 t1 t4 t2 p1 p2 p4 p3 p5 p9 p6 t1 et t2 sont concurrentes … mais pas t3 et t4

17 © Petko ValtchevUniversité de Montréal Février Modélisation Concurrence Structurelle vs Effective l Concurrence structurelle: Deux transitions t1 et t2 sont concurrentes structurellement si elles nont aucune place dentrée commune i.e. In(t1) In(t2) = l Concurrence effective: Deux transitions t1 et t2 sont concurrentes effectivement pour un marquage donnée M ssi elles sont concurrentes structurellement et sont franchissables i.e. In(t1) In(t2) = et p P, M(p) Pre(p,t1) et M(p) Pre(p,t2)

18 © Petko ValtchevUniversité de Montréal Février Modélisation Conflit Transitions conflictuelles : Ensemble de transitions dont le franchissement de lune empêche le franchissement de lautre. t3 t1 t4 t2 p1 p4 p3 p5 p9 p6 Si on tire t3, t4 nest plus franchissable Le choix entre t3 et t4 est non déterministe. t3 et t4 sont conflictuelles

19 © Petko ValtchevUniversité de Montréal Février Modélisation l Conflit structurel: Deux transitions t1 et t2 sont en conflit structurel si elles ont au moins une place dentrée en commun i.e. In(t1) In(t2) l Conflit effectif: Deux transitions t1 et t2 sont en conflit effectif pour un marquage M ssi elles sont en conflit structurel et sont franchissables de façon exclusive i.e. In(t1) In(t2) p P, M(p) Pre(p,t1) et M(p) Pre(p,t2) et p P, M(p) < Pre(p,t1) + Pre(p,t2) Conflit Structurel vs Effectif

20 © Petko ValtchevUniversité de Montréal Février Modélisation Situation de Famine Le modèle des RP de base nimpose pas de politique pour résoudre les conflits et ordonnancer le franchissement des transitions. Il se peut donc quun processus soit privé, pendant une période indéfinie, dune ressource, car la séquence des transitions franchies ne lui permet jamais de consommer cette ressource. t3 t1 t4 t2 p1 p4 p3 p5 p9 p6 Séquence de franchissement non équitable. Processus B en famine! Processus A Processus B « Famine ( starvation ) : Un processus (une partie du réseau) est en situation de famine sil se voit refuser laccès à une ressource pendant un temps indéfini. »

21 © Petko ValtchevUniversité de Montréal Février Modélisation Situation dInterblocage Cas typique: Privation mutuelle Le processus A est arrêté car il a besoin dune ressource détenue par B, alors que le processus B est arrêté car il a besoin dune ressource détenue par A. « Interblocage ( deadlock ) : un RP est dit être en situation dinterblocage lorsque, dans un marquage donné M, aucune transition nest franchissable. » t2 p4p3 t1 p2p1

22 © Petko ValtchevUniversité de Montréal Février Modélisation Interblocage (exemple) t3 t7 t5 t1 t4 t8 t6 t2 p1p2 p4 p3 p5 p6 p7 p8 p9 2 2 M 0 (p1)=1 M 0 (p2)=1 M 0 (p9)=2 M 0 (_)=0 M n (p5)=1 M n (p6)=1 M n (_) = 0 Interblocage!!

23 © Petko ValtchevUniversité de Montréal Février Modélisation Bonnes Propriétés des RP K- borné: Un RdP 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 RdP 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 dinterblocage.

24 © Petko ValtchevUniversité de Montréal Février Modélisation K-Borné (exemple) Réseau non bornéRéseau 2-borné

25 © Petko ValtchevUniversité de Montréal Février Modélisation Vivacité (exemple) Réseau vivant t2 p1 p2 t1 t2 t3 t4 p1 p2 p3 Réseau non vivant

26 © Petko ValtchevUniversité de Montréal Février Modélisation Réseaux de Petri, Bilan Bien adapté pour la modélisation de systèmes concurrents et/ou temps- réel. Possibilités intéressantes de vérification et dévaluation des performances. Outils CASE pour développés, analyser et vérifier les modèle de réseaux de Petri. Complexité Lacunes: la version « classique» des RdP ne permet pas : déviter les situations de famine, de distinguer les données dune place selon les valeurs de leurs attributs, de prendre en compte les contraintes temporelles, doffrir une représentation à différents niveaux dabstraction.

27 © Petko ValtchevUniversité de Montréal Février 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 dordonnancement : possibilité dattacher 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.


Télécharger ppt "© Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel Spécification de Processus Concurrents Hiver 2002 Petko Valtchev."

Présentations similaires


Annonces Google