0% ont trouvé ce document utile (0 vote)
17 vues35 pages

Introduction aux Réseaux de Petri

C’est un résumé sur la modélisation des systèmes à évènement discrets, et l’des réseaux de Petri

Transféré par

hs5ntnzck6
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
17 vues35 pages

Introduction aux Réseaux de Petri

C’est un résumé sur la modélisation des systèmes à évènement discrets, et l’des réseaux de Petri

Transféré par

hs5ntnzck6
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Réseaux de

Petri

Réseaux de Petri
1 Introduction

2 Définition

3 Fonctionnement d’un réseau

4 Séquence de franchissement
Présentation

Un réseau de Petri
est un modèle mathématique permettant la représentation
de systèmes distribués discrets (informatique, industriel),
introduit par Petri (1962).
est également un langage de modélisation, représenté sous
forme d’un graphe biparti orienté.

Étude des systèmes discrets dont les champs d’application sont


les systèmes de production (caractérisés par une variation
imprévisible des besoins).
Présentation

Système à Événements Discrets (SED), caractérisés par :


des contraintes de précédence (dans les gammes de
fabrication ou dans les algorithmes) ;
des effets de concurrence induits par le partage des
ressources ;
une structuration en tâches parallèles, asynchrones,
soumises à des contraintes temporelles strictes ou non.
Présentation

Systèmes complexes et couteux à mettre en œuvre :


valider les spécification ;
prévoir les performances ;
optimiser le fonctionnement (théorie des files d’attentes,
simulation, etc.).

Deux principaux types de représentation permettent d’aborder


les réseaux de Petri :
une représentation graphique sous forme de graphe,
permettant de capturer la dynamique du système ;
une représentation algébrique linéaire.
Présentation informelle

Un réseau de Petri est un graphe biparti dont on


particularise les deux familles de sommets : les places et
les transitions.
Comme dans tout graphe biparti, un arc ne relie jamais
deux sommets de la même famille.
Les places sont représentées par des cercles, tandis que les
transitions sont représentrées par des traits ou des
rectangles.

Correct Incorrect
Dynamique du système

Chaque place va contenir un nombre entier de jetons (ou


marques) pour modéliser la dynamique du système.

•• 2 jetons 25 25 jetons

Le marquage du réseau est constitué de toutes les marques


présentées dans le réseau à un instant donné.

Un réseau de Petri généralisé est un réseau dans lequel les


valuations des arcs ne sont pas forcément égales à 1. Un réseau
de Petri ordinaire est un réseau dont le graphe sous-jacent est
un 1-graphe.
Notation

On note souvent :
T l’ensemble des transitions ;
P l’ensemble des places ;
v la fonction de valuation des arcs ;
M(p) le marquage de la place p (i.e. le nombre de jetons
contenus dans p à un instant donné).
Exemple t1

•• p2

• p1

t2

3 • p4 p3

2 2

t4 t3
Tir de t2 t1

• p2

• p1

t2

3 •• p4 • p3

2 2

t4 t3
Tir de t4 t1

4 p2

• p1

t2

3 p4 • p3

2 2

t4 t3
Exemple t1

P = {p1 , p2 , p3 , p4 } 2
T = {t1 , t2 , t3 , t4 }
•• p2
v (t1 , p2 ) = 2, v (p2 , t2 ) = 1,
v (t4 , p2 ) = 3
M(p1 ) = 1, M(p2 ) = 2, • p1
M(p3 ) = 0, M(p
 4) = 1 ;
1
 2  t2
M0 =   0 

1
Γ−1 (t2 ) = {p2 },
Γ(t2 ) = {p3 , p4 }

3 • p4 p3

2 2

t4 t3
Transition validée

Chaque place de Γ−1 (t2 ) contient plus de jetons que la


valuation de l’arc la reliant à t2 .

M(p2 ) ≥ v (p2 , t2 )
On dit que t2 est franchissable (tirable, validée). Si l’on tire
t2 , le marquage des places de Γ−1 (t2 ) et de Γ(t2 ) va être
modifié :
M(p2 ) ← M(p2 ) − v (p2 , t2 )
M(p3 ) ← M(p3 ) + v (t2 , p3 )
M(p4 ) ← M(p4 ) + v (t2 , p4 )
On note M0 [t2 > M1 : M0 valide la transition t2 , et le tir de t2
depuis M0 donne le marquage M1 .
Réseau de Petri généralisé

Def : Réseau de Petri généralisé


Un réseau de Petri généralisé est un quadruplet R tel que
R = (P, T , Pre, Post) avec :
P : ensemble des places du réseau ;
T : ensemble des transitions du réseau ;
Pre : application d’incidence avant, de P × T dans N.
∀p ∈ P, ∀t ∈ T , Pre(p, t) = v (p, t) si (p, t) ∈ G , 0 sinon.
Post : application d’incidence arrière, de P × T dans N.
∀p ∈ P, ∀t ∈ T , Post(p, t) = v (t, p) si (t, p) ∈ G , 0
sinon.
À chaque application d’incidence est associée une matrice
|P| × |T |.
Exemple t1

•• p2

• p1

t2 T1 T2 T3 T4
0 P1
 
1 0 0
P2
 0 1 0 0 
Pre = 
 0 0 2 0 
0 0 0 2 P3
P4
3 • p4 p3 
0 0 1 0

 2 0 0 3 
Post = 
 0

1 0 0 
0 1 0 0
2 2
les chiffres mis dans les
matrices sont les poids de
t4 t3 valuation
Exemple

P = {p1 , p2 , p3 , p4 }
p1 T = {t1 , t2 }
2 
2 0

 0 1 
t1 Pre =  
 0 1 
0 0
 
p2 p3 0 0
 1 0 
Post = 
 1 0 

0 2
t2  
−2 0
2  1 −1 
C =  1 −1 

p4
0 2
C = POST - PRE
Matrice d’incidence

Def : Matrice d’incidence


La matrice d’incidence du réseau est C = Post − Pre.

Def : Réseau pur


Un réseau de Petri R = (P, T , Pre, Post) est pur lorsque
∀p ∈ P, ∀t ∈ T , Pre(p, t) × Post(p, t) = 0 (membre à
membre).

Def : Réseau marqué


Un réseau marqué N est un couple (R, M) constitué d’un
réseau de Petri R et d’une application de marquage définie sur
P et à valeurs dans N (i.e. le marquage du réseau à un instant
donné).
Franchissement

Def : Tir d’une transition


Une transition t est tirable (ou franchissable, ou validée)
lorsque :
∀p ∈ Γ−1 (t) M(p) ≥ Pre(p, t)
Lorsqu’une transition est validée dans le marquage M0 , on note
M0 [t >.
Évolution du marquage

Def : Évolution du marquage


Soit N = (R, M) un réseau de Petri marqué de transitions T
et de places P. Le franchissement d’une transition t de T
validée dans le marquage M conduit au marquage M1 :

∀p ∈ P, ∀t ∈ T , M1 (p) = M(p) + C (p, t)


∀p ∈ P, ∀t ∈ T , M1 (p) = M(p) + Post(p, t) − Pre(p, t)
On note alors M[t > M1 .
Séquence

On s’intéresse à l’évolution du réseau lors du tir successif


de plusieurs transitions.
Lorsque M[t1 > M1 [t2 > M2 , on dit que la séquence de
transitions t1 t2 est franchissable depuis le marquage M.
On note M[t1 t2 > M2 .

Def : Séquence de franchissement


Une séquence de franchissement est un mot construit sur
l’alphabet T ∗ des transitions de T . On note σ une séquence de
franchissements.

Exemple
σ = t1 t2 et M[σ > M2 .
Séquence

Pour caractériser une séquence de franchissements σ, on utilise


son image commutative ~σ .
Exemple
 
1
σ = t1 t2 ; T = {t1 , t2 , t3 } ; ~σ =  1 
0
Séquence

Chaque composante de l’image commutative est le nombre


d’occurrences de la transition correspondante dans σ.
Exemple
 
1
 1 
σ~1 =   : σ1 = t1 t2 t3 ou σ1 = t3 t1 t2 ...
 1 
0
 
2
σ~2 =  3  : σ2 = t1 t2 t2 t1 t2 ou σ2 = t2 t2 t2 t1 t1 ...
0
Équation d’état

Théorème : Équation d’état


Soit σ une séquence finie de transitions tirable depuis un
marquage M d’un réseau R de matrice d’incidence C . On a :

M[σ > M1 ⇒ M1 = M + C~σ

Remarque 1
Il s’agit d’une condition nécessaire mais pas suffisante : il se
pourrait que σ ne soit pas franchissable depuis M !

Remarque 2
Deux étapes pour calculer un marquage :
démontrer que le marquage valide la séquence ;
calculer le marquage résultat.
Exercice

La séquence t1 t2 t1 est
p1 franchissable dans le réseau
marquéN =(R, M0 ) avec
2
4
t1  0 
M0 =   0 .

0
p2 p3
1 Exprimer ~σ .
2 On a M0 [σ > M. Calculer
t2 M.

2
p4
Transition source et transition puits

Def : Transition source


Une transition source ts d’un réseau de Petri (R, M0 ) est une
transition de T telle que Γ−1 (ts ) = ∅.

Def : Transition puits


Une transition puits tp d’un réseau de Petri (R, M0 ) est une
transition de T telle que Γ(tp ) = ∅.

Proposition : Validation d’une transition source


Une transition source est toujours validée.

Remarque
Les transitions source et puits permettent de modéliser des flux
continus.
Lancement de tâches en parallèle

p1

t1

p2 p3 p4

t2 t3 t4

p5 p6 p7

t5

p8
Communication asynchrone

Soient deux tâches τ1 et τ2 qui communiquent par messages.


τ1 émet un message en le plaçant dans un tampon de
communication tandis que τ2 est réceptrice, et est bloquée tant
qu’elle n’a pas reçu le message.
τ1 τ2
• p1 • p4

t1 p3 t2

p2 p5

Le nombre de jetons dans p3 correspond au nombre de


messages en attente.
Communication asynchrone

Soient deux tâches τ1 et τ2 qui communiquent par messages.


τ1 émet un message en le plaçant dans un tampon de
communication tandis que τ2 est réceptrice, et est bloquée tant
qu’elle n’a pas reçu le message.
τ1 τ2
p1 • p4

t1 • p3 t2

• p2 p5

Émission d’un message par τ1 .

Le nombre de jetons dans p3 correspond au nombre de


messages en attente.
Communication asynchrone

Soient deux tâches τ1 et τ2 qui communiquent par messages.


τ1 émet un message en le plaçant dans un tampon de
communication tandis que τ2 est réceptrice, et est bloquée tant
qu’elle n’a pas reçu le message.
τ1 τ2
p1 p4

t1 p3 t2

• p2 • p5

Réception d’un message par τ2 .

Le nombre de jetons dans p3 correspond au nombre de


messages en attente.
Section critique

Deux processus concurrents demandent l’accès à une section


critique en exclusion mutuelle. La procédure d’accès se
décompose de la manière suivante :
demander l’accès à la section critique ;
utiliser la ressource en section critique ;
libérer l’accès à la section critique.
Section critique

τ1 τ2
p1 p5 Prêt à entrer en SC

t1 t3 Gagner l’accès

p2 • p4 p6 Dans la SC

t2 t4 Libérer l’accès

p3 p7 Hors SC
Section critique

τ1 τ2
• p1 p5 Prêt à entrer en SC

t1 t3 Gagner l’accès

p2 • p4 p6 Dans la SC

t2 t4 Libérer l’accès

p3 p7 Hors SC
Section critique

τ1 τ2
p1 p5 Prêt à entrer en SC

t1 t3 Gagner l’accès

• p2 p4 p6 Dans la SC

t2 t4 Libérer l’accès

p3 p7 Hors SC
Section critique

τ1 τ2
p1 • p5 Prêt à entrer en SC

t1 t3 Gagner l’accès

• p2 p4 p6 Dans la SC

t2 t4 Libérer l’accès

p3 p7 Hors SC
Section critique

τ1 τ2
p1 • p5 Prêt à entrer en SC

t1 t3 Gagner l’accès

p2 • p4 p6 Dans la SC

t2 t4 Libérer l’accès

• p3 p7 Hors SC

Vous aimerez peut-être aussi