Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMarc-Antoine Larrivée Modifié depuis plus de 8 années
1
© Petko ValtchevUniversité de Montréal Février 2002 1 IFT 2251 Génie Logiciel La Modélisation du Comportement Hiver 2002 Petko Valtchev
2
© Petko ValtchevUniversité de Montréal Février 2002 2 Modélisation Sommaire l L’activité de modélisation l Le début de la modélisation l La méthode d’analyse structurée
3
© Petko ValtchevUniversité de Montréal Février 2002 3 Modélisation Éléments du Modèle d’AS Modèle entité-association Diagramme de flot de données Diagramme état-transition Description des données Spécification des processus (PSPEC) Spécification du contrôle (CSPEC) Dictionnaire des données
4
© Petko ValtchevUniversité de Montréal Février 2002 4 Modélisation Sommaire l L’activité de modélisation l Le début de la modélisation l La méthode d’analyse structurée l Le modèle entité-association (E-A) l Les diagrammes de flot de données (DFD) l Les diagrammes d’état-transition (E-T) l Dictionnaire des données (DdD)
5
© Petko ValtchevUniversité de Montréal Février 2002 5 Modélisation Monde extérieur Application événementscomportement Modéliser le Comportement
6
© Petko ValtchevUniversité de Montréal Février 2002 6 Modélisation Diagramme d’État-Transition état nouvelétat évènement à l’origine de la transition action Notation
7
© Petko ValtchevUniversité de Montréal Février 2002 7 Modélisation Contrôle dans les DFD Souvent, il est plus naturel d’inclure des informations sur le comportement du système au niveau du modèle fonctionnel (le DFD). Pour chaque processus non primitif (quelque soit son niveau dans la décomposition hiérarchique du modèle), on peut définir une spécification du contrôle (CSPEC). Celle-ci décrit la manière d’activer les flots de données alternatifs dans la décomposition du processus en fonction des informations de contrôle (évènements externes et internes). Une CSPEC peut contenir: Un diagramme É-T, Une table état-transition, Une ou plusieurs tables de décision, Une table d’activation de processus.
8
© Petko ValtchevUniversité de Montréal Février 2002 8 Modélisation Extensions de Ward & Mellor Un DFD d’après Ward & Mellor modélise simultanément le flot de contrôle et des processus de contrôle (n’apparaît pas dans les DFD classiques). Les éléments du DFD étendu sont : les flots de données et les processus classiques, représentés par des flèches et par des cercles standard. les flots de données produites en temps continu; ils sont représentés par des flèches à tête double. les flots de contrôle sont représentés par des flèches pointillées. les processus qui ne sont destinés qu’à contrôler le système sont des processus de contrôle; ils sont représentés par des cercles en pointillés. Les processus de contrôle sont décrits par des spécifications de contrôle (CSPEC).
9
© Petko ValtchevUniversité de Montréal Février 2002 9 Modélisation Ward & Mellor (exemple) Observe PH Observe PH Maintient PH Maintient PH Contrôle PH Contrôle PH Change PH Change PH Source de PH Source de PH Valeur PH Ok On/Off Contrôle valve Arrêter Démarrer CSPEC: - diag. état-transition - table d’activation de processus …
10
© Petko ValtchevUniversité de Montréal Février 2002 10 Modélisation Un diagramme de flot de contrôle (CFD) est construit à partir d’un diagramme de flot de données (DFD). Il précise la manière dont les processus du DFD sont coordonnés. Les processus du DfD sont présents, alors que toutes les flèches indiquant les flots de données sont retirées. Le flot de contrôle est indiqué par une flèche en pointillés. Celle-ci peut être : étiquetée par l’événement ou l’information de contrôle dirigée ou issue d’un processus ou d’une CSPEC. Une spécification de contrôle est représentée par une barre verticale. Chaque barre verticale constitue une « fenêtre » sur la CSPEC. Les flèches de flot de contrôle n’indiquent pas d’activation/désactivation de processus. Ext. de Hatley & Pirbhai
11
© Petko ValtchevUniversité de Montréal Février 2002 11 Modélisation Hatley & Pirbhai (exemple) Lire entrée de l’opérateur Lire entrée de l’opérateur État de l’alimentation en papier (bourrage, vide) Démarrer/ Arrêter Alarme Plein Erreur de reproduction Afficher info utilisateur Afficher info utilisateur Diagnostiquer le problème Diagnostiquer le problème Faire les copies Faire les copies Recharger le bac à papier Recharger le bac à papier
12
© Petko ValtchevUniversité de Montréal Février 2002 12 Modélisation Sommaire l L’activité de modélisation l Le début de la modélisation l La méthode d’analyse structurée l Le modèle entité-association (E-A) l Les diagrammes de flot de données (DFD) l Les diagrammes d’état-transition (E-T) l Le dictionnaire des données (DdD)
13
© Petko ValtchevUniversité de Montréal Février 2002 13 Modélisation Dictionnaire des Données Le contenu des données que le système va recevoir, créer et/ou traiter est précisé sous la forme d’une grammaire quasi-formelle. Les informations de contrôle du système y sont également présente avec la totalité des valeurs qu’elles peuvent prendre. Le dictionnaire des données (DdD) représente un référentiel indiquant, entre autres où les données sont utilisées et comment elles sont utilisées. Il peut être rédigé manuellement, mais idéalement il est développé à l’aide d’un outil CASE « Dictionnaire des données : décrit la designation, la structure, le contenu et l’utilisation de l’ensemble des informations manipulées par le système. »
14
© Petko ValtchevUniversité de Montréal Février 2002 14 Modélisation Nom: Alias: Où il est utilisé: Comment il est utilisé: Description: Format: Le nom de base d’un élément des données, éventuellement composite. Autres noms pour l’élément de donnée. Processus qui utilise cet élément de donnée. Le rôle de l’élément de donnée, (entrée, sortie, lieu de dépôt, etc.) Une notation pour représenter le contenu de l’élément de donnée. Information spécifique à propos du type de donnée, ses valeurs d’initialisation, etc. Contenu du Dictionnaire
15
© Petko ValtchevUniversité de Montréal Février 2002 15 Modélisation Notation = + [ ] { } (... ) *... text...* n Interprétation est composé de et ou n répétitions de donnée optionnelle commentaire Notation
16
© Petko ValtchevUniversité de Montréal Février 2002 16 Modélisation Integrate d Office Phone System Integrate d Office Phone System Numéro de téléphone Nom: Alias: Où/Comment utilisé: Description: Format: telephone number phone number, number read-phone-number (input) display-phone-number (output) analyze-long-distance-calls (input) telephone no. = [ local extension | outside no. | 0 ] outside no. = 9 + [ service code | domestic no. ] service code = [ 211 | 411 | 611 | 911 ] domestic no. = ( ( 0 ) + area code ) + local number area code = *three numeral designator* Dans le dictionnaire : alphanumeric data Sortie système Dictionnaire (exemple)
17
© Petko ValtchevUniversité de Montréal Février 2002 17 Modélisation Document de spécification produit suite à l’analyse structurée La Spécification du Logiciel Intro: buts, objectifs, contexte. Modèle entité-relation. DFD (niveaux 0-n) & les PSPEC. Les CSPEC (diagrammes état-transition et tables d’activation de processus) Critères de validation. Dictionnaire des données.
18
© Petko ValtchevUniversité de Montréal Février 2002 18 Modélisation AS, Vue d’Ensemble Vue des données: Modèle entité-relation. Décrit la structure des données manipulées, c’est-à-dire les éléments et les relations entre eux. Vue des traitements: Diagramme de flot de données. Représente l’ensemble des fonctions (processus) du système de façon hiérarchique: ensemble de niveaux, dans le sens du détail croissant. Décrit la circulation des données dans le système. Ne permet pas cependant de décrire le comportement du système ni le contrôle de l’activation des processus. Vue du comportement (contrôle) : CSPEC (diagramme d’état- transition, table d’activation de processus, etc.) Décrit le comportement du système et la coordination des processus (conditions d’activation d’un processus, ordre d’activation, etc.).
19
© Petko ValtchevUniversité de Montréal Février 2002 19 IFT 2251 Génie Logiciel Spécification de Processus Concurrents Hiver 2002 Petko Valtchev
20
© Petko ValtchevUniversité de Montréal Février 2002 20 Modélisation Réseaux de Petri (Introduction) - Formalisme graphique… - Permet de modéliser le comportement dynamique d’un système discret. - 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 opérationnel exprimant à la fois le flot de contrôle et le flot de données. - Soutenu par des bases formelles.
21
© Petko ValtchevUniversité de Montréal Février 2002 21 Modélisation Éléments d’un Réseaux Un réseau de Petri est composé: 1.d’un ensemble fini de places 2.d’un ensemble fini de transitions 3.d’un ensemble fini de flèches reliant - soit une place à une transition, - soit une transition à une place. p t
22
© Petko ValtchevUniversité de Montréal Février 2002 22 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. t1 p4 p3 p2 p1 p6 p5 t2 t3 2 3
23
© Petko ValtchevUniversité de Montréal Février 2002 23 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 l’application « place d’entrée », Post : P x T N est l’application « 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
24
© Petko ValtchevUniversité de Montréal Février 2002 24 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} t1 p3 p2 p1 p4 t2 2 In(t1)= {p1,p2} In(t2)= {p3} Out(t1)= {p3} Out(t2)= {p4}
25
© Petko ValtchevUniversité de Montréal Février 2002 25 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. 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 t2 2 3 2 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 =
26
© Petko ValtchevUniversité de Montréal Février 2002 26 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. t1 p4 p3 p2 p1 p6 t3 p5 t2 2 3 2 Une transition t est franchissable ssi p P, M(p) Pre(p,t), ou alternativement, p In(t), M(p) Pre(p,t),
27
© Petko ValtchevUniversité de Montréal Février 2002 27 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. t1 p4 p3 p2 p1 p6 t3 p5 t2 2 3 2 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)
28
© Petko ValtchevUniversité de Montréal Février 2002 28 Modélisation Non-déterminisme Si plus d’une transition est franchissable, le choix de la transition à franchir est non-déterministe. t1 p4 p3 p2 p1 p6 t3 p5 t2 2 3 2 t2 ou t3 ?
29
© Petko ValtchevUniversité de Montréal Février 2002 29 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 t2 2 3 2 Séquences de franchissement possibles: M i M j Étant donnée un marquage initial d’un RdP, une séquence de franchissement est une suite de transitions franchies dans l’ordre, l’une après l’autre.
30
© Petko ValtchevUniversité de Montréal Février 2002 30 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).
31
© Petko ValtchevUniversité de Montréal Février 2002 31 Modélisation Réseau de Petri Exemple Producteur-Consommateur 1. Modélisez à l’aide d’un réseau de Petri l’exemple du producteur et du consommateur. - Le producteur produit un objet et le dépose dans un bac. - Le consommateur prend l’objet dans le bac et le consomme. l 2. Faire le graphe des marquages accessibles.
32
© Petko ValtchevUniversité de Montréal Février 2002 32 Modélisation Producteur-Consommateur Prêt-à-produire Prêt-à-déposer dépose produit bac Prêt-à-prendre Prêt-à-consommer consomme prend Consommateur Producteur
33
© Petko ValtchevUniversité de Montréal Février 2002 33 Modélisation Modéliser la Concurrence - La vie est dure… - On doit partager les ressources et celles-ci s’épuisent… t3 t6 t5 t1 t4 t6 t2 p1 p2 p4 p3 p5 p6 p7 p8 p9 2 2 -Famine? -Interblocage?
34
© Petko ValtchevUniversité de Montréal Février 2002 34 Modélisation Concurrence (structurelle effective) - Transitions concurrentes : Paire de transitions dont le franchissement de l’une n’empêche pas celui de l’autre (quel que soit le marquage). - N.b. Les 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
35
© Petko ValtchevUniversité de Montréal Février 2002 35 Modélisation Réseaux de Petri Concurrence (structurelle et effective) Concurrence structurelle: Deux transitions t1 et t2 sont concurrentes structurellement si elles n’ont aucune place d’entrée commune i.e. In(t1) In(t2) = { } 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 pour tout p P, M(p) Pre(p,t1) et M(p) Pre(p,t2)
36
© Petko ValtchevUniversité de Montréal Février 2002 36 Modélisation Conflit (structurel et effectif) - Transitions conflictuelles :Le franchissement de l’une des transitions empêche le franchissement de l’autre. t3 t1 t4 t2 p1 p4 p3 p5 p9 p6 Si on tire t3, t4 n’est plus franchissable Le choix entre t3 et t4 est non déterministe. t3 et t4 sont conflictuelles
37
© Petko ValtchevUniversité de Montréal Février 2002 37 Modélisation Conflit structurel: Deux transitions t1 et t2 sont en conflit structurel si elles ont au moins une place d’entrée en commun i.e. In(t1) In(t2) { } 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) { } pour tout p P, M(p) Pre(p,t1) et M(p) Pre(p,t2) il existe un p P, M(p) < Pre(p,t1) + Pre(p,t2) Réseaux de Petri Conflit (structurel et effectif)
38
© Petko ValtchevUniversité de Montréal Février 2002 38 Modélisation Situation de Famine 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 (i.e. une partie du réseau) soit privé, pendant une période indéfinie, d’une ressource dont il a besoin 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 s’il se voit refuser l’accès à une ressource pendant un temps indéfini. »
39
© Petko ValtchevUniversité de Montréal Février 2002 39 Modélisation Situation d’Interblocage Cas typique: Privation mutuelle Le processus A est arrêté car il a besoin d’une ressource détenue par B. Or le processus B est arrêté car il a besoin d’une ressource détenue par A… « Interblocage ( deadlock ) : un RP est dit être en situation d’interblocage lorsque, dans un marquage donné M, aucune transition n’est franchissable. » t2 p4p3 t1 p2p1
40
© Petko ValtchevUniversité de Montréal Février 2002 40 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!!
41
© Petko ValtchevUniversité de Montréal Février 2002 41 Modélisation Réseaux de Petri Bonnes propriétés - 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. Un RdP vivant garantit l’absence d’interblocage.
42
© Petko ValtchevUniversité de Montréal Février 2002 42 Modélisation K-Borné (exemple) Réseau non bornéRéseau 2-borné
43
© Petko ValtchevUniversité de Montréal Février 2002 43 Modélisation Vivacité (exemple) Réseau vivant t2 p1 p2 t1 t2 t3 t4 p1 p2 p3 Réseau non vivant
44
© Petko ValtchevUniversité de Montréal Février 2002 44 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 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.
45
© Petko ValtchevUniversité de Montréal Février 2002 45 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.
46
© Petko ValtchevUniversité de Montréal Février 2002 46 Modélisation Réseau de Petri Marquage strictement supérieur Un marquage M est strictement supérieur à un marquage M’ (et est noté M > M’) ssi pour tout p P, M(p) M’(p) et M = M’
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.