Vous êtes sur la page 1sur 138

Outils de modélisation et

d’évaluation des performances via


les réseaux de Pétri

Auteur : Bouziyane Bouchra


Version 2022

1
Plan :
Chapitre 1 :
Partie I : Introduction aux réseaux de Pétri (RdP)
Partie II : Réseaux de pétri autonomes
Chapitre 2 :
Réseaux de pétri non autonomes
Chapitre 3 :
Modélisation des systèmes dynamique via les RdP
Evaluation des performances des systèmes dynamiques en
utilisant les RdP
2
Introduction à la modélisation et à la
simulation de systèmes à évènements discrets
par réseaux de Petri

3
Importance de la modélisation
Dans une idée de diminuer les coûts tout en améliorant la
performance, l’ensemble des problèmes liés à l’utilisation de
systèmes automatisés n’a pas encore été résolu de manière
optimale. La recherche dans le domaine de la modélisation
des systèmes a pour but de répondre à ce besoin.

4
– Exemple de problème : le comportement non souhaité
Lors de la conception de systèmes automatisés, on voudrait
pouvoir vérifier que lorsqu’ils seront mis en marche, ils feront
bien ce, et seulement ce, pourquoi ils ont été conçus.

La modélisation système peut être un outil utilisé dans le but


de vérifier qu’un système est bien conçu, qu’il ne va pas agir
d’une manière imprévue et non souhaitée par son
concepteur.
5
L’un des comportements non voulus le plus connu est le «
deadlock », c’est le fait pour un système de se mettre dans
une situation où il ne peut plus évoluer, il reste donc bloqué.

6
Un blocage peut survenir si les quatre conditions suivantes
sont remplies simultanément (conditions nécessaires) :

 Une ou plusieurs ressources ne peuvent pas être


partagées (un seul processus peut être utilisé à la fois).
 Un processus contient au moins une ressource et attend
des ressources.

7
 Une ressource ne peut pas être prise à partir d'un
processus à moins que le processus ne libère la ressource.
 Un ensemble de processus s'attendent les uns les autres
sous forme circulaire.

8
Les systèmes à évènements discrets
Un système à évènements discrets, par opposition à un
système continu, est un système qui satisfait les deux
propriétés suivantes :

• Son espace d’état est discret (le nombre d’état du système


est dénombrable) ;

• Le passage d’un état à un autre est déclenché par un


évènement.

9
Exemple :

Système à évènement discret : La lampe

10
Système Un ensemble d’objets liés pour effectuer quelques
activités dont le but d’atteindre un objectif.

Modèle Une imitation simplifiée de la réalité (une


représentation du système qui permet de l’étudier).

Simulation Le processus consistant à réaliser un modèle pour


un système réel, faire des expériences sur ce dernier, afin de
décrire, expliquer et prédire le comportement du système
réel.

11
Principe des réseaux de Petri :
Un réseau de Petri est un formalisme permettant de
modéliser des systèmes à évènements discrets sous la forme
d’une représentation graphique du système relativement
facile à comprendre pour un humain.

 Il a l’avantage de pouvoir représenter des systèmes à


évènements discrets complexes sous un format plus
compact.

12
Dans le principe, un réseau de Petri peut être considéré
comme un graphe orienté bipartite contenant des places (des
cercle vides), des transitions (des rectangles noirs) et des arcs
(des flèches reliant les transitions et les places entre elles).

13
On peut considérer les places comme des récipients dans
lesquelles on peut placer des jetons (pastille noire à l’intérieur
des places). Les places peuvent représenter une partie du
système, un lieu dans le système, un compteur…)

14
L’ensemble des jetons dans les places représente le
marquage du réseau de Petri et un marquage est associé à un
état du système. Par exemple, dans le cas de la lampe, le
réseau de Petri qui décrit son comportement est présenté par
la suite.

Exemple : (modéliser la lampe par un réseau de Petri en


supposant que la lampe est éteinte)

15
Exemple(solution) :

Réseau de Petri d’une lampe torche

16
Exercice :
Modéliser Un feu rouge par un réseau de Petri (feu rouge
allumé)

17
Exercice(solution) :

18
Réseaux de Petri autonomes

19
Plan :

 Introduction aux réseaux de Petri

 Définitions fondamentales

 Loi d’évolution d’un réseau de Petri

 RdP particuliers

 Méthodes d’analyse des RdP

20
1. Introduction aux réseaux de Pétri

Un réseau de Petri est un outil graphique de modélisation de


système complexe. Sa puissance d'expression permet
d'étudier des systèmes composés de sous-systèmes
fonctionnant en parallèle, communiquant et partageant des
ressources. Le modèle représente les différents états
possibles du système.

21
Caractéristiques des réseaux de Petri :

 Le concepteur du modèle doit raisonner en termes


d’états et de transitions d’états ce qui n’est pas une
démarche naturelle.
 Il est nécessaire tout d’abord de maîtriser la
modélisation des structures de base comme
l’enchaînement d’opérations, les communications et le
partage de ressources.

22
 Cet outil de modélisation est particulièrement bien
adapté à la représentation des systèmes de production.
 Outil de modélisation graphique et mathématique
(Applications : productique, automatique et informatique).

23
Les forces des réseaux de Petri :

Les RdP sont un outil de modélisation des systèmes à


évènements discrets dont la capacité à modéliser des
mécanismes comme la synchronisation ou le parallélisme de
manière graphique et explicite est définitivement reconnue.

 Les RdP sont reconnus comme étant un outil puissant


de modélisation des parallélismes, des conflits et des
partages de ressources, en présence de synchronisations.

24
Parallélisme/synchronisation :

Le parallélisme représente la possibilité que deux ou


plusieurs processus évoluent de manière simultanée au sein
du même système à l’aide d’une transition ayant plusieurs
places de sortie.
25
Parallélisme/synchronisation :

Le franchissement de la
transition T1 met un jeton
dans la place P12 (ce qui
marque le déclenchement du
processus 1) et un jeton dans
la place P21 (ce qui marque
le déclenchement du
processus 2). La place P1n
correspond à la fin du
processus 1 et la place P2k à
la fin du processus 2.
26
Parallélisme/synchronisation :

Le RdP évoluera par


franchissement de la
transition T2. Pour cela, il est
nécessaire que les places P1n
et P2k contiennent chacune
au moins un jeton, c’est-à-
dire que les processus 1 et 2
soient terminés. Cette
remarque traduit la notion
de synchronisation.

27
Apparition des réseaux de Petri :

Les RdP ont été introduits par Carl Adam Petri en 1962
(Université de Darmstadt – Développement par l’université
de technologie de Massachusset).

Ils constituent un puissant outil graphique de représentation


de phénomènes complexes et des mécanismes séquentiels.
Ils sont largement utilisés pour l’analyse et la modélisation
des systèmes à événements discrets.

28
Définition des réseaux de Petri :

Un réseau de Petri (aussi connu comme un réseau


de Place/Transition ou réseau de P/T) est un modèle
mathématique servant à représenter divers systèmes
(informatiques, industriels…) travaillant sur des variables
discrètes.

29
RdP autonome :

Un RdP autonome décrit le fonctionnement d'un système


dont les instants de franchissement ne sont pas connus ou
indiqués.

Dans un RdP non autonome, l’évolution ne dépend pas


seulement de l’état du réseau mais aussi de l’environnement
qui lui est associé.

30
Eté Automne

Printemps Hiver

Ce RdP est autonome : le moment de passage d’une saison à


une autre n’est pas indiqué.

31
2. Définitions fondamentales :
Définition 1 :
Un RdP non marqué est un graphe biparti constitué de
places, de transitions (correspondant aux sommets du graphe)
et d’arcs qui relient les transitions aux places et les places aux
transitions. De manière plus formelle, un réseau de Petri est
défini comme un 4-uplets (c’est-à-dire un ensemble de 4
éléments) : {𝑃, 𝑇, Pre, Post} Les éléments de ce 4-uplets sont
définis comme suit :
32
P : est un ensemble fini et non vide de places

𝑃 = {𝑃1 , 𝑃2 , … , 𝑃𝑛 }.

T : est un ensemble fini et non vide de transitions

𝑇 = {𝑇1 , 𝑇2 , … , 𝑇𝑚 }.

P∩T=Φ : les ensembles P et T sont disjoints.

Les matrices Pre et post sont de type nxm.

33
Pre : est l’application d’incidence avant : Pre : P×T → IN
(ensemble des entiers naturels), correspondant aux arcs
directs des places vers les transitions.

𝑃𝑟𝑒(𝑃𝑖 , 𝑇𝑖 ) > 0 : signifie qu’il existe un arc orienté de 𝑃𝑖 vers


𝑇𝑖 et 𝑃𝑟𝑒(𝑃𝑖 , 𝑇𝑖 ) est la valuation de cet arc.

𝑃𝑟𝑒(𝑃𝑖 , 𝑇𝑖 ) = 0 ∶ indique l’absence d’arc orienté reliant la


place 𝑃𝑖 à la transition 𝑇𝑖 .

34
Post : est l’application d’incidence arrière : Post : T×P → IN
correspondant aux arcs directs liant les transitions aux
places.

𝑃𝑜𝑠𝑡(𝑃𝑖 , 𝑇𝑖 ) > 0 : signifie qu’il existe un arc orienté de 𝑇𝑖 vers


𝑃𝑖 et 𝑃𝑜𝑠𝑡 (𝑃𝑖 , 𝑇𝑖 ) est la valuation de cet arc.

𝑃𝑜𝑠𝑡(𝑃𝑖 , 𝑇𝑖 ) = 0 : indique l’absence d’arc orienté reliant la


transition 𝑇𝑖 à la place 𝑃𝑖 .

35
Si 𝑃𝑟é(𝑃𝑖 , 𝑇𝑖 ) > 0, la transition 𝑇𝑖 est une transition de sortie
de la place 𝑃𝑖 . La place 𝑃𝑖 est dite place d’entrée de la
transition 𝑇𝑖 .

Si 𝑃𝑜𝑠𝑡(𝑃𝑖 , 𝑇𝑖 ) > 0, la transition 𝑇𝑖 est une transition


d’entrée de la place 𝑃𝑖 . La place 𝑃𝑖 est dite place de sortie de
la transition 𝑇𝑖 .

36
Notations :
𝑇𝑗𝑜 (respectivement °𝑇𝑗 ) : l’ensemble des places de sortie
(respectivement d’entrée) de la transition 𝑇𝑗 .

𝑃𝑗𝑜 (respectivement °𝑃𝑗 ) : l’ensemble des transitions de


sortie (respectivement d’entrée) de la place 𝑃𝑗 .

37
Matrice d'incidence

Matrice d'incidence avant : :

𝑊 − = [𝑃𝑟é(𝑃𝑖 , 𝑇𝑗 )]

𝑃𝑟é(𝑃𝑖 , 𝑇𝑗 ) est le poids "k" de l'arc reliant une place à une


transition.

𝑃𝑟é(𝑃𝑖 , 𝑇𝑗 ) = k si l'arc (Pi , Tj ) existe

0 sinon

38
Matrice d'incidence arrière :

𝑊 + = [𝑃𝑜𝑠𝑡(𝑃𝑖 , 𝑇𝑗 )]

𝑃𝑜𝑠𝑡(𝑃𝑖 , 𝑇𝑗 ) est le poids "k" de l'arc reliant une transition à


une place.

𝑃𝑜𝑠𝑡(𝑃𝑖 , 𝑇𝑗 ) = k si l'arc (Tj , Pi ) existe

0 sinon

39
Matrice d'incidence :

𝐖 = 𝑾+ − 𝑾−

Tel que :

Les transitions représentent les colonnes et les places représentent


les lignes.

40
Exemple 2.1 : Donner la matrice d’incidence

41
Exemple 2.1 (solution) :
1000 0001
0100 1000
𝑊− = 0 0 1 0 𝑊+ = 1 0 0 0
0001 0100
[0001] [0010]

42
Définition 2 :

Un RdP marqué est un doublet 𝑅 = (𝑅′ , 𝑀0 ) dans lequel 𝑅′


est un RdP non marqué et 𝑀0 un marquage initial.

Dans un RdP marqué, chaque place contient un nombre


entier (positif ou nul) de marques ou jetons.

Le nombre de marques contenu dans une place pi est noté


𝑀(𝑃𝑖 ).

43
Le marquage du réseau 𝑀 est défini par le vecteur de ces
marquages. Le marquage à un certain instant définit l’état du
RdP.
C'est un vecteur colonne de dimension le nombre de places
dans le réseau. Le 𝑖 è𝑚𝑒 élément du vecteur correspond au
nombre de jetons contenus dans la place 𝑃𝑖 .
Le marquage initial 𝑀0 est le nombre de jetons initialement
présent dans chaque place, il représente l’état initial du
système.

44
Exemple 1 : marquage

3
1
[ ]
2
0

45
Exemple 2 : marquage

4
[1]
2
46
Exemple 3 : marquage

1
[0]
3
47
Exemple 4 : Réseau de Petri avec trois états

1 0 0
𝑀0 = [0] 𝑀1 = [1] 𝑀2 = [0]
0 0 1
48
Par convention :
– Les places sont représentées par des cercles
– Les transitions par des barres ou des rectangles
– Les arcs sont des arcs orientés

49
Exercice : donner les ensembles P, T, les matrices Pre, Post , W et
le marquage initial

50
3. Loi d’évolution d’un réseau de Petri :
Les jetons à l’intérieur du réseau de Petri peuvent évoluer
de place en place lorsqu’une transition est dite franchie.

Lorsqu’une transition est franchie, un nombre spécifique de


jetons des places en entrée de la transition est consommé
(retiré de la place) et des jetons sont ajoutés dans les places
en sortie de la transition.

𝑀′ (𝑃𝑖 ) = 𝑀(𝑃𝑖 ) − 𝑃𝑟𝑒(𝑃𝑖 , 𝑇𝑗 ) + 𝑃𝑜𝑠𝑡(𝑃𝑖 , 𝑇𝑗 ), ∀𝑃𝑖 ∈ 𝑃


51
Le nombre de jetons ajoutés ou supprimés dépend du poids
w associés aux arcs liant les places et transitions.

De plus, pour qu’une transition soit franchie, elle doit être


franchissable.

Une transition est franchissable s’il y a suffisamment de


jetons pouvant être consommés dans les places en entrée de
la transition.

𝑀(𝑃𝑖 ) ≥ 𝑃𝑟𝑒(𝑃𝑖 , 𝑇𝑗 ), ∀𝑃𝑖 ∈ °𝑇𝑗

52
Exemple 3.1 :

53
La transition 𝑇1 a été franchie, comme défini par les poids sur
les arcs correspondants :

• 2 jetons sont supprimés de la place 𝑃1 .

• 1 jeton est supprimé de la place 𝑃2 .

• 1 jeton est ajouté à la place 𝑃3 .

• 2 jetons sont ajoutés à la place 𝑃4 .

• 1 jeton est ajouté à la place 𝑃5 .

54
Après franchissement de 𝑇1 , le graphe est le suivant :

55
Exemples (transition non franchissable) :

La transition 𝑇0 n’est pas franchissable car il n’y a pas assez


de jetons dans la place 𝑃0 : pour que la transition soit
franchissable, il faut que les conditions de toutes les places en
entrée de 𝑇0 (𝑃0 et 𝑃1 ) soient satisfaites.

56
En effet, l’arc qui va de la place 𝑃0 à la transition 𝑇0 est de
poids w=2, il faut donc au moins deux jetons dans la place 𝑃0
pour que la transition 𝑇0 soit franchissable.

On peut quand même noter que la condition concernant la


place P1 est respectée, l’arc sortant est de poids w=1 et il y a
bien un jeton dans la place.

57
Exemple (transition franchissable) :

Dans ce cas, il y a assez de jetons dans la place 𝑃0 et dans la


place 𝑃1 , la transition 𝑇0 est donc franchissable. Lorsqu’elle est
franchie, on obtient le marquage :

58
La transition 𝑇0 a été franchie, comme défini par les poids sur
les arcs correspondants :

• 2 jetons sont supprimés de la place 𝑃0 .

• 1 jeton est supprimé de la place 𝑃1 .

• 1 jeton est ajouté à la place 𝑃2 .


59
Exemple 3.2 :

60
Exemple 3.2 : 𝑇1 est une transition franchissable ?

𝑇1 ne peut pas être franchie car 𝑃2 ne contient aucun jeton.

Le franchissement consiste à retirer un jeton de chacune des


places d'entrée et à rajouter un jeton à chacune des places de
sortie de la même transition.

61
Séquence de franchissement :
A partir d'un marquage donné, une séquence de
franchissement 𝑆 est une suite de transitions 𝑇𝑖 𝑇𝑗 …𝑇𝑘 qui
peuvent être franchies successivement.

A partir du marquage 𝑀𝑖 , le franchissement de la séquence


𝑆 aboutit au marquage 𝑀𝑗 :

𝑀𝑖 [𝑆 → 𝑀𝑗

Ou 𝑀𝑖 [𝑆 > 𝑀𝑗
62
Exemple 3.3 : (Deux séquences de franchissement : T1T2 et
T1T3)

63
Franchissement de la séquence T1T2 :

𝑀0 [𝑇1 𝑇2 → 𝑀1
𝑀1 = [0010]𝑇

Franchissement de la séquence T1T3 :

𝑀0 [𝑇1 𝑇3 → 𝑀2
𝑀2 = [0001]𝑇
64
Equation fondamentale ou équation d'état :

Soit S une séquence de franchissement réalisable à partir d'un


marquage 𝑀𝑖 : 𝑀𝑖 [𝑆 > 𝑀𝑘 .
Soit 𝑽𝒕𝒔 le vecteur caractéristique de la séquence 𝑺 : c'est un
vecteur de dimension 𝑚 égale au nombre de transitions dans
le réseau. Sa composante numéro 𝑗 correspond au nombre de
fois où la transition 𝑇𝑗 est franchie dans la séquence 𝑆.

65
Si la séquence de franchissement 𝑆 est tel que 𝑀𝑖 [𝑆 > 𝑀𝐾
alors l'équation fondamentale correspondante s'écrit :

𝑀𝑘 = 𝑀𝑖 + 𝑊 ∗ 𝑉𝑠𝑡
𝑀𝑖 : Marquage initial
𝑊 : matrice d’incidence
𝑉𝑠𝑡 : vecteur caractéristique de la séquence S
𝑀𝑘 : le nouveau marquage obtenu après l‘exécution de la
séquence S.
66
Exemple : le vecteur caractéristique

Si nous considérons la séquence 𝑆 tel que 𝑆 =𝑇2 𝑇4 𝑇1 𝑇4 𝑇2 𝑇4


Alors le vecteur caractéristique de la séquence 𝑆
est : 𝑽𝒕𝒔 =[1, 2, 0, 3]T

Pour la séquence 𝑆 tel que 𝑆 =𝑇2 𝑇5 𝑇1 𝑇4 𝑇2 𝑇5 𝑇1


Alors le vecteur caractéristique de la séquence 𝑆
est : 𝑽𝒕𝒔 =[2, 2, 0, 1,2]T

67
Exemple 3.4 :

Ecrire l’équation d’état et


donner le nouveau marquage en
considérant une séquence de
franchissement :

𝑆 = 𝑇1 𝑇2

68
Exercice : Déterminer le marquage après franchissement
des transitions T2, T2T3T4T1T3 puis T2T3T4T5T1T3

69
4. Réseaux de Petri particuliers
Transition source : Elle est toujours franchissable

Une transition sans place d'entrée est une transition source.

Le franchissement d'une transition source consiste à rajouter


un jeton à chacune de ses places de sortie.

70
Transition puits :

Une transition sans place de sortie est une transition puits.

Le franchissement d'une transition puits consiste à retirer un


jeton de chacune de ses places d'entrée.

71
Arc inhibiteur
Les arcs inhibiteurs rendent possible le franchissement des
transitions quand les places d’entrée sont vides ou ont un
marquage inférieur a une valeur fixée.

72
RdP Particuliers :
Graphe d’état Graphe d’événement

RdP sans conflit RdP à choix libre

RdP simple

RdP pur RdP généralisés

RdP à capacités RdP à priorités

73
Graphe d'état :

Un réseau de Pétri non marqué est un graphe d'état si et


seulement si toute transition a exactement une seule place
d'entrée et une seule place de sortie.

Chacune des transitions T1,


T2, T3, T4 et T5 possède
une seule place d'entrée et
une seule place de sortie.

74
Graphe d'événement :

Un RdP est un graphe d'événement si et seulement si


chaque place possède exactement une seule transition
d'entrée et une seule transition de sortie.

75
RdP sans conflit :

Un Rdp sans conflit est un réseau dans lequel chaque place a


au plus une transition de sortie.

Un RdP avec conflit est un réseau qui possède donc une place
avec au moins deux transitions de sorties. Un conflit est noté:
[𝑃𝑖 , {𝑇1 ,𝑇2 ,…, 𝑇3 }] , avec 𝑇1 ,𝑇2 ,…,𝑇𝑛 étant les transitions de
sorties de la place 𝑃𝑖 .

76
RdP sans conflit RdP avec conflit

77
RdP à choix libre :

Un RdP est à choix libre est un réseau dans lequel pour tout
conflit [ 𝑃𝑖 , {𝑇1 , 𝑇2 ,…, 𝑇𝑛 }] aucune des transitions 𝑇1 ,𝑇2 ,…,𝑇𝑛 ne
possède aucune autre place d’entrée que 𝑃𝑖 .

Avec conflit Avec conflit


Sans choix libre Avec choix libre

78
RdP simple :

Un Réseau de Pétri simple est un RdP dans lequel chaque


transition ne peut être concernée que par un conflit au plus.

Avec conflit Avec conflit


Simple non simple

79
RdP pur :

Un RdP pur est un réseau dans lequel il n’existe pas de


transition ayant une place d’entrée qui soit à la fois place de
sortie de cette transition.

RdP Pur RdP non Pur

80
RdP généralisés :

Un RdP généralisé est un RdP dans lequel des poids (nombres


entiers strictement positifs) sont associés aux arcs.

Si un arc (𝑃𝑖 , 𝑇𝑗 ) a un poids 𝑘 : la transition 𝑇𝑗 n'est franchie


que si la place 𝑃𝑖 possède au moins 𝑘 jetons.

Le franchissement consiste à retirer 𝑘 jetons de la place 𝑃𝑖 . Si


un arc (𝑃𝑖 , 𝑇𝑗 ) a un poids 𝑘 : le franchissement de la transition

81
rajoute 𝑘 jetons à la place 𝑃𝑖 . Lorsque le poids n’est pas
signalé, il est égal à un par défaut.

82
RdP à capacités :

Un RdP à capacités est un RdP dans lequel des capacités


(nombres entiers strictement positifs) sont associées aux
places. Le franchissement d’une transition d’entrée d’une
place 𝑃𝑖 dont la capacité est Cap(𝑃𝑖 ) n’est possible que si le
franchissement ne conduit pas à un nombre de jetons dans 𝑃𝑖
qui est plus grand que Cap(𝑃𝑖 ).

83
𝒄𝒂𝒑(𝑷𝟐 ) = 𝟐 𝒄𝒂𝒑(𝑷𝟐 ) = 𝟐 𝒄𝒂𝒑(𝑷𝟐 ) = 𝟐

𝑀(𝑃𝑖 ) ≥ 𝑃𝑟𝑒(𝑃𝑖 , 𝑇𝑗 ) ∀𝑃𝑖 ∈ °𝑇𝑗 et

𝑀(𝑃𝑖 ) + 𝑃𝑜𝑠𝑡(𝑃𝑖 , 𝑇𝑗 ) ≤ 𝑄(𝑃𝑖 ) ∀𝑃𝑖 ∈ 𝑇𝑗 °


84
RdP à priorités :

Dans un tel réseau si on atteint un marquage tel que plusieurs


transitions sont franchissables, on doit franchir la transition
qui a la plus grande priorité.

85
5. Outils d’analyse des RdP
Les principales méthodes d’analyse des réseaux de Petri
peuvent être classés en trois groupes :
1. Méthodes basées sur l’énumération de tous les états
possibles :
 Arbre et graphes de marquage
 Arbre et graphes de couverture
2. Méthodes basées sur l’algèbre linéaire
3. Méthodes de réduction des RdP
86
1. Méthodes basées sur l’énumération de tous les états
possibles

Ce type de graphe donne une vue simple de l'évolution d'un


réseau, et la représentation graphique du système étudié
permet de déterminer certaines propriétés de celui-ci.

Par exemple si le graphe présente une zone non bouclée, cette


partie du marquage une fois atteinte constitue un arrêt de
l'évolution du RdP et celui-ci sera déclaré avec blocage.

87
Arbre de marquage :
L’arbre des marquages atteignables définit tous les
Marquages que l’on peut atteindre à partir d’un marquage
𝑀0 , c’est une arborescence dans laquelle :
 Les nœuds sont les marquages atteignables à partir de 𝑀0 :
chaque nœud correspond à un vecteur de marquage
accessible.
 La racine de l’arborescence correspond à 𝑀0

88
Marquages accessibles :
L'ensemble des marquages accessibles est l'ensemble des
marquages 𝑀𝑖 qui peuvent être atteint par le franchissement
d'une séquence 𝑆 à partir du marquage initial 𝑀0 . On le note

∗𝑀0

.𝑀0 = {𝑀𝑖 𝑡𝑒𝑙 𝑞𝑢𝑒 𝑀𝑖 [𝑆 → 𝑀𝑗 }

89
Exemple 5.1 : marquages accessibles

90
Exemple 5.1 : marquages accessibles

∗𝑴𝟎 ={𝑴𝟎 ,𝑴𝟏 ,𝑴𝟐 ,𝑴𝟑 }


Avec :
𝟏 𝟎 𝟎 𝟎
𝟎 𝟏 𝟎 𝟎
𝑴 𝟎 = [ ] 𝑴𝟏 = [ ] 𝑴𝟐 = [ ] 𝑴𝟑 = [ ]
𝟎 𝟎 𝟏 𝟎
𝟎 𝟎 𝟎 𝟏

91
Graphe de marquage :

Le graphe des marquages atteignables est un graphe orienté


établi à partir d'un arbre de marquage où les sommets
identiques sont fusionnés.
On utilise le graphe de marquages quand le nombre de
marquages accessibles est fini.

92
Exemple 5.1 : graphe de marquage

𝟏 𝟎 𝟎
𝟎 𝟏 𝟎
[ ] T1 [ ] T2 [ ]
𝟎 𝟎 𝟏
𝟎 𝟎 𝟎
𝟎
𝟎
T3 [ ]
𝟎
𝟏
93
Exemple 5.2 : Donner le graphe de marquage de l’exemple
suivant

94
Exemple 5.2 :

∗𝑴𝟎={𝑴𝟎,𝑴𝟏,𝑴𝟐,𝑴𝟑}

Avec :
𝟐 𝟏 𝟎 𝟎
𝑴 𝟎 = [ ] 𝑴𝟏 = [ ] 𝑴𝟐 = [ ] 𝑴𝟑 = [ ]
𝟎 𝟏 𝟐 𝟏

95
Exemple 5.2 :

D’où le graphe de marquage correspondant :

𝟎
T1 [ ]
𝟐
𝟐 𝟏 𝟎
[ ] T1 [ ] T2 [ ]
𝟎 𝟏 𝟏

96
Exemple 5.3 : Donner le graphe de marquage

97
Exemple 5.3 (solution) :

𝟏 𝟎 𝟎
𝟎 𝟏 𝟎
𝟎 T1 𝟎 T2 𝟏 T4
𝟎 𝟏 𝟏
[ 𝟎] [ 𝟎] [𝟎]
T3
𝟎 𝟎
T3
𝟏 T2 𝟎
𝟎 𝟏
𝟎 𝟎
[𝟏] [𝟏] 98
Graphe de couverture :
Un graphe de couverture est semblable à un graphe de
marquage dans lequel on va utiliser un symbole, par
exemple {𝜔 } , pour indiquer la présence d'un nombre
arbitrairement grand de jetons (en pratique une infinité),
une transition peut alors prélever et ajouter librement des
jetons sur cette place.

99
Graphe de marquage ou graphe de couverture ?

Un graphe de marquage ne peut plus être construit quand


le réseau est non borné c-à-d quand le nombre de marquages
accessibles est infini.

D'où le recourt au graphe dit de couverture. C’est un


graphe à nombre de marquages fini.

100
 Arbre de couverture

L’arbre de couverture limite la taille de l’arbre lorsque le


nombre des états n’est pas fini, où le symbole ω permet de
représenter l'accroissement non borné du marquage d'une
place. Ce symbole est soumis à règles spécifiques.
 Graphe de couverture

Un graphe de couverture est obtenu à partir d'un arbre de


couverture en fusionnant les marquages identiques.

101
Algorithme de construction de l’arbre de recouvrement :

1. Création des successeurs 𝑀 de 𝑀0 en appliquant une seule


transition.
2. Si 𝑀 est strictement supérieur à 𝑀0 (𝑀(𝑃𝑖 ) > 𝑀0 (𝑃𝑖 ))
pour toute 𝑃𝑖 , alors on remplace par 𝜔 toutes les composants
de 𝑀 qui sont strictement supérieures à ceux de 𝑀0 .

102
3. Pour chaque nouveau marquage 𝑀: s’il existe sur le chemin
de 𝑀0 à 𝑀 un marquage identique à 𝑀, alors on ne génère pas
de successeur du marquage 𝑀 (≪ marquage déjà atteint ≫).
4. Si à partir de 𝑀 aucune transition n’est franchissable, Alors,
𝑀 n’a pas de successeur et on retourne à 3 (𝑀 est marque ≪
Blocage ≫), sinon on génère tous les nœuds successeurs de 𝑀
en respectant les règles suivants :

103
Les règles de génération

• Pour chaque successeur 𝑀′ de 𝑀, une composante 𝜔 de 𝑀


reste 𝜔 pour 𝑀′ .
• S’il existe sur le chemin de 𝑀0 à 𝑀 un marquage 𝑀′′ tel que:
𝑀′ (𝑃𝑖 ) > 𝑀′′ (𝑃𝑖 ) pour toute 𝑃𝑖 dans 𝑃 et 𝑀′′ ≠ 𝑀 ,
alors on remplace par 𝜔 les composantes de 𝑀′ qui sont
supérieures aux composantes de 𝑀′′ .

104
Exemple 5.4 : donner le graphe de recouvrement

105
Exemple 5.4 :

106
Exemple 5.5 : Donner l'arbre et le graphe de couverture de
l'exemple suivant :

107
Exemple 5.5 : Arbre de couverture

108
Exemple 5.5 : Graphe de couverture

109
Exemple 5.6 : graphe de couverture

110
Exemple 5.6 (solution) :
𝑇1 est une transition source, franchissable un nombre infini
de fois. D'où le recours au graphe de couverture.

A partir du marquage initial 𝑀0 = (0), seule la transition 𝑇1


est franchissable : 𝑀0 [𝑇1 → 𝑀1 tel que 𝑀1 = (1).

On remarque que 𝑀1 est supérieur à 𝑀0 donc 𝑀1 = (𝜔).

A partir de 𝑀1 , les deux transitions 𝑇1 et 𝑇2 sont


franchissables :
111
Si on franchit 𝑇1 :

𝑀2 = (𝜔 + 1) = (𝜔) = 𝑀1 donc 𝑀2 n'a plus de


successeurs.

Si on franchit 𝑇2 :

𝑀3 = (𝜔 − 1) = (𝜔) = 𝑀1 donc 𝑀3 n'a plus de


successeurs.

D'où le graphe de marquage correspondant :

112
Exemple 5.6 :

T1 [𝝎]
𝑀2
[𝟎] T1 [𝝎]
𝑀0 𝑀1
T2 [𝝎]
𝑀3

113
Propriétés d’un réseau de Petri :

Nous allons voir les propriétés qu’on peut établir pour un RdP
en construisant et en analysant le graphe des marquages
atteignables :
 Bornitude
 Vivacité
 atteignabilité

114
Bornitude :

Cette propriété répond à la question de savoir si le nombre


de jetons circulant dans le réseau reste borné ou non.

Une place 𝑃𝑖 d’un RdP <𝑃𝑁, 𝑀> est 𝑘-bornée s’il existe un
entier 𝑘 tel que 𝑀(𝑃𝑖 ) ≤ 𝑘 pour tout 𝑀 dans 𝑅(𝑀0 )).
On dit que le RdP est sauf s’il est 1-borné.

115
Bornitude :

Un RdP est borné si et seulement si les marquages liés aux


nœuds de l’arbre de recouvrement ne contiennent pas
l’élément ‘𝜔’.
Un réseau de Petri est 𝑘-borné si toutes ses places sont 𝑘-
bornées.

116
Exemple d’un réseau non borné :
La transition T1 est franchissable en permanence et peut donc
être franchie un nombre de fois infini. Chaque franchissement
de T1 ajoutant une marque dans la place P2 et le marquage de
celle-ci peut donc tendre vers l’infini.

117
Vivacité :

La propriété de vivacité examine si une partie ou l’ensemble


du réseau peut ou non évoluer.
Une transition 𝑇𝑗 d’un RdP <𝑃𝑁, 𝑀> est quasi-vivante si et
seulement s’il existe une séquence de franchissement 𝑆 telle
que la transition 𝑇𝑗 est franchissable immédiatement après le
tir de la séquence 𝑆.

118
Vivacité (transition vivante) :
Une transition 𝑇𝑗 d’un RdP <𝑃𝑁, 𝑀> est vivante si quel que
soit le marquage 𝑀, il existe une séquence 𝑆 qui, partant de
𝑀, conduit à un marquage qui permet de franchir la transition
𝑇𝑗 : ∀𝑀 ∈ 𝑅(𝑀0 ), ∃𝑀′ ∈ 𝑅(𝑀) tel que 𝑇𝑗 est franchissable
pour 𝑀′ .
Autrement dit quel que soit l'évolution, il subsistera toujours
une possibilité de franchir Tj à nouveau.

119
Vivacité (RdP vivant) :
Un RdP marqué est vivant pour un marquage initial 𝑀0 si
toutes ses transitions sont vivantes pour ce marquage initial.
Exemple d’un réseau vivant :

Les transitions T1 et T2 sont


toujours validées successivement,
donc ce réseau est vivant.

120
Exercice : Déterminer la vivacité de T1, T2, T3

121
Exercice (solution) :

Les transitions T2 et T3 sont


vivantes alors que T1 est quasi
vivante, car elle est franchissable
uniquement au démarrage.

Ce réseau n’est PAS


VIVANT.

122
Vivacité :
Un réseau de Petri marqué < 𝑃𝑁, 𝑀0 > est vivant , s’il est
réversible (réinitialisable) et que toutes ses transitions sont
quasi vivantes.
Réseau réversible :
Soit un réseau de Petri marqué< 𝑃𝑁, 𝑀0 > et soit 𝑅(𝑀0 )
l’ensemble de ses marquages accessibles. Ce réseau marqué
est réversible si et seulement si :
∀𝑀 ∈ 𝑅(𝑀0 ), 𝑀 ≠ 𝑀0 , ∃𝑠 tel que 𝑀 → 𝑀0
123
Un RdP est réversible (ou réinitialisable) si quel que soit le
marquage 𝑀 atteignable à partir de 𝑀0 , 𝑀0 est aussi
atteignable à partir de 𝑀.
Un marquage 𝑀𝑎 est un état d’accueil s’il peut être atteint à
partir de tous les marquages atteignables

124
Exemple 5.9 : un réseau de Petri réinitialisable

125
Atteignabilité :

L’atteignabilité d’un marquage 𝑀′ à partir de 𝑀 consiste à


vérifier s’il existe une séquence 𝑆 tel que 𝑀′ ∈ 𝑅(𝑀).

Pour tout marquage atteignable 𝑀 d’un RdP < 𝑃𝑁, 𝑀0 >


l’équation 𝑀 = 𝑀0 + 𝑊. 𝑌 admet une solution.

126
2. Méthodes basées sur l’algèbre linéaire
La construction et l’analyse du graphe des marquages
atteignables permet de déduire les propriétés d’un RdP.
Néanmoins, ce graphe peut devenir très grand : exponentiel
en fonction du nombre de places.
 L’analyse structurelle peut aider à établir des propriétés
sans construire le graphe de recouvrement. Les
techniques principales sont :
P-invariant et T-invariant
127
P-invariant :
Les solutions de l’équation 𝑊 𝑡 . 𝑋 = 0 sont appelées places
invariantes ou P-invariants.
𝑋 est un invariant propre si 𝑋 = 0.
Un P-invariant indique que le nombre de marques dans tous
les marquages atteignables satisfait une invariante linéaire.

128
Exemple 6.1 :
1. Calcul du marquage après franchissement de la séquence
𝑆 = 𝑇1 𝑇2 𝑇4
2. Trouver un P-invariant

129
Exemple 6.1 (solution) :
1. D’après l’exemple ci-dessus, le marquage initial est :
𝑀0 = (1 0 0 1 1 0 0)𝑡
Nous supposons que la séquence des transitions à franchir
est : 𝑆 = 𝑇1 𝑇2 𝑇4 donc 𝑢 = 𝑣𝑠𝑡 = (1 1 0 1 0 0 0)𝑡
Donc le nouveau marquage après franchissement de cette
séquence est donné par : 𝑀 = 𝑀0 + 𝑊. 𝑢
Le calcul de 𝑀 donne le résultat suivant :
𝑴 = (𝟎 𝟎 𝟏 𝟎 𝟏 𝟎 𝟎)𝒕
130
REMARQUE :
Dans ce cas, le marquage après franchissement de cette
séquence est atteignable.
En général, l’équation d’état ne garantit pas qu’un tel
marquage est atteignable.
Cependant, on peut parfois utiliser l’équation d’état pour
montrer qu’un marquage 𝑴 ne peut pas être atteint, quand
l’équation 𝑀0 + 𝑊. 𝑢 a une solution non naturelle.

131
Exemple 6.1 (solution) :
2. Un P invariant vérifie l’équation suivante : 𝑊 𝑡 . 𝑋=0
On obtient alors 7 équations :
−𝒙𝟏 + 𝒙𝟐 = 𝟎 𝒙𝟏 = 𝒙𝟐
−𝒙𝟐 + 𝒙𝟑 − 𝒙𝟒 = 𝟎
𝒙𝟏 − 𝒙𝟑 + 𝒙𝟒 = 𝟎 𝒙𝟓 = 𝒙𝟔
−𝒙𝟒 − 𝒙𝟔 + 𝒙𝟕 = 𝟎
𝒙𝟑 = 𝒙𝟏 + 𝒙𝟒
𝒙𝟒 + 𝒙𝟓 − 𝒙𝟕 = 𝟎
𝒙𝟒 + 𝒙𝟓 − 𝒙𝟕 = 𝟎 𝒙𝟒 = 𝒙𝟕 − 𝒙𝟔
−𝒙𝟓 + 𝒙𝟔 = 𝟎
Les vecteurs 𝑿𝟏 = (𝟏 𝟏 𝟏 𝟎 𝟎 𝟎 𝟎)𝒕 , 𝑿𝟐 = (𝟎 𝟎 𝟏 𝟏 𝟎 𝟎 𝟏)𝒕
et 𝑿𝟑 = (𝟎 𝟎 𝟎 𝟎 𝟏 𝟏 𝟏)𝒕 sont des p-invariant.
132
Propriétés (P-invariant) :

Soit 𝑀 un marquage obtenu après le franchissement d’une


séquence de transitions de vecteur caractéristique 𝑈 :
𝑀 = 𝑀0 + 𝑊. 𝑈
Soit 𝑋 un P-invariant (𝑊 𝑡 . 𝑋 = 0), alors :
𝑀𝑡 . 𝑋 = (𝑀0 + 𝑊. 𝑈)𝑡 . 𝑋 = 𝑀0𝑡 . 𝑋 + 𝑊 𝑡 . 𝑈 𝑡 . 𝑋
= 𝑀0𝑡 . 𝑋

133
Propriétés (P-invariant) :

Dans l’exemple 6.1, 𝑋1 est un P-invariant ça veut dire que tous


les marquages atteignables vérifient :
𝑀𝑡 . 𝑋=𝑀0𝑡 . 𝑋
(0 0 1 0 1 0 0). 𝑋1 =(1 0 0 1 1 0 0). 𝑋1
𝑀(𝑃1 ) + 𝑀(𝑃2 ) + 𝑀(𝑃3 )= 𝑀0 (𝑃1 ) + 𝑀0 (𝑃2 ) + 𝑀0 (𝑃3 )=1

134
T-invariant :
Soit 𝑈 un vecteur caractéristique d’une séquence de
franchissement.
La solution de l’équation 𝑊. 𝑈 = 0 est appelée T-invariant
(transitions invariants) .
Si 𝑈 est un T-invariant, alors le marquage 𝑀 résultant d’une
séquence correspondant à 𝑈 est tel que 𝑀 = 𝑀0 (𝑀0 :
marquage initial).

135
Exemple 6.2 :
On considère le RdP suivant :

1. le marquage 𝑀 = (1 1)𝑡 est atteignable ?


2. Donner un T-invariant

136
Exemple 6.2(solution) :
1. L’ équation 𝑀0 + 𝑊. 𝑈 n’admet pas de solution et par
conséquent le marquage 𝑀 = (1 1)𝑡 n’est pas
atteignable.

2. 𝑊. 𝑈 = 0 −𝑢1 + 𝑢2 = 0
𝑢1 − 𝑢2 = 0
𝑈 = (1,1)𝑡 est un T-invariant
137
Exercice : trouver un T-invariant à partir des équations
linéaires pour le réseau suivant :

138

Vous aimerez peut-être aussi