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

Module d’Enseignement à Distance pour l’Architecture Logicielle

Présentations similaires


Présentation au sujet: "Module d’Enseignement à Distance pour l’Architecture Logicielle"— Transcription de la présentation:

1 Module d’Enseignement à Distance pour l’Architecture Logicielle
M.E.D.A.L. IUP-MIAGE 1ère année Les réseaux de PETRI (2) Module d’Enseignement à Distance pour l’Architecture Logicielle Diapositive n° 1 IUP MIAGE - Université de NANTES Alain VAILLY

2 IUP MIAGE - Université de NANTES
AVERTISSEMENT L’usage de ce document, sous quelque forme que ce soit (électronique, papier…), à titre personnel ou devant des étudiants, est autorisé et libre de droits, à la condition expresse qu’il soit conservé dans l’état (et notamment qu’il comporte la page de garde et cet avertissement). Tout autre usage, notamment commercial, toute diffusion via un serveur informatique, une liste de diffusion… est soumis à l’accord PRÉALABLE de son auteur. Ce document constitue un TOUT. Toute coupe, toute modification non autorisée par son auteur sera assimilée à une atteinte aux droits de l’auteur et poursuivie comme telle devant les tribunaux. Diapositive n° 2 IUP MIAGE - Université de NANTES Alain VAILLY

3 MEDAL Cours magistral Evaluation Références Contexte Exercices
Corrigés des exercices Etudes de cas Auto-évaluation Diapositive n° 3 IUP MIAGE - Université de NANTES Alain VAILLY

4 IUP MIAGE - Université de NANTES
M.E.D.A.L. informations fonctions PLAN comportements 1) Introduction 2) Notions de base Cours magistral 3) Utilisation des Réseaux de PETRI 4) Extensions intéressantes - le modèle E-A-P 5) Conclusion - le modèle relationnel - les réseaux de PETRI - les modèles de traitement de Merise Diapositive n° 4 IUP MIAGE - Université de NANTES Alain VAILLY

5 IUP MIAGE - Université de NANTES
M.E.D.A.L. Cours magistral 1) Introduction 4) Extensions intéressantes 2) Notions de base 4.1) Arcs inhibiteurs 4.2) Réseaux colorés 2.1) Arcs, places et transitions 2.2) Jetons, poids et marquages 2.3) Notions complémentaires 2.4) Dynamique des RdP 3) Utilisation des Réseaux de PETRI 3.1) Modélisation 3.1.1) Logique sous-jacente 3.1.2) Modélisation 3.1.3) Erreurs à éviter 3.2) Vérification de propriétés 3.2.1) Définitions complémentaires 3.2.2) Vérification de propriétés 3.2.3) A propos de l’équation d’état PLAN 5) Conclusion Diapositive n° 5 IUP MIAGE - Université de NANTES Alain VAILLY

6 IUP MIAGE - Université de NANTES
M.E.D.A.L. 1) Rappels Modèle comportemental, Formalisme basé sur quelques notions simples comme place, transition, arc, jeton, évolution du système reposant sur un moniteur d’exécution, qui sélectionne les transitions, consomme des jetons et en produit d’autres, Visualisation de cette évolution sous la forme d’un graphe des marquages accessibles. Diapositive n° 6 IUP MIAGE - Université de NANTES Alain VAILLY

7 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3) Utilisation des Réseaux de PETRI Les réseaux de PETRI sont un langage d’expression de la synchronisation de processus entre eux. Si l’on veut se servir correctement de cet outil, il faut en comprendre la logique. La modélisation en sera meilleure, à la condition toutefois d’éviter quelques erreurs. L’un des avantages de ce langage réside dans la possibilité de formalisation qu’il offre. Une fois « réduit » à des objets mathématiques, un RdP peut faire l’objet de calculs pour, par exemple, effectuer une vérification de propriétés. Diapositive n° 7 IUP MIAGE - Université de NANTES Alain VAILLY

8 M.E.D.A.L. 3.1) Modélisation 3.1.1) Logique sous-jacente La logique sous-jacente aux transitions est le ET. Les places en entrée d’une transition sont liées les unes aux autres par un ET : Pour déclencher T2, il faut un jeton dans la place P1 ET un jeton dans la place P3 un jeton dans la place P4. P1 P3 P4 T2 Diapositive n° 8 IUP MIAGE - Université de NANTES Alain VAILLY

9 M.E.D.A.L. 3.1) Modélisation 3.1.1) Logique sous-jacente De la même façon, les places en sortie d’une transition sont liées les unes aux autres par un ET. P1 T1 P3 Le déclenchement de T1 produit un jeton dans la place P1 ET un jeton dans la place P3. Diapositive n° 9 IUP MIAGE - Université de NANTES Alain VAILLY

10 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.1) Modélisation 3.1.1) Logique sous-jacente Il n’est pas possible de mettre en place un NON (ceci sera permis par les arcs inhibiteurs -voir paragraphe consacré aux extensions), ni en entrée, ni en sortie. Le OU ne peut pas se modéliser, ni en entrée ni en sortie (bien qu’un artifice puisse le laisser penser). Ceci sera également permis par une extension, la coloration des jetons et des transitions -voir paragraphe consacré aux extensions. Diapositive n° 10 IUP MIAGE - Université de NANTES Alain VAILLY

11 3.1) Modélisation M.E.D.A.L. Beurk !!
3.1.1) Logique sous-jacente Beurk !! Un jeton dans Px sera consommé par Ta OU par Tb, selon le choix du moniteur. Ta Px Tb Ce choix n’est pas bien visible sur le RdP. Diapositive n° 11 IUP MIAGE - Université de NANTES Alain VAILLY

12 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.1) Modélisation 3.1.1) Logique sous-jacente Beurk n° 2 !! Px Ta Py Pz Ta-bis Tout n’est cependant pas réglé, car il y a maintenant 1 ou 2 jetons dans Pz… et on ne peut pas faire la distinction entre les jetons qui viennent de Px (via Ta) et ceux qui viennent de Py (via Ta-bis). Diapositive n° 12 IUP MIAGE - Université de NANTES Alain VAILLY

13 M.E.D.A.L. 3.1.2) Modélisation ) Que faire avec les RdP ? Il y a plusieurs modélisations possibles d’un système : - description détaillée des processus mis en jeu, - description globale du système. plein de petits réseaux - transitions-puits, - transitions-sources. un gros réseau à synchroniser entre eux Diapositive n° 13 IUP MIAGE - Université de NANTES Alain VAILLY

14 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.1.2) Modélisation ) Quels sont les éléments ? Les éléments disponibles pour la modélisation sont en nombre restreint : - transitions, - préconditions, postconditions, - places, - traitements, - arcs, - connecteurs, - jetons. - événements (discrets, continus), - ressources. La technique qui consiste à associer traitements et transitions (les flèches bleues) nous paraît la plus « naturelle ». Diapositive n° 14 IUP MIAGE - Université de NANTES Alain VAILLY

15 IUP MIAGE - Université de NANTES
M.E.D.A.L. = traitements 3.1.2) Modélisation ) Comment faire ? avec les transitions On découpe les traitements en séquences ininterruptibles que l’on ordonne logiquement, puis on exprime les pré et postconditions. Préconditions de T1 T1 T1 est terminée = Postconditions de T1 PRINCIPE Préconditions de Tx Préconditions de T2 Tx T2 Postconditions de T2 Postconditions de Tx Diapositive n° 15 IUP MIAGE - Université de NANTES Alain VAILLY

16 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.1.2) Modélisation ) Comment faire ? avec les transitions Il existe une variante qui consiste à associer deux transitions à chaque traitement : Préconditions de T1 Début T1 T1 est commencée Fin de T1 Son défaut principal est de multiplier par deux le nombre de transitions nécessaires et de rajouter de nombreuses places. Fin T1 Postconditions de T1 Diapositive n° 16 IUP MIAGE - Université de NANTES Alain VAILLY

17 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.1.2) Modélisation ) Comment faire ? avec les transitions La seconde « technique » est préférable si l’on veut modéliser le fait que T1 est interruptible : Début T1 Préconditions de T1 T1 est commencée Fin de T1 Postconditions de T1 Fin T1 Demande arrêt de T1 Arrêt T1 T1 interrompu Diapositive n° 17 IUP MIAGE - Université de NANTES Alain VAILLY

18 M.E.D.A.L. = conditions, signaux, disponibilités de ressources 3.1.2) Modélisation ) Comment faire ? avec les places Les places vont usuellement servir à représenter des lieux de stockage des conditions de déclenchement, des signaux, des disponibilités de ressources. T4 Bulletins contrôlés Erreurs inexistantes Bulletins acceptés T6 T5 Bulletins rejetés Erreurs existantes Diapositive n° 18 IUP MIAGE - Université de NANTES Alain VAILLY

19 Vente par téléphone possible
M.E.D.A.L. 3.1.2) Modélisation ) Comment faire ? avec les jetons Les jetons correspondront aux ressources, aux signaux, ... T1 Vente par téléphone possible Demandes de billets Places disponibles Signaux Evénement stable Ressources Diapositive n° 19 IUP MIAGE - Université de NANTES Alain VAILLY

20 IUP MIAGE - Université de NANTES
M.E.D.A.L. Événement stable 3.1.2) Modélisation ) Comment faire ? avec les jetons Jusqu’à t1 - e, la place P1 est vide, ce qui empêche le franchissement de T1. En t1, un jeton y est placé par la transition-source T0. Il y restera indéfiniment. Il y a donc deux états, un avant t1 (pas de jeton en P1), un après (un jeton en P1). t1 T0 T1 P1 Diapositive n° 20 IUP MIAGE - Université de NANTES Alain VAILLY

21 IUP MIAGE - Université de NANTES
M.E.D.A.L. Événement stable 3.1.2) Modélisation ) Comment faire ? avec les jetons Jusqu’à t1 - e, la place P1 est vide, ce qui empêche le franchissement de T1. En t1, un jeton y est placé par la transition-source T0. Il y restera indéfiniment. Il y a donc deux états, un avant t1 (pas de jeton en P1), un après (un jeton en P1). t1 T0 T1 P1 Diapositive n° 21 IUP MIAGE - Université de NANTES Alain VAILLY

22 IUP MIAGE - Université de NANTES
M.E.D.A.L. Événement ponctuel 3.1.2) Modélisation ) Comment faire ? avec les jetons Jusqu’à t1 - e, la place P1 est vide, ce qui empêche le franchissement de T1. En t1, un jeton y est placé par la transition-source T0. Lorsque la transition T1 sera déclenchée (en t2), il sera consommé. Il y a donc un jeton entre t1 et t2 et aucun « ailleurs ». t1 T0 T1 P1 Diapositive n° 22 IUP MIAGE - Université de NANTES Alain VAILLY

23 IUP MIAGE - Université de NANTES
M.E.D.A.L. Événement ponctuel 3.1.2) Modélisation ) Comment faire ? avec les jetons Jusqu’à t1 - e, la place P1 est vide, ce qui empêche le franchissement de T1. En t1, un jeton y est placé par la transition-source T0. Lorsque la transition T1 sera déclenchée (en t2), il sera consommé. Il y a donc un jeton entre t1 et t2 et aucun « ailleurs ». t1 T0 T1 P1 Diapositive n° 23 IUP MIAGE - Université de NANTES Alain VAILLY

24 IUP MIAGE - Université de NANTES
M.E.D.A.L. Événement ponctuel 3.1.2) Modélisation ) Comment faire ? avec les jetons Jusqu’à t1 - e, la place P1 est vide, ce qui empêche le franchissement de T1. En t1, un jeton y est placé par la transition-source T0. Lorsque la transition T1 sera déclenchée (en t2), il sera consommé. Il y a donc un jeton entre t1 et t2 et aucun « ailleurs ». t1 t2 T0 T1 P1 Diapositive n° 24 IUP MIAGE - Université de NANTES Alain VAILLY

25 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.1) Modélisation 3.1.3) Erreurs à éviter Il y a plusieurs erreurs à éviter, hélas assez fréquentes (surtout si l’on ne fait pas appel à un outil de vérification). Les plus courantes sont les suivantes : e1 - confusion jeton-information, e2 - décomposition excessive, e3 - mélange de logiques, e4 - places non ré-amorcées, e5 - production sélective de jetons. Diapositive n° 25 IUP MIAGE - Université de NANTES Alain VAILLY

26 Vente par téléphone possible
M.E.D.A.L. 3.1) Modélisation 3.1.3) Erreurs à éviter e1 - confusion jeton-information Une des erreurs les plus fréquentes ! Nom du client T1 Vente par téléphone possible Demandes de billets Places disponibles Non ! Non ! Un jeton est une « variable » logique ; elle est vraie ou fausse. Le jeton est ou n’est pas ! N° place Prix place Diapositive n° 26 IUP MIAGE - Université de NANTES Alain VAILLY

27 pas terrible ! 3.1) Modélisation M.E.D.A.L.
3.1.3) Erreurs à éviter e2 - décomposition excessive P5 P1 T1 P2 P3 T2 P4 Opération 1 Opération 2 Opération 3 Opération 4 T3 Opération 5 P1 T1 P2 P3 Opération 1 Opération 2 Opération 3 Opération 4 Opération 5 mieux ! pas terrible ! Faut c’qui faut, rien de plus, rien de moins ! Diapositive n° 27 IUP MIAGE - Université de NANTES Alain VAILLY

28 3.1) Modélisation M.E.D.A.L. e2 - décomposition excessive
3.1.3) Erreurs à éviter e2 - décomposition excessive P5 P1 T1 P2 P3 T2 P4 Opération 1 Opération 2 Opération 3 Opération 4 Opération 5 ATTENTION, toutefois, à ne pas regrouper des traitements qui ne le sont pas ! T2 ne peut être regroupée avec T1 (du fait de P6) ; T3 ne peut être regroupée avec T2 (du fait de P7). P6 P7 T3 Diapositive n° 28 IUP MIAGE - Université de NANTES Alain VAILLY

29 pas simplifiable ! simplifiable ! 3.1) Modélisation M.E.D.A.L.
3.1.3) Erreurs à éviter e2 - décomposition excessive P5 P1 T1 P2 P3 T2 P4 Opération 1 Opération 2 Opération 3 Opération 4 T3 Opération 5 P5 P1 T1 P2 P3 T2 P4 Opération 1 Opération 2 Opération 3 Opération 4 Opération 5 P6 P7 pas simplifiable ! simplifiable ! T3 Diapositive n° 29 IUP MIAGE - Université de NANTES Alain VAILLY

30 3.1) Modélisation M.E.D.A.L. e3 - mélange de logiques
3.1.3) Erreurs à éviter e3 - mélange de logiques Modélisation du système Lorsque l’on définit un RdP, à un moment, on se pose la question de savoir si l’on modélise le système globalement ou bien comme un ensemble de composants interagissants. La réponse à cette question engage le concepteur pour « la vie ». Il faut savoir !! C ’est l’un ou l’autre, mais pas les deux !! Modélisation d’un composant du système Diapositive n° 30 IUP MIAGE - Université de NANTES Alain VAILLY

31 3.1) Modélisation M.E.D.A.L. e4 - places non ré-amorcées
3.1.3) Erreurs à éviter e4 - places non ré-amorcées P1 T1 P2 P3 T2 P4 T1 et T2 sont des transitions alternatives. Pour chaque jeton de P2, on peut déclencher T1 ou T2. P3 est une condition nécessaire à l’exécution de T1 et à celle de T2. [1, 3, 1, 1] C’est un drôle de fusil à un seul coup, vot’ truc, mon gars ! T1 T2 Diapositive n° 31 IUP MIAGE - Université de NANTES Alain VAILLY

32 3.1) Modélisation M.E.D.A.L. e4 - places non ré-amorcées
3.1.3) Erreurs à éviter e4 - places non ré-amorcées P2 T1 et T2 sont des transitions alternatives. P1 Pour chaque jeton de P2, on peut déclencher T1 ou T2. P3 P4 T1 T2 P3 est une condition nécessaire à l’exécution de T1 et à celle de T2. [1, 3, 1, 1] C’est un drôle de fusil à un seul coup, vot’ truc, mon gars ! T1 T2 [0, 2, 0, 1] Blocage !! Diapositive n° 32 IUP MIAGE - Université de NANTES Alain VAILLY

33 3.1) Modélisation M.E.D.A.L. e4 - places non ré-amorcées
3.1.3) Erreurs à éviter e4 - places non ré-amorcées P1 T1 P2 P3 T2 P4 Il faut donc ré-amorcer la place P3 … des deux côtés !! Ce « montage » ne permet toutefois pas de garantir l’exécution des deux transitions T1 et T2 dans de bonnes conditions. Ça ne marche toujours pas ... Cf vérification de propriétés Diapositive n° 33 IUP MIAGE - Université de NANTES Alain VAILLY

34 3.1) Modélisation M.E.D.A.L. e5 - production sélective de jetons
3.1.3) Erreurs à éviter e5 - production sélective de jetons La transition T1 est déclenchée si les conditions P1 et P2 sont vérifiées. A la suite du déclenchement, les conditions P3 ET P4 sont vérifiées (P3 l’est deux fois). La production sélective de jetons survient lorsqu’une logique de type OU est mise en place. Sa détection est assez simple. Il suffit de paraphraser chaque transition (on exprime sa signification en français). P1 P2 P4 P3 T1 2 Diapositive n° 34 IUP MIAGE - Université de NANTES Alain VAILLY

35 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2) Vérification de propriétés L’un des intérêts (le seul ?) de ce formalisme, Nécessite le recours à la formalisation (matrice d’incidence, séquence de franchissement, vecteur de comptage, équation d’état), Propriétés structurelles (structure du réseau) et/ou comportementales (évolution du réseau), Calculs à prendre « par le bon bout », faute de quoi les résultats peuvent être erronés. Diapositive n° 35 IUP MIAGE - Université de NANTES Alain VAILLY

36 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2.1) Définitions complémentaires ) Matrice d’incidence Un réseau peut être « réduit » à deux matrices, U+ et U-. Ces matrices sont des matrices dans lesquelles : U+ production - les lignes correspondent aux places du réseau, U- consommation - les colonnes correspondent aux transitions du réseau, - les éléments correspondent à l’effet du déclenchement des transitions sur les places. • O si pas d’effet pour U+ • W (Tj, Pi) si Pi  S (Tj) pour U- • W (Pi, Tj) si Pi  E (Tj) Diapositive n° 36 IUP MIAGE - Université de NANTES Alain VAILLY

37 3.2.1) Définitions complémentaires
M.E.D.A.L. 3.2.1) Définitions complémentaires ) Matrice d’incidence P1 T1 2 P2 P3 P4 P5 T2 U+ T1 T2 U- T1 T2 P1 1 P1 1 1 P2 P2 2 P3 1 P3 1 P4 P4 1 P5 2 P5 Ces matrices traduisent la structure et pas le marquage du réseau ! Diapositive n° 37 IUP MIAGE - Université de NANTES Alain VAILLY

38 U = U+ - U- 3.2.1) Définitions complémentaires M.E.D.A.L.
) Matrice d’incidence U+ T1 T2 U- T1 T2 P1 P2 P3 P4 P5 -2 +1 -1 +2 T1 T2 U P1 1 P1 1 1 P2 P2 2 P3 1 P3 1 P4 P4 1 P5 2 P5 La matrice d’incidence, U, est obtenue grâce à la formule suivante : U = U+ - U- Diapositive n° 38 IUP MIAGE - Université de NANTES Alain VAILLY

39 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2.1) Définitions complémentaires ) Matrice d’incidence RdP avec boucle P1 T1 2 P2 P3 P4 P5 T2 P1 P2 P3 P4 P5 -2 +1 -1 +2 T1 T2 U P1 T1 2 P2 P3 P4 P5 T2 * * Cette matrice d’incidence a un « point faible » : elle ne peut pas mettre en évidence une boucle. RdP sans boucle Diapositive n° 39 IUP MIAGE - Université de NANTES Alain VAILLY

40 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2.1) Définitions complémentaires ) Matrice d’incidence P1 P2 P3 P4 P5 1 2 T1 T2 U+ U- P1 T1 2 P2 P3 P4 P5 T2 * La seule façon de faire cette détection est de travailler avec les matrices U+ et U-. RdP sans boucle Diapositive n° 40 IUP MIAGE - Université de NANTES Alain VAILLY

41 * 3.2.1) Définitions complémentaires M.E.D.A.L.
) Matrice d’incidence RdP avec boucle P1 T1 2 P2 P3 P4 P5 T2 P1 P2 P3 P4 P5 1 2 T1 T2 U+ U- * La seule façon de faire cette détection est de travailler avec les matrices U+ et U-. Ces deux matrices U+ et U- différent d’un RdP à l’autre. Diapositive n° 41 IUP MIAGE - Université de NANTES Alain VAILLY

42 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2.1) Définitions complémentaires ) Séquence de franchissement Une séquence de franchissement est un chemin dans le graphe des marquages accessibles. <T1> [2, 5, 1, 4, 0] [2, 3, 2, 4, 0] T1 T2 [2, 1, 3, 4, 0] [1, 3, 1, 3, 2] [1, 5, 0, 3, 2] <T1, T1> <T2> <T2, T1> <T1, T2> Diapositive n° 42 IUP MIAGE - Université de NANTES Alain VAILLY

43 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2.1) Définitions complémentaires ) Vecteur de comptage Soit S une séquence de franchissement. On appelle vecteur de comptage de cette séquence, noté VS, le vecteur formé, pour chaque transition X, du nombre de fois où la transition X apparaît dans la séquence. S = <T1, T2, T2, T2, T4, T3> T = {T1, T2, T3, T4, T5, T6} VS = [1, 3, 1, 1, 0, 0] T6 T1 T2 T5 T3 T4 Diapositive n° 43 IUP MIAGE - Université de NANTES Alain VAILLY

44 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2.1) Définitions complémentaires ) Vecteur de comptage ATTENTION ! Ce vecteur ne fait que compter le nombre d’apparition des transitions. Il ne donne pas, comme la séquence, l’ordre dans lequel celles-ci ont lieu. T = {T1, T2, T3} V = [1, 2, 1] Le vecteur V ci-dessus est le vecteur de comptage de toutes les séquences de franchissement suivantes : <T1, T2, T3, T2> <T1, T3, T2, T2> <T3, T1, T2, T2> <T1, T2, T2, T3> <T3, T2, T2, T1> ... Diapositive n° 44 IUP MIAGE - Université de NANTES Alain VAILLY

45 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2.1) Définitions complémentaires ) Equation d’état L’équation d’état permet de calculer l’évolution du RdP. Elle est définie comme suit : Mt = M0t + U.VSt où Xt représente la transposée de X. M : marquage atteint après franchissement de la séquence S M0 : marquage initial avant franchissement U : matrice d’incidence VS : vecteur de comptage de la séquence Diapositive n° 45 IUP MIAGE - Université de NANTES Alain VAILLY

46 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2.1) Définitions complémentaires ) Equation d’état P1 T1 2 P2 P3 P4 P5 T2 2 5 1 4 M0t P1 P2 P3 P4 P5 -2 +1 -1 +2 T1 T2 U Quel est le marquage obtenu après franchissement de la séquence <T1, T1> ? S = <T1, T1> VS = [2, 0] Diapositive n° 46 IUP MIAGE - Université de NANTES Alain VAILLY

47 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2.1) Définitions complémentaires ) Equation d’état Mt = M0t + U.VSt 2 5 1 4 M0t P1 P2 P3 P4 P5 -2 +1 -1 +2 T1 T2 U 2 5 1 4 M0t 0x2 - 1x0 -2x2 + 0x0 1x2 - 1x0 0x2 + 2x0 2 VS + x = + Diapositive n° 47 IUP MIAGE - Université de NANTES Alain VAILLY

48 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2.1) Définitions complémentaires ) Equation d’état 2 5 1 4 M0t 2 5 1 4 M0t -4 2 0x2 - 1x0 -2x2 + 0x0 1x2 - 1x0 0x2 + 2x0 + = + Diapositive n° 48 IUP MIAGE - Université de NANTES Alain VAILLY

49 IUP MIAGE - Université de NANTES
M.E.D.A.L. [2, 5, 1, 4, 0] [2, 3, 2, 4, 0] T1 T2 [2, 1, 3, 4, 0] [1, 3, 1, 3, 2] [1, 5, 0, 3, 2] 3.2.1) Définitions complémentaires ) Equation d’état 2 5 1 4 M0t 2 1 3 4 Mt -4 2 + = Le marquage obtenu après franchissement de la séquence <T1, T1> est [2, 1, 3, 4, 0]. Diapositive n° 49 IUP MIAGE - Université de NANTES Alain VAILLY

50 3.2.2) Vérification de propriétés
M.E.D.A.L. 3.2.2) Vérification de propriétés ) Vivacité et blocage Soit R (M) l’ensemble des marquages qu’il est possible d’atteindre à partir d’un marquage M. Une transition T est vivante si :  M  R (M0),  M’  R (M), tel que T est franchissable pour M’ Intérêt : La fonction d’un logiciel qui permet de quitter proprement l’application (avec une sauvegarde, par exemple) doit être vivante. Diapositive n° 50 IUP MIAGE - Université de NANTES Alain VAILLY

51 3.2.2) Vérification de propriétés
M.E.D.A.L. 3.2.2) Vérification de propriétés ) Vivacité et blocage Un réseau dans lequel TOUTES les transitions sont vivantes est un réseau vivant. Inversement, si, à partir d’un marquage M, il est impossible de franchir une quelconque transition, nous dirons que ce marquage représente un blocage. Un réseau sera sans blocage si aucun marquage appartenant à R (M0) n’est blocage. RdP vivant = RdP sans blocage Diapositive n° 51 IUP MIAGE - Université de NANTES Alain VAILLY

52 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2.2) Vérification de propriétés ) Bornitude Une place d’un RdP sera k-bornée si le nombre de jetons contenus dans cette place ne dépasse jamais k, quelque soit le marquage atteignable à partir de M0. Un réseau est k-borné si toutes ses places sont k-bornées. Si k vaut 1, on parlera de réseau sain. Si le réseau est k-borné quelque soit le marquage initial, il sera dit structurellement borné. Diapositive n° 52 IUP MIAGE - Université de NANTES Alain VAILLY

53 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2.2) Vérification de propriétés ) Atteignabilité Un marquage M sera atteignable à partir d’un marquage initial M0 si l’équation d ’état Mt = M0t + U.Yt possède au moins une solution. Le vecteur Y est alors le vecteur de comptage de la séquence de franchissement séparant M0 et M. Diapositive n° 53 IUP MIAGE - Université de NANTES Alain VAILLY

54 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2.3) A propos de l’équation d’état L’équation d’état permet de calculer le marquage atteint après franchissement d’une séquence de transitions. Elle ne permet pas de dire que la séquence est franchissable !! P2 P5 P1 P4 P3 T1 T2 T3 T4 La séquence <T1, T2, T3> est franchissable, les séquences <T2, T1, T3>, <T3, T2, T1>, <T2, T3, T1> ne le sont pas ! Elles ont pourtant même vecteur de comptage. L’équation d’état donnera donc le même résultat pour les quatre. Diapositive n° 54 IUP MIAGE - Université de NANTES Alain VAILLY

55 IUP MIAGE - Université de NANTES
M.E.D.A.L. 3.2.3) A propos de l’équation d’état Le rôle de cette équation d’état est de matérialiser, en termes de jetons, l’évolution du RdP. Elle représente l’outil qui va permettre de calculer le résultat du franchissement de transitions. En tant que tel, elle est nécessaire. Il faut toutefois l’utiliser correctement, en pas à pas. M0 M1 M2 M3 Eq. Etat Pb Diapositive n° 55 IUP MIAGE - Université de NANTES Alain VAILLY

56 3.2.3) A propos de l’équation d’état
M.E.D.A.L. 3.2.3) A propos de l’équation d’état L’équation d’état peut signaler un non-franchissement. Une transition est franchissable s’il y a suffisamment de jetons dans chacune de ses places en entrée. La matrice d’incidence fournit le nombre de jetons produits par le déclenchement de chaque transition. L’équation d’état appliquée à une séquence réduite à une transition fournit le nombre de jetons qui restent après « exécution » de cette transition. Si ce nombre est négatif, alors la transition n’est pas franchissable. Diapositive n° 56 IUP MIAGE - Université de NANTES Alain VAILLY

57 3.2.3) A propos de l’équation d’état
M.E.D.A.L. 3.2.3) A propos de l’équation d’état S : séquence S1 := S T := first (S1) S1 := tail (S1) M0 := Minit M1 := équation état appliquée à < T > Tantque M1 ≥ 0 et S1 ≠ < > faire M0 := M1 Fintantque Si M1 < 0 alors arrêt processus -- la séquence S n’est pas franchissable sinon -- la séquence S est franchissable Finsi Minit : marquage initial aucun élément négatif Diapositive n° 57 IUP MIAGE - Université de NANTES Alain VAILLY

58 3.2.3) A propos de l’équation d’état
M.E.D.A.L. 3.2.3) A propos de l’équation d’état L’équation d’état peut également servir à autre chose. Il est possible de calculer le marquage initial nécessaire pour franchir une séquence donnée. Le travail se fait, dans ce cas-là, « à l’envers ». Mt = M0t + U.VSt données du pb - utilisation « normale » à partir de M0t, on calcule Mt. IMPORTANT - utilisation « inverse » à partir de Mt, on calcule une classe de M0t. Diapositive n° 58 IUP MIAGE - Université de NANTES Alain VAILLY

59 3.2.3) A propos de l’équation d’état
M.E.D.A.L. Pfutt !! Ca ne marchera jamais ... 3.2.3) A propos de l’équation d’état Prenons un exemple, pour illustrer ce travail « à l’envers ». P1 T1 2 P2 P3 P4 P5 T2 Le marquage Mf = [2, 5, 1, 4, 0] est le point d’arrivée. On veut calculer le marquage initial nécessaire pour franchir la séquence <T1, T2, T2> et obtenir le marquage ci-contre. On va se servir de l’équation d’état, en pas à pas, et en remontant. Diapositive n° 59 IUP MIAGE - Université de NANTES Alain VAILLY

60 3.2.3) A propos de l’équation d’état
M.E.D.A.L. 3.2.3) A propos de l’équation d’état Données de départ : Mf, S, Vs, U M0 M1 M2 Mf Eq. Etat Pb On va commencer par calculer M2, avec S = <T2>, Vs = [0, 1], Mf = [2, 5, 1, 4, 0] et M2 = [x, y, z, t, u]. Diapositive n° 60 IUP MIAGE - Université de NANTES Alain VAILLY

61 3.2.3) A propos de l’équation d’état
M.E.D.A.L. J’vous l’avais bien dit ! 3.2.3) A propos de l’équation d’état 2 5 1 4 Mft x y z t u M2t x y z t u M2t 0x0 - 1x1 -2x0 + 0x1 1x0 - 1x1 0x0 + 2x1 -1 2 = + = + x = 3 y = 5 Ce système d’équations donne le résultat suivant : z = 2 t = 5 La séquence <T1, T2, T2> ne peut pas fournir le marquage Mf = [2, 5, 1, 4, 0]. u = -2 Diapositive n° 61 IUP MIAGE - Université de NANTES Alain VAILLY

62 3.2.3) A propos de l’équation d’état
M.E.D.A.L. Là, d’accord ! 3.2.3) A propos de l’équation d’état Prenons un second exemple, en changeant le marquage final. Soit le nouveau marquage à atteindre : Mf = [2, 5, 1, 4, 5]. Ce système d’équations donne le résultat suivant : 2 5 1 4 Mft x y z t u M2t x y z t u M2t 0x0 - 1x1 -2x0 + 0x1 1x0 - 1x1 0x0 + 2x1 -1 2 x = 3 = + = + y = 5 z = 2 t = 5 u = 3 S = <T2> VS = [0, 1] Diapositive n° 62 IUP MIAGE - Université de NANTES Alain VAILLY

63 3.2.3) A propos de l’équation d’état
M.E.D.A.L. 3.2.3) A propos de l’équation d’état Pas arrière n° 2 Ce système d’équations donne le résultat suivant : 3 5 2 M2t x y z t u M1t x y z t u M1t 0x0 - 1x1 -2x0 + 0x1 1x0 - 1x1 0x0 + 2x1 -1 2 x = 4 = + = + y = 5 z = 3 t = 6 u = 1 S = <T2> VS = [0, 1] Diapositive n° 63 IUP MIAGE - Université de NANTES Alain VAILLY

64 3.2.3) A propos de l’équation d’état
M.E.D.A.L. 3.2.3) A propos de l’équation d’état Pas arrière n° 3 Ce système d’équations donne le résultat suivant : 4 5 3 6 1 M1t x y z t u M0t x y z t u M0t 0x1 - 1x0 -2x1 + 0x0 1x1 - 1x0 0x1 + 2x0 -2 1 x = 4 = + = + y = 7 z = 2 t = 6 u = 1 S = <T1> VS = [1, 0] Diapositive n° 64 IUP MIAGE - Université de NANTES Alain VAILLY

65 3.2.3) A propos de l’équation d’état
M.E.D.A.L. 3.2.3) A propos de l’équation d’état Avec un marquage [4, 7, 2, 6, 1], on peut franchir la séquence <T1, T2, T2> et obtenir le marquage [2, 5, 1, 4, 5]. Ce système d’équations donne le résultat suivant : [4, 7, 2, 6, 1] [4, 5, 3, 6, 1] T1 T2 [3, 5, 2, 5, 3] [2, 5, 1, 4, 5] x = 4 y = 7 z = 2 t = 6 u = 1 Diapositive n° 65 IUP MIAGE - Université de NANTES Alain VAILLY

66 3.2.3) A propos de l’équation d’état
M.E.D.A.L. Hé bé, si on change les règles, alors ... 3.2.3) A propos de l’équation d’état On peut aussi simplement souhaiter savoir ce qu’il faut comme marquage initial pour franchir cette séquence, sans se préoccuper du résultat final. Il faut alors se servir de l’équation d’état en la transformant légèrement, pour prendre en compte des inégalités. M0t ≥ Mt - U.VSt Le marquage final (ie. obtenu après franchissement) est au minimum nul, c’est-à-dire que les places sont au moins vides -il n’y a pas de jetons négatifs. On va « travailler » avec ce minimum. Diapositive n° 66 IUP MIAGE - Université de NANTES Alain VAILLY

67 3.2.3) A propos de l’équation d’état
M.E.D.A.L. 3.2.3) A propos de l’équation d’état Pas arrière n° 1 Ce système d’inéquations donne le résultat suivant : Mft x y z t u M2t x y z t u M2t 0x0 - 1x1 -2x0 + 0x1 1x0 - 1x1 0x0 + 2x1 -1 2 x ≥ 1 + = + y ≥ 0 z ≥ 1 t ≥ 1 u ≥ 0 S = <T2> VS = [0, 1] Diapositive n° 67 IUP MIAGE - Université de NANTES Alain VAILLY

68 3.2.3) A propos de l’équation d’état
M.E.D.A.L. 3.2.3) A propos de l’équation d’état Pas arrière n° 2 Ce système d’inéquations donne le résultat suivant : 1 M2t x y z t u M1t x y z t u M1t 0x0 - 1x1 -2x0 + 0x1 1x0 - 1x1 0x0 + 2x1 -1 2 x ≥ 2 + = + y ≥ 0 z ≥ 2 t ≥ 2 u ≥ 0 S = <T2> VS = [0, 1] Diapositive n° 68 IUP MIAGE - Université de NANTES Alain VAILLY

69 3.2.3) A propos de l’équation d’état
M.E.D.A.L. 3.2.3) A propos de l’équation d’état Pas arrière n° 3 Ce système d’inéquations donne le résultat suivant : 2 M1t x y z t u M0t x y z t u M0t 0x1 - 1x0 -2x1 + 0x0 1x1 - 1x0 0x1 + 2x0 -2 1 x ≥ 2 + = + y ≥ 2 z ≥ 1 t ≥ 2 u ≥ 0 S = <T1> VS = [1, 0] Diapositive n° 69 IUP MIAGE - Université de NANTES Alain VAILLY

70 3.2.3) A propos de l’équation d’état
M.E.D.A.L. 3.2.3) A propos de l’équation d’état Avec un marquage [x, y, z, t, u] vérifiant le système d’inéquations ci-contre, on peut franchir la séquence <T1, T2, T2>. Ce système d’inéquations donne le résultat suivant : x ≥ 2 [2, 2, 1, 2, 0] [2, 0, 2, 2, 0] T1 T2 [1, 0, 1, 1, 2] [0, 0, 0, 0, 4] y ≥ 2 z ≥ 1 t ≥ 2 u ≥ 0 valeurs supérieures aux valeurs attendues ! Diapositive n° 70 IUP MIAGE - Université de NANTES Alain VAILLY

71 IUP MIAGE - Université de NANTES
M.E.D.A.L. 4) Extensions intéressantes Il y a eu (il y a encore) de nombreuses extensions à la Théorie des Réseaux de PETRI. Dans le cadre de la conception des systèmes d’information, deux se révèlent particulièrement intéressantes : - les arcs inhibiteurs (ils permettent d’introduire une logique du NON dans les modèles) ; - les réseaux colorés (ils permettent, d’une certaine façon, d ’exprimer des OU). Ces extensions vont toutefois alourdir l’appareillage théorique nécessaire aux calculs. Diapositive n° 71 IUP MIAGE - Université de NANTES Alain VAILLY

72 4) Extensions intéressantes
M.E.D.A.L. 4) Extensions intéressantes 4.1) Arcs inhibiteurs Un arc inhibiteur relie une place à une transition, exclusivement. Il est associé à un poids de 0, en ce sens que la transition sera déclenchée si la place ne contient aucun jeton. Pour déclencher T2, il faut un jeton dans la place P1 ET un jeton dans la place P3 aucun jeton dans la place P4. P1 P3 P4 T2 Cet arc inhibiteur ne sert qu’en entrée des transitions. Diapositive n° 72 IUP MIAGE - Université de NANTES Alain VAILLY

73 4) Extensions intéressantes
M.E.D.A.L. 4) Extensions intéressantes 4.1) Arcs inhibiteurs Cette extension permet d’exprimer le NON : P1 P3 P2 T1 P4 T2 P5 T1 sera déclenchable tant que P2 ne contiendra pas de jeton. Le premier jeton qui y arrive bloquera T1 et rendra déclenchable T2. Diapositive n° 73 IUP MIAGE - Université de NANTES Alain VAILLY

74 IUP MIAGE - Université de NANTES
M.E.D.A.L. 4) Extensions intéressantes 4.2) Réseaux colorés La coloration d’un réseau agit sur les jetons (ils sont colorés, typés) et sur les transitions (elles sont également colorées). Transition T1 : P1 P3 P4 T1 Si un jeton rouge dans P1 et un jeton bleu dans P3 alors produire un jeton vert dans P4 finsi Si un jeton vert dans P1 et dans P3 alors produire un jeton bleu dans P4 Si un jeton rouge dans P1 et un jeton vert dans P3 alors produire un jeton rouge dans P4 Diapositive n° 74 IUP MIAGE - Université de NANTES Alain VAILLY

75 4) Extensions intéressantes
M.E.D.A.L. 4) Extensions intéressantes 4.2) Réseaux colorés Cette technique permet de créer des transitions plus complexes et, par la « bande », autorise des productions sélectives de jetons (et en particulier des OU). Le typage des jetons et des transitions oblige à modifier profondément l’appareillage formel du réseau. marquage initial {P, T, A, CP, CT, W+, W-, M0} P1 P3 P4 1 M0 poids en entrée poids en sortie places transitions ens. couleurs places ens. couleurs transitions arcs Diapositive n° 75 IUP MIAGE - Université de NANTES Alain VAILLY

76 IUP MIAGE - Université de NANTES
M.E.D.A.L. Place P1 : clients 3 couleurs rouge : bon client vert : nouveau client bleu : client « normal » 4) Extensions intéressantes 4.2) Réseaux colorés P1 P2 P3 T1 P4 Place P3 : commandes erronées pas de couleurs Place P4 : commandes correctes 3 couleurs rouge : commande OK bon client vert : commande OK client nouveau bleu : commande OK client « normal » Si un jeton noir dans P2 et un jeton bleu dans P1 alors produire un jeton dans P3 finsi Si un jeton vert dans P1 et un jeton rouge dans P2 alors produire un jeton vert dans P4 ... Place P2 : commandes 2 couleurs rouge : commande correcte noir : commande erronée Diapositive n° 76 IUP MIAGE - Université de NANTES Alain VAILLY

77 IUP MIAGE - Université de NANTES
M.E.D.A.L. 5) Conclusion - formalisme d’emploi relativement aisé, ayant fort peu d’éléments de base, - formalisme utilisé dans des domaines très différents, - formalisme à étendre (par arcs inhibiteurs et coloration) dans le cadre des systèmes d’information, - formalisme toutefois un peu « limité » pour représenter un logiciel, ce qui va pousser des chercheurs à proposer des améliorations (modèles de traitements de Merise), - formalisme ayant cependant un atout indéniable (son « arsenal » théorique), même pour un architecte logiciel. Diapositive n° 77 IUP MIAGE - Université de NANTES Alain VAILLY

78 Bibliographie (sommaire)
M.E.D.A.L. Bibliographie (sommaire) la référence :-) P. ANDRE, A. VAILLY, « Conception des systèmes d’information ; Panorama des méthodes et des techniques », Editions Ellipses, janvier 2001, ISBN X G. W. BRAMS, « Réseaux de PETRI : théorie et pratique », Editions MASSON, 1983 Pour compléter la formation ... Diapositive n° 78 IUP MIAGE - Université de NANTES Alain VAILLY

79 IUP MIAGE - Université de NANTES
M.E.D.A.L. Fin Diapositive n° 79 IUP MIAGE - Université de NANTES Alain VAILLY


Télécharger ppt "Module d’Enseignement à Distance pour l’Architecture Logicielle"

Présentations similaires


Annonces Google