reseau de petri

23
Ecole Nationale d'Ingénieurs de Sfax 2003/04 Réseaux de Petri Cours de la classe Deuxieme Année Génie Electrique Options(Electronique ENT, Automatique AII) Mohamed Ben Messaoud, HDR, Maitre de Conférence à l'ENIS

Upload: fadhil-mezghani

Post on 02-Aug-2015

254 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Reseau de Petri

Ecole Nationale d'Ingénieurs de Sfax

2003/04

Réseaux de Petri

Cours de la classe Deuxieme Année Génie Electrique

Options(Electronique ENT, Automatique AII)

Mohamed Ben Messaoud, HDR, Maitre de Conférence à l'ENIS

Page 2: Reseau de Petri

Table des Matières Réseaux de Petri .....................................................................................................................�

Introduction........................................................................................................................�

Définition d'un réseau de Petri ............................................................................................�

Concepts et définitions .......................................................................................................�

Marquage d'un RdP ............................................................................................................�

Représentation matricielle d'un RdP ...................................................................................�

Classes des Réseaux de Petri...............................................................................................�

Animation du graphe ..........................................................................................................�

Equation fondamentale de franchissement ..........................................................................�

Dynamique des réseaux de Petri .........................................................................................�

Graphes de marquage ou graphe d'accessibilité...................................................................�

Analyse des propriétés par le Graphe de marquage .............................................................�

Analyse des RdPs par le symbole ω (graphe de couverture) ..............................................��

Application des RdPs........................................................................................................��

Du réseau de Petri au Grafcet............................................................................................�� Exercices……………………………………………………………………………… �

Page 3: Reseau de Petri

Principes des Réseaux de Petri

Terminologie: Le réseau de Petri (RdP) ou Petri Net en terme anglo-saxon.

Introduction Le réseau de Petri est crée par Carl Adam Petri (thèse de 1962) afin de modéliser le composition et la communication entre automates. C'est une représentation graphique.

Le premier modèle appelé RdP C-E (condition- événement) reposait sur l'utilisation des valeurs booléennes (Vrais ou Faux).

Les RdP P-T (place –transition) généralisent les RdP C-E en manipulant des valeurs entières.

Les trois familles de RdP sont:

- RdP discret (RdP P-T et ses drivées), pour modéliser les comportements se représentant par des graphes d'états finis.

- RdP continu (RdP temporelle RdP T), pour les comportements qui nécessitent la prise en considération des temps.

- RdP stochastique (RdP S et ses dérivés), on inclue des distributions de franchissement et conduisent à des processus stochastiques (exemple chaîne de Markov).

Définition d'un réseau de Petri Un réseau de Petri est un outil mathématique très général permettant de modéliser le comportement d'un système dynamique à événement discret. C'est un modèle graphique défini par:

������������������� ��������������������������������������������������������������������������������������

������������������������� ��������������������������������������������������������������������������������

������������������ ��������������������������������������������������������������������������

����������������������������������������������������������

� ������������������� ���������������������

Exemple 1

�!������"�

��������������" ���������������������������������������������������#����������������������������������������������������������� ����������$���� �������������������������������

Page 4: Reseau de Petri

Exemple 2: Appel d'offre auprès de plusieurs sociétés.

�!������%�

�"&����������������������%&�'�������������������������(&�'�����������������)&��������������������*&���������������������+&�������������������

,"&�������������-����������������.�,%&�����������������������-��������.�,(&���������������������������-��������.�,)&�����$��������������-�$�������.�

Concepts et définitions Formellement, un RdP est un quadruplet, PN = (P, T, Pré, Post) où;

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

� = {T1, T2, ..., Tm} est un ensemble fini de transitions,

Pré : � x � → � , (précède) une application d'incidence avant ou Pré(P,T) qui contient la valeur entière ""n" associée à l'arc allant de "P" à "T".

Post : � x � → � , (suivante) une application d'incidence arrière ou Post(P,T) qui contient la valeur entière ""n" associée à l'arc allant de "T" à "P".

Càd "P" est une place d'entrée de la transition "T" si Pré(P,T) > 0.

Exemple 3: Partage d'une ressource par RdP.

�!������(�

� = {P1, P2, P3, P4} � = {T1, T2, T3, T4} Pré(P1,T2)=0 Pré(P1,T1)=1 Post(P5,T3)=1�

Marquage d'un RdP Pour définir l'état d'un système modélisé par un RdP, on doit le compléter par un marquage.

La distribution des jetons dans le graphe donne le marquage. Un marquage se définit par un vecteur M={mi} , avec mi est le nombre de jetons dans Pi.

Dans l'Exemple 1, Mo=[2 3 0 0 0]

Dans l'Exemple 3, Mo=[1 0 11 0]

Page 5: Reseau de Petri

Représentation matricielle d'un RdP Deux matrices Pré et Post sont construites pour représenter un RdP; les colonnes et les lignes représentent respectivement les places et les transitions.

L'intersection (i,j) dans Pré coût associé à l'arde Pi à Tj.

L'intersection (i,j) dans Post coût associé à l'arde Ti à Pj.

Exemple 4 (figure 3)

T1 T2 T3 T4 T1 T2 T3 T4

P1 1 0 0 0 P1 0 1 0 0

P2 0 1 0 0 P2 1 0 0 0

P3 1 0 1 0 P3 0 1 0 1

P4 0 0 1 0 P4 0 0 0 1

P5 0 0 0 1

P5 0 0 1 0

Matrice Pré Matrice Post

Exemple 5

Soit le RdP valué de la figure 4, de marquage initiale Mo=(2 3).

Déterminer les matrices de connections Pré et Post.

T1 T2 T3 T1 T2 T3

P1 2 1 0 P1 5 0 1

P2 0 6 4 P2 7 3 0

Matrice Pré Figure 4 Matrice Post

Classes des Réseaux de Petri

RdP ordinaire: si les poids de tous les arcs sont unitaires (=1).

RdP à arc étiquetés: chaque arc porte les jetons qui le traverse lors d'un tri de transition

Page 6: Reseau de Petri

RdP interprété: chaque transition porte un prédicat des variables d'entrée.

RdP temporisé: on intègre au RdP la variable temps.

Synchronisation: c'est la conjonction de deux places.

Graphe d'événement: c'est un RdP dans lequel chaque place a exactement une transition d'entrée et une transition de sortie.

, 1p P p p∀ ∈ • = • =

•p indique la transition avant p et p• indique la transition après p.

le graphe d'evt peut modéliser la synchronisation (ET, conjonction) et non le conflit (OU, disjonction).

Machine d'état: c'est un RdP dans lequel chaque transition a exactement une place d'entrée et une place de sortie.

, 1t T t t∀ ∈ • = • =

•t indique la place avant t et t• indique la place après t.

la machine d'état peut modéliser le conflit (OU, disjonction) et non la synchronisation (ET, conjonction).

Réseau à choix libre: c'est un RdP dans lequel un arc d'origine d'une place est le seul arc qui sort de cette place OU il est le seul arc qui entre dans une transition (on impose ce qui sort du p uniquement).

{ }{ }

, ,

j i j j i

i j

T T P T T P

ou P T

∀ ∈ ∀ ∈• • =

• =

on est libre de faire un choix.

Page 7: Reseau de Petri

Autres RdP: Réseau à choix libre étendu; à choix asymétrique etc…

Animation du graphe

Sensibilisation d'une transition

Pour un marquage M, une transition est dite tirable (ou franchissable ou sensibilisée) ssi

, ( ) Pr ( , )p P on a M p é p t∀ ∈ ≥

Càd, pour toute place pi entrée de tj, le nombre de jetons dans pi (M(pi)) est supérieur ou égal au poids de l'arc allant de pi à tj.

Notation

"t" tirable depuis M, se note "M [ t >".

Le tir de "t" depuis "M1" donnant le nouveau marquage "M2" se note "M1 [ t > M2".

Remarque

• Il n'y a pas, à priori, conservation du nombre de jetons dans un graphe.

• Dans un RdP, toute transition tirable "t", peut être tirée, et son tir conduit à un nouveau marquage M' défini par:

, '( ) ( ) Pr ( , ) ( , )p P M p M p é p t Post p t∀ ∈ = − +

Exemple 6

A partir de Mo de la figure 4, on tire t1, le nouveau marquage M sera:

Mo[t1>M, 1 1

2 2 1 0 5 0 1 5 0 0

3 0 6 4 7 3 0 100 0

M� � � �

� � � � � � � �� � � �= − + =� � � � � � � �� � � �� � � � � � � �� � � �� � � �

Matrice d'incidence

C'est une matrice notée "C", définie par:

, , ( , ) ( , ) - Pr ( , )p P t T C p t Post p t é p t∀ ∈ ∀ ∈ =

D'où M(p)=Mo(p) + C(p,t)

Exemple 7

Même donnée que l'exemple 6.

3 -1 1

7 -3 -4C Post - Pré

� �= = � �

� �, et

12 3 -1 1 5

03 7 -3 -4 10

0M

� �� � � � � �� �= + =� � � � � �� �� � � � � �� �� �

Page 8: Reseau de Petri

Equation fondamentale de franchissement Etant donnée une situation où: M0[t1>M1; M1[t2>M2; ….; Mn[tn+1>M';

L'équation fondamentale de franchissement est M'=Mo+C.S

S étant le vecteur caractéristique de franchissement des transitions, S=t1 t2 … tn+1

L'élément iS(t ) donne le nombre d'occurrence de la transition "ti" dans la séquence "S".

On note le marquage après la séquence S: M0 [ S > M'.

Exemple 8

Calculer le nouveau marquage M' induit par le franchissement de la séquence S=t1 t2 t3 t1, dans le RdP de la figure 4.

0

2

3M

� �= � �� �

; 3 -1 1

7 -3 -4

C� �

= � �� �

et

211

S� �� �= � �� �� �

M' est donc 8

10� �� �� �

Dynamique des réseaux de Petri La dynamique d'un réseau de Petri est décrite par les changements de marquage dans le RdP.

"Pour passer de M à M', on enlève des places d'entrée un nombre de jetons équivalent au poids de l'arc qui relie cette place à la transition tirée et on ajoute dans la place de sortie un nombre de jetons équivalent au poids de l'arc qui relie la transition tirée à cette place".

La dynamique est définie alors par:

1- { } '( ) ( )p t M p M p t∀ ∈ • = − •

Avec { } t• l'ensemble des places précédentes à t; t• indique le poids de l'arc qui relie p à t.

2- { } '( ) ( )p t M p M p t∀ ∈ • = + •

Avec { }t • l'ensemble des places suivantes à t; et t • indique le poids de l'arc qui relie t à p.

3- { }, '( ) ( )p t t M p M p∀ ∉ • • =

Cas d'un RdP interprété:

On a le tri d'une transition ssi:

Transition sensibilisée,

Prédicat vrai.

Exemple 9

Changement de marquage dans un RdP selon une séquence de tirage S=t1 t2.

Page 9: Reseau de Petri

t1

t2

M0=[1 0 0] M0=[0 1 2] M0=[1 0 1]

Exemple 10

Marquages successifs:

M0=[1 0 0 1]

M1=[0 1 0 1]

M2=[1 0 1 0]

M3=[0 1 1 0]

M1=[0 1 0 1]; le graphe contient une boucle.

Graphes de marquage ou graphe d'accessibilité L'évolution temporelle d'un RdP peut être décrite par un graphe de marquage représentant l'ensemble des marquages accessibles (ensemble des marquages accessibles et d'arcs correspondant aux franchissements des transitions) faisant passer d'un marquage à l'autre pour un marquage initial M0.

Graphe d'accessibilité

Un marquage Mj est accessible (ou atteignable) s’il existe une séquence de transitions S qui transforme le marquage en Mj.

Notation: A(R,Mo) représente l’ensemble des marquages accessibles à partir de Mo. L’accessibilité est une propriété de haut intérêt parce qu’il est souhaitable de savoir si un état peut être atteint ou non. Par exemple, dans une usine chimique, il est important de savoir s’il y a des états accessibles qui peuvent conduire à une explosion.

Arbre de recouvrement

Pour un RdP avec un marquage initia Mo, et un autre marquage M, il s'agit de déterminer s'il existe un marquage M' accessible, de telle sorte que M' � M (M' recouvre M).

Page 10: Reseau de Petri

L'arbre de recouvrement permet de détecter les transitions qui ne sont pas tirées, ou qui ne sont plus tirées à partir d'un certains niveau.

Exemple 11: RdP et son arbre de recouvrement.

Mo=[0 1 1 0 0] 2T→ [0 2 0 0 0] blocage.

↓ T1 [0 0 0 1 0]

↓ T4 [1 0 0 0 1]

↓ T3 [1 0 0 1 0]

↓ T4 [2 0 0 0 1] : croissance infinie

Le graphe d'accessibilité dépend de la condition initiale.

Exemple 12

Mo=[1 0 0]

Mo=[2 0 0]

Analyse des propriétés par le Graphe de marquage

Propriétés principales

RdP borné: quand le nombre des jetons dans les places ne dépasse pas un nombre K.

Si K=1, le RdP est dit SAIN (ou sauf).

Pour un réseau R et un marquage Mo, une place "p" est k-bornée ssi

( , ), ( )M A R Mo M p k∀ ∈ ≤

Dans le cas contraire la place "p" est dite "non-bornée".

Exemple 13

Dans le RdP de l'exemple 10, et d'après le graphe de marquage ci-dessous, le RdP est sauf.

Page 11: Reseau de Petri

RdP pseudo-vivant

Si à tout instant, il existe une transition sensibilisée.

Càd, ceci se traduit par une absence de blocage.

( , ), / [M A R Mo t T M t∀ ∈ ∃ ∈ > ; il existe tjs une transition qui puisse être franchie.

RdP quasi-Vivant

Si toutes ses transitions peuvent être franchies au moins une fois à partir d'un marquage initial Mo.

Remarque: la transition qui n'est pas quasi-vivant st inutile.

Exemple 14

Soit le RdP de la figure 5,

Figure 5.

Pour Mo=[1 0 0], T1 est tirable au moins une fois, T2 et T3 forme une boucle, donc il existe au moins une transition tirable donc le RdP est Quasi-vivant et Pseudo- vivant.

Pour Mo=[0 1 0], T1 est non tirable, le RdP est non quasi vivant.

RdP Vivant

Si toutes les transitions peuvent être franchies (en d'autres termes, chaque transition est tirable éventuellement, peu importe l'état du système).

( , )M A R Mo∀ ∈ , il existe une séquence franchissable à partir de M qui contient toutes les transitions.

Exemple 15

Même RdP de la figure 5. Le graphe de marquage est

Le RdP n'est plus vivant car à partir d'un certain moment il n'est plus possible de tirer T1.

Exemple 16

Soit le RdP de la figure 6,

Page 12: Reseau de Petri

Figure 6.

Pour Mo=[3 0 0],

le RdP est vivant, donc quasi et pseudo vivant.

Pour Mo=[0 1 0],

RdP est pseudo vivant.

RdP réinitiable (ou réversible ou propre)

Il existe un cycle tel qu'à un moment donné, lors du fonctionnement, la configuration du réseau est la même qu'à l'état initial.

Remarque: la réversibilité est une notion liée à 'etat initial Mo. *( , ), , / [M A R Mo S T M S Mo∀ ∈ ∃ ∈ >

Absence de blocage

Le réseau a toujours la possibilité d'évolution (plus faible que vivant).

Marquage puit

C'est un marquage à partir duquel aucune transition n'est tirable.

Remarque: RdP sans blocage équivalent à pour tout marquage, pas de marquage puit.

Page 13: Reseau de Petri

Exemple 17

RdP Pseudo et Quasi vivant

Graphe de marquage:

Exemple 18

le RdP n'est pas pseudo vivant (blocage)

le RdP Quasi vivant

le RdP n'est pas vivant car contient le blocage.

Analyse des RdPs par le symbole ωωωω (graphe de couverture) Un arbre d'accessibilité peut être infini.

Afin d'obtenir un arbre fini, on utilise le symbole ω pour représenter le nombre de jetons qui peut augmenter sans limite.

Pour "a" entier on peut appliquer les opérations suivantes sur l'opérateur "ω"

, a

aa

ω ωω

ω ω+ =�

< � − =

S'il existe un marquage M'' sur le chemin entre Mo et M' de sorte que M'(pi)�M''(pi) et M'≠M'' alors remplacer M'(pi) par ω.

Page 14: Reseau de Petri

Exemple 19

Graphe de marquage

graphe de ω

Application des RdPs

Parallélisme

Unité 1 Unité 2

Page 15: Reseau de Petri

Synchronisation

unité 1 Exemple de synchronisation CPU- Imprimante

Gestion de ressources

Du réseau de Petri au Grafcet Le Grafcet peut être considéré comme un réseau de Petri interprété. Pour retrouver éventuellement le réseau de Petri sous-jacent à un Grafcet, il faut d’abord enlever tout ce qui concerne la spécification des réceptivités, celle des actions ainsi que tout ce qui concerne le temps.

Il reste donc un graphe comprenant des étapes et des transitions que l’on peut voir comme les places et les transitions d’un réseau de Petri sous-jacent, mais il s’agit d'un réseau de Petri particulier. En effet, une étape peut être active ou inactive ce qui correspond au fait qu’une place d’un réseau de Petri peut être vide ou contenir un jeton. Mais, dans le cas général, une place d’un réseau de Petri peut contenir plus d’un jeton. La classe particulière de réseau de Petri correspondant au Grafcet est celle des réseaux de Petri saufs (chaque place ne peut pas recevoir plus d’un jeton).

Page 16: Reseau de Petri

De ce point de vue on peut considérer que le Grafcet est une norme pour l’interprétation des réseaux de Petri sauf dans le contexte des automatismes séquentiels.

Le tableau suivant résume le vocabulaire et la représentation graphique du RdP et Grafcet.

Réseau de Petri Grafcet

Notion représentation vocabulaire Notion représentation vocabulaire

Place

1 jeton (0 jeton)

Etape

active (inactive)

place initiale

Etape initiale

marquage situation

Transition

sensibilisée Transition

validée

Disjonction des chemins

Disjonction des chemins

Conjonction des chemins

Conjonction des chemins

Exercice Soient les RdPs des figures i, ii, iii.

Tracer les graphes de marquage correspondants.

Déterminer les propriétés des réseaux de Petri:

Page 17: Reseau de Petri

Pseudo vivant; Quasi vivant; vivant; borné; reversible et Blocage, ; infini?

Figure i Figure ii

Figure iii

Exercice (composition ) On considère deux machines M 1 et M 2 qui travaillent en ligne. Un stock tampon de capacité limitée à 4 pièces sépare les deux machines. Chaque machine dispose également d’un stock tampon d’entrée et d’un stock tampon de sortie capable de contenir une pièce. Un robot est utilisé pour transporter les pièces du stock de sortie de M 1 vers et de vers le stock de tampon d’entrée de M 2 .

Modéliser

-les machines avec leurs stocks tampons d’entrée et de sortie (capacité 1).

-le stock (capacité 4)

-les transports entre les stocks tampons et

-l’intégration du robot dans le modèle global

Exercices (classique)

Page 18: Reseau de Petri

•Lecteur- Rédacteur

Dans ce problème, il y a deux types de processus: les processus lecteurs et les processus rédacteurs. Tous ces processus partagent une ressource commune comme, par exemple, un fichier. Les processus lecteurs ne modifient pas cette ressource alors que les rédacteurs la modifient. Donc les processus rédacteurs doivent être en exclusion mutuelle avec les autres processus rédacteurs et les processus lecteurs. Par contre les processus lecteurs peuvent accéder simultanément à la ressource.

-Modéliser ce problème en supposant que le nombre de lecteurs est borné par n . Il y a s lecteurs et t rédacteurs.

-Peut-on résoudre le problème si l’on ne connaît pas une borne supérieure au nombre de lecteurs?

1) Modélisation

On considère un atelier de fabrication de yaourts fonctionnant par lots. Pour chaque lot, après le lancement de la fabrication, on attend que les deux réacteurs R1 et R2 soient disponibles, on commence en parallèle et indépendamment par préparer le lait (chauffage dans le réacteur R1) et le ferment (brassage dans réacteur R2). Quand les deux opérations sont terminées, le lait et le ferment sont simultanément transférés dans le réacteur de fermentation R3. On suppose la durée du transfert négligeable.

La fermentation a alors lieu, puis l’opération consistant à vider le réacteur R3 tout en le refroidissant à l’aide de l’échangeur de chaleur R4 dure également un certain temps. L’installation est alors prête pour traiter un nouveau lot.

Page 19: Reseau de Petri

a) Montrer que le réseau de Petri “Réseau 1” peut correspondre à la spécification ci-dessus.

Donner la signification des places et des transitions.

b) Comment faudrait-il modifier le réseau (ou son marquage initial) pour que l’installation

puisse traiter 2 lots simultanément (avec un seul réacteur de chacun des types R1, R2, R3 et R4) ?

Page 20: Reseau de Petri

Ecole Nationale d’Ingénieurs de Sfax GE2 (ENT-AII) Département de Génie Electrique

Travaux Dirigés

Réseaux de Pétri

***Les réseaux de Petri servent à la modélisation et l’analyse de systèmes dynamiques discrets

Exercice 1 Représenter les matrices Pré et Post des réseaux de Petri de la figure 1.

Fig.1.a

Fig.1.b

Calculer le nouveau marquage si on tire t2, à partir du marquage initial Mo. Calculer le nouveau marquage si on franchit la séquence s=t3t4t3.

Exercice 2 Indiquer le changement de marquage dans le réseau de Petri de la figure 2, selon une séquence s= a-b-a-a.

Fig.2.

Déduire les marquages successifs correspondants.

Page 21: Reseau de Petri

Exercice 3 Donner l’arbre de recouvrement du RdP de la figure 3.

Fig.3.

Exercice 4 En utilisant le graphe de Marquage, analyser les Propriétés : (borné, quasi- vivant, pseudo- vivant, reinitiable, blocage…) RdPs de la figure 4.

Fig.4. a

Fig.4.b

Page 22: Reseau de Petri

Fig.4. c

Fig.4.d

Exercice 5 Analyser par le symbole ω, le réseau de Petri les réseaux de la figure 5.

Fig.5. a

Fig.5. c

Fig.5. b

Page 23: Reseau de Petri

Exercice 6 Pour la figure 6, Quelles sont les transitions tirables ? Quelles seraient la distribution des jetons après le franchissement de chacune de ces transitions ?

Fig.6.

Exercice 7 On considère deux machines M 1 et M 2 qui travaillent en ligne (figure 7). Un stock tampon de capacité limitée à 4 pièces sépare les deux machines. Chaque machine dispose également d’un stock tampon d’entrée et d’un stock tampon de sortie capable de contenir une pièce. Un robot est utilisé pour transporter les pièces du stock de sortie de M1 vers et de vers le stock de tampon d’entrée de M2. Modéliser -les machines avec leurs stocks tampons d ’entrée et de sortie (capacité 1). -le stock (capacité 4) -les transports entre les stocks tampons et S. -l’intégration du robot dans le modèle global

Fig.7.