PETRI HMEE111virazel/COURS/M1 - HMEE111/HMEE111.pdf · INTRODUCTION Arnaud VIRAZEL virazel@lirmm.fr...

Post on 22-Jul-2020

4 views 0 download

Transcript of PETRI HMEE111virazel/COURS/M1 - HMEE111/HMEE111.pdf · INTRODUCTION Arnaud VIRAZEL virazel@lirmm.fr...

M1 EEA

PETRI HMEE111

virazel@lirmm.fr

1

HMEE111 - Réseau de Petri

INTRODUCTION

Arnaud VIRAZEL virazel@lirmm.fr

2

Réseau de Petri (RdP)

n  Thèse de Carl Adam Petri en 1962 n  Le formalisme des réseaux de Petri est

un outil permettant l’étude de systèmes dynamiques et discrets.

n  Il s’agit d’une représentation mathématique permettant la modélisation d’un système.

2

3

Réseau de Petri (RdP)

n  L’analyse d’un réseau de Petri peut révéler des caractéristiques importantes du système concernant sa structure et son comportement dynamique.

n  Les résultats de cette analyse sont utilisés pour évaluer le système et en permettre la modification et/ou l’amélioration le cas échéant.

4

Méthode générale

3

5

Vocabulaire

n  Modélisation n  abstraction d’un système réel

n  Événement n  Condition

6

Caractéristiques principales des réseaux de Petri

n  Distribution des états et des changements d’états dans le réseau

n  Dépendance et indépendance d’ensembles d’événements représentées explicitement (relations de causalité)

n  Représentation à différents niveaux d’abstractions

4

7

Caractéristiques principales des réseaux de Petri

n  Vérifications des propriétés possibles car basées sur un formalisme mathématique rigoureux

n  Modélisation simulable n  Représentation graphique

8

Introduction

n  Représentation de l’évolution d’un automate ou d’un processus séquentiel. n  Par les différentes étapes qu’il doit décrire au fil du

temps n  Par les conditions internes et externes qui

permettent de passer d’une étape pressente à une étape future.

5

9

Automates d’états finis n  Un automate fini est constitué d’une entrée, d’une

sortie, d’un ensemble d’états et de transitions étiquetées entre ces états.

n  Permet de décrire un système dont l’état évolue au cours du temps en fonction de l’état précédent et d’un signal d’entrée n  Modélisation de circuits logiques

n  Utilité : observation et vérification des propriétés n  Difficile de composer des sous-systèmes (par ex. en

parallèle)

10

Organigramme ou flowchart

n  Action dépend de l’état courant (compteur ordinal, variables,...)

n  Faiblesses : n  pas de séparation entre action et état n  pas de parallélisme

6

11

Concepts de base

n  Condition n  Une condition est un prédicat ou une

description logique d’un état du système. n  Une condition est vraie ou fausse. n  Un état du système peut être décrit comme

un ensemble de conditions.

12

Concepts de base

n  Événement n  Les événements sont des actions se

déroulant dans le système. n  Le déclenchement d’un événement dépend

de l’état du système.

7

13

Concepts de base

n  Déclenchement, précondition, postcondition n  Les conditions nécessaires au déclenchement d’un

événement sont les préconditions de l’événement. n  Lorsqu’un événement se produit, certaines de ses

préconditions peuvent cesser d’être vraies alors que d’autres conditions, appelées postconditions de l’événement deviennent vraies.

14

Exemple : Atelier de coupe de bois n  Conditions

n  La machine de coupe est au repos (c1) n  Une commande est en attente (c2) n  La commande est en cours de traitement (c3) n  La commande est terminée (c4)

n  Evénements n  Une commande arrive (e1) n  La machine débute la commande (e2) n  La machine termine la commande (e3) n  La commande est envoyée pour la livraison (e4)

8

15

Modélisation d’un système

n  Condition n  modélisée à l’aide d’une PLACE.

n  Événement n  modélisé à l’aide d’une TRANSITION.

16

Définition 1

n  On appelle Place la représentation d’une condition dans le fonctionnement d’un automate séquentiel.

n  Une place est représente par un cercle : Pi

n  L’activité ou la non-activité d’une place est représentée par des marqueurs (ou jetons) à l’intérieur des places.

9

17

Définition 2

n  On appelle Transition le tiret séparant des places successives

n  Une transition reçoit un arc orienté venant d’une place d’entrée

n  Une place de sortie reçoit un arc orienté issu d’une transition

18

Système événement-condition

n  Précondition d’une transition

n  Postcondition d’une transition

10

19

Système événement-condition

n  Satisfaction d’une condition n  modélisée à l’aide d’un JETON.

20

Définition 3

n  On appelle marquage la répartition, à un instant donné, des jetons dans les places du réseau. L’état initial du réseau est caractérisé par le marquage initial.

n  Un état de l’automate est un marquage, c’est à dire un ensemble de places marquées. n  Un marquage peut consister en un ou

plusieurs jetons.

11

21

Définition 4

n  Une transition est validée si la place d’entrée possède au moins un jeton

n  Une transition validée peut être tirée.

22

Déclenchement

n  tir ou franchissement d’une transition

12

23

Règle 1

n  Le tir d’une transition enlève un jeton de la place d’entrée et ajoute un jeton à la place de sortie

n  L’automate passe de l’étape (n − 1) à l’étape n

24

Règle 1

n  Le tir d’une transition enlève un jeton de la place d’entrée et ajoute un jeton à la place de sortie

n  L’automate passe de l’étape (n − 1) à l’étape n

13

25

Règle 2

n  On peut représenter l’état correspondant à la continuité de l’activité d’une étape. n  On peut avoir plusieurs étapes

simultanément actives.

n  Le nombre de jetons dans une place peut être supérieur à 1.

26

Règle 3

n  Une transition peut avoir plusieurs places de sorties, donc plusieurs arcs sortants.

n  Le tir de la transition ajoute un jeton à chaque place de sortie.

14

27

Règle 4

n  Une transition peut avoir plusieurs places d’entrées, donc plusieurs arcs entrants

n  La transition est validée si chaque place d’entrée possède au moins un jeton.

28

Règle 4

n  Le tir de la transition enlève un jeton à chaque place d’entrée et ajoute un jeton à (aux) place(s) de sortie(s).

15

29

Règle 5

n  Une place de sortie peut aussi être place d’entrée (ou réciproquement)

30

Règle 5

n  Il s’agit d’une place implicite qui n’est pas nécessaire mais qui peut être utilisée pour les besoins de la modélisation.

16

31

Règle 6

n  Si dans le réseau de Petri, plusieurs transitions sont valides, leur tir doit être successivement choisi n  séquentiel

32

Règle 6

n  exemple : Ti puis Tk ou Tk puis Ti

17

33

Règle 7

n  Si 2 ou plusieurs transitions peuvent être validées simultanément à partir d’une même place d’entrée (place partagée), il y a conflit (blocage) si la placé partagée ne possède qu’un jeton.

34

Règle 7

n  Il faut définir une règle de priorité.

n  C’est un réseau Libre choix.

18

35

Exemple - 1

n  Les quatre saisons n  Donner la modélisation représentant la

succession des saisons

36

Exemple - 2

n  Les philosophes (Dijkstra - 1971) n  Les philosophes pensent ou mangent. Pour

pouvoir manger, un philosophe doit saisir ses fourchettes gauche et droite. Lorsqu’il a terminé, il libère ses fourchettes. Il y a 5 philosophes.

1

HMEE111 - Réseau de Petri

PROPRIETES

Arnaud VIRAZEL virazel@lirmm.fr

2

Schémas de synchronisations élémentaires

n  Parallélisme ou concurrence

2

3

Schémas de synchronisations élémentaires

n  Synchronisation

4

Schémas de synchronisations élémentaires

n  Partage de ressource n  (exclusion mutuelle, conflit, ...)

3

5

Schémas de synchronisations élémentaires

n  Séquentialité et confusion

6

Exercice - 1

n  On veut modéliser la fabrication et l’assemblage d’un ensemble AB.

n  Il est composé de 2 pièces élémentaires A et B, que l’on fabrique à partir du même brut, et que l’on peint avant de les assembler.

n  La fabrication est lancée sur une commande.

4

7

Exercice - 1

n  Variante n  La cabine de peinture de A ne peut

contenir qu’une pièce à la fois. n  Celle de B peut en contenir deux à la fois . n  Ce sont donc des ressources à 1 ou 2

utilisateurs possibles

8

Exercice - 2 n  Ordonnancement de tâches (PERT) n  On définit six tâches dont les exécutions sont

conditionnées par les règles suivantes. n  Au départ, la tâche 1 est exécutable. Les tâches 2 et 3 ne peuvent

être exécutées qu'après la fin de la tâche 1 (attention, cela ne signifie pas que l'exécution de ces tâches commence immédiatement à la fin de la tâche 1, ni même qu'elles commencent simultanément).

n  La tâche 4 ne peut être exécutée qu'après la tâche 3, la tâche 5 après les tâches 2 et 4, et la tâche 6 après les tâches 4 et 5.

n  Enfin la tâche 1 ne peut être réexécutée qu'après la finde la tâche 2, la tâche 3 après les tâches 1 et 6, et le cycle recommence indéfiniment.

n  Remarque: Si une tâche j ne peut être exécutée quʼaprès la fin de la tâche i, et si i est exéctuée plusieurs fois et successivement sans exécution de j, alors j peut ensuite être exécutée une ou plusieurs fois successivement.

5

9

Propriétés des réseaux de Petri

n  Marquage n  Le marquage d’un RdP à un instant donné

est un vecteur colonne dont la valeur de la iiémé composante est le nombres de marques (jetons) dans la place Pi

10

Exemple n  Marquage initiale M0

0 1

1 2

6

11

Propriétés des réseaux de Petri

n  Marquage n  L’ensemble des marquages accessibles à

partir du M0 est l’ensemble des marquages obtenus à partir de M0 par franchissements successifs d’une ou plusieurs transition(s).

n  *M0

12

Définitions

n  Définition 1 n  Une transition est dite Quasi-vivante si

depuis le marquage initial cette transition peut être franchie au moins une fois.

n  Définition 2 n  Un RdP est dit Quasi-vivant si toutes ses

transitions sont Quasi-vivantes

7

13

Définitions

n  Définition 3 n  Un RdP est dit pseudo-vivant si depuis le

marquage initial, son évolution est telle qu’il existe au moins une transition qui puisse être franchie.

14

Exemple

8

15

Exemple

n  T1 et T2 sont tirables : n  le Rdp est pseudo-vivant

n  T3 n’est pas tirable : n  le RdP n’est pas quasi-vivant

Exemple

16

9

17

Définitions

n  Définition 4 n  Une transition est dite vivante si, depuis

le marquage initial et quelle que soit l’évolution du réseau, cette transition peut être franchie (peut être tirée par une séquence de franchissement quel que soit le marquage atteint).

18

Définitions

n  Définition 5 n  Un RdP est dit vivant, si à partir d’un

marquage initial, toutes les transitions peuvent être tirées par une séquence de franchissement quel que soit le marquage atteint.

n  Un RdP vivant est sans bloquage.

10

19

Exemple

20

Définitions

n  Définition 6 n  Une place est dite K-bornée si elle peut

accumuler à partir du marquage initial une quantité bornée k de jetons durant l’évolution du réseau.

n  Un RdP marqué ayant toutes ses places k bornées est appelé réseau k-borné

11

21

Définitions

n  Définition 7 n  Un RdP est dit sauf si à chaque instant

aucune place ne contient plus d’un seul jeton (1-borné).

22

Définitions

n  Définition 8 n  Un RdP est dit conforme s’il est à la fois

sauf et vivant n  1 seul jeton par place n  Toutes les transitions sont franchissable

12

23

Définitions

n  Définition 9 n  Un RdP est dit propre s’il est ré-

initialisable, c’est-à-dire s’il existe une évolution lui permettant de revenir au marquage initial.

24

Définitions

n  Définition 10 n  Un RdP est dit bien formé, s’il est à la

fois : borné, vivant, propre

n  Définition 11 n  On appelle marquage puits un marquage

à partir duquel il est impossible de faire évoluer un RdP, c’est-à-dire qu’aucune transition n’est tirable.

13

25

Définitions

n  Définition 12 n  Un RdP est sans blocage si aucun

marquage possible du réseau n’est un marquage puits

Exercice

26

14

27

Définitions

n  Définition 13 n  Un RdP est pur s’il ne contient aucune

transition ayant la même place en entrée et en sortie.

28

Définitions

n  Définition 14 n  On appelle un arc pondéré un arc affecté

d’une valeur pondérale représentant le nombre entier de jetons que peut transférer cet arc.

15

29

Exemples

n  Pour Valider une transition avec un arc pondéré, il faut au moins autant de jetons dans la place d’entrée que le poids de l’arc

30

Définitions

n  Définition 15 n  On appelle arc inhibiteur un arc qui en

absence de jeton dans la place d’entrée sensibilise la transition aval.

16

31

Exercice

n  Quelles sont les transitions tirables? Quelles seraient la distribution des jetons après le franchissement de chacune de ces transitions?

1

HMEE111 – Réseau de Petri

MODELISTAITON MATHEMATIQUE

Arnaud VIRAZEL virazel@lirmm.fr

2

Modélisation mathématique

n  Définition n  Un RdP est défini par l’ensemble des

places et des arcs orientés qui relient les places. Un RdP est un graphe orienté défini par le quadruplet :

R =< P, T, Pre,Post >

2

3

Modélisation mathématique

n  P est un ensemble fini de places n  P = {P1,P2, ...,Pn}

n  T est un ensemble fini de trans. n  T = {T1, T2, ..., Tm}

n  Une ensemble de places Précédentes et un ensemble de places Postérieures sont associés à chaque transition.

4

Modélisation mathématique

n  Pre est l’application des places précédentes : (PxT)

n  Post est l’application des places postérieures : (PxT)

n  La matrice d’incidence C d’un RdP est notée :

C = Post − Pre

3

5

Modélisation mathématique

n  Pre, Post et C sont des matrices avec n  Nombre des lignes = nombre des places n  Nombre des colonnes = nombre des

transitions

6

Exemple

n  Déterminer les matrices Pre, Post et C

4

7

Notations matricielle d’un RdP

n  On appelle réseau marqué le couple n  N =< R,M >

n  R réseau de Petri n  M le marquage initial du RdP

8

Exemple

n  Marquage initiale

M =

030

"

#

$ $ $

%

&

' ' '

5

9

RdP pur

n  Un RdP est pur si et seulement si

n  Donc le graphe ne comprend aucune boucle élémentaire

10

Exemple

n  Quelle est le RdP pur ?

a)

b)

6

11

Transition franchissable

n  Une transition t est franchissable si et seulement si

12

Franchissement d’une transition

n  Si t est franchissable pour le marquage M, le tir de t donne le nouveau marquage M’ tel que :

7

13

Exemple

n  Déterminer les matrices Pre et Post n  Déterminer si la réseau est pur n  Déterminer la(les) transition

franchissable n  Tirer la transition

14

Conflit et parallélisme

n  Conflit structurel : deux transitions t1 et t2 sont en conflit structurel si et seulement si elles ont au moins une place d’entrée en commun

8

15

Conflit et parallélisme

n  Conflit effectif : elles sont en conflit effectif pour un marquage M si et seulement si t1 et t2 sont en conflit structurel et que

16

Exemple

9

17

Conflit et parallélisme

n  Parallélisme structurel : deux transitions t1 et t2 sont parallèles structurellement si

n  Elles n’ont aucun place d’entrée commune

18

Conflit et parallélisme

n  Parallélisme effectif : deux transitions t1 et t2 sont parallèles pour un marquage donné si elles sont parallèles structurellement et

10

19

Séquence de franchissement

n  On dit que la séquence «ta;tb» est franchissable à partir de M0

20

Séquence de franchissement

n  On appelle S=a;a;b le vecteur caractéristique n  La dimension de S est égal au nombre des

transition de le RdP

11

21

Séquence de franchissement

n  Soit s le vecteur caractéristique.

n  Cette équation est appelée l’équation fondamentale d’un RdP.

22

Exercice

n  Considérons un système de gestion des ressources dans un petit aéroport. On dispose de 4 salles d’embarquement et de 3 passerelles. Pour les vols au départ, il faut d’abord réserver une salle d’embarquement libre (s.e.libre) pour exécuter l'événement début d’enregistrement (dEr) ce qui permet d’exécuter l’activité enregistrement (Er).

12

23

Exercice

n  Ensuite, tout en maintenant la salle d’embarquement réservée, pour réaliser l’événement début d’embarquement, il faut réserver une passerelle libre (p.libre). Cela permet d’exécuter l’activité embarquement (Eb).

24

Exercice

n  Enfin l’événement fin d’embarquement (fEb) entraîne la libération de la salle d’embarquement et de la passerelle. pour les vols à l’arrivée, il faut réserver une passerelle disponible pour l’événement début d’embarquement (dD) ce qui permet d’exécuter l’activité débarquement (D). L’événement (fD) termine cette activité en libérant la ressource passerelle.

13

Exercice

n  Déterminer : n  Post n  Pre n  M0 n  Conflits structurels et effectifs n  Parallélismes structurels et effectifs

25

1

HMEE111 – Réseau de Pétri

Analyse par Réduction

Arnaud VIRAZEL virazel@lirmm.fr

2

Analyse par réduction

n  Règle T1

2

3

Analyse par réduction

n  Règle T2

4

Analyse par réduction

n  Règle T3

3

5

Analyse par réduction

n  Règle T4

6

Analyse par réduction

n  Règle T5

4

7

Analyse par réduction

n  Règle T6

8

Analyse par réduction

n  Règle T7

5

9

Analyse par réduction

n  Règle T8

10

Exemple

6

11

Exercice

1

HMEE111 – Réseau de Pétri

Composante conservative et

Invariant linéaire de place

Arnaud VIRAZEL virazel@lirmm.fr

2

Composantes conservatives et répétitives stationnaires

n  On Considère le RdP suivant

2

3

Composantes conservatives et répétitives stationnaires

n  Pour le sous-réseau SR formé par n  les places 1 et 2 n  Les transitions a et b

M(1) + M(2) = 1

n  Quel que soit la séquence de franchissement à partir de M0

4

Composantes conservatives et répétitives stationnaires

n  Quel que soit le marquage initiale M0

M(1) + M(2) = M0(1) + M0(2) ∀ M accessible

3

5

Composantes conservatives et répétitives stationnaires

n  le sous réseau SR est appelé composante conservative

n  La forme linéaire M(1) + M(2) = 1 étant appelé invariant linéaire de place

6

Composantes conservatives et répétitives stationnaires

n  Pour le sous réseau SR2 formé par n  les places 2, 3 et 4 n  Les transitions a, b, c et d n  Déterminer l’invariant linéaire de place

4

7

Définition

n  L’invariant linéaire de place est une fonction linéaire du marquages des places dont la valeur est une constante n  Ne dépendant que du marquage initiale

8

Définition

n  F n  Vecteur colonne de pondération des places

n  FT x M(P) n  Représente une combinaison linéaire des

places

FT x M(P) = f1 * M(P1) + f2 * M(P2) + … + fn * M(Pn)

5

9

Définition

n  Eq. Fondamentale n  M’ = M + C x s

n  … en multipliant chaque terme par FT

n  FT x M’ = FT x M + FT x C x s

10

Définition

n  Si il existe F tel que FT x C = 0

n  Alors FT x M’ = FT x M

FT x M’ = K0

n  C’est indépendant de la séquence S

6

11

Définition

n  F est défini invariant n  FT x C est défini composante

conservative n  FT x M’ = FT x M correspond à l’invariant

linéaire de place

12

Définition

n  Si F1 et F2 sont des invariants alors n  α F1 + β F2 est aussi un invariant

n  Il existe des bases d’invariants

7

13

Conclusion

n  Si une composante conservative est telle que K0 = 0 n  Aucune des ses places n’est marquée dans M0 n  Elles restent vides quelque soit le marquage

n  C’est anormal. n  C’est probablement une erreur de

modélisation

14

Conclusion

n  Si une composante conservative est telle que K0 = 1 n  Il y a toujours une de ces places marquées d’un

jeton, et pas plus d’un jeton

n  Ces places sont booléenne (1-bornée) n  Si un RdP est tel que toutes ses places

appartiennent à des invariants de place avec K0 = 1 alors le RDP sauf

8

15

Définition

n  Eq. Fondamentale n  M’ = M + C x s

n  Si il existe s tel que n  C x s = 0

n  Alors n  M’ = M

n  S ramène au marquage M n  Si M = M0 alors le RdP est reinitialissable

16

Définition

n  S est définie Composante Stationnaire n  Si cette séquence est réellement

franchissable, alors il existe toujours une transition de cette ensemble franchissable