Académique Documents
Professionnel Documents
Culture Documents
Réseau de Petri
Superviseur: Victor MORARU
Auditeur: TRÂN Vinh Duc
Institut de la Francophonie pour l’Informatique - Promotion 10
15 juillet 2005
Résumé
Le réseau de Petri est un outil très puissant pour la modélisation et
l’analyse de système. Dans ce rapport on représente 2 types de réseau
de Petri : réseau de Place/Transition et réseau coloré. Pour le réseau
Place/Transition les propriétés comportementales et la méthode d’ana-
lyse sont représentées en détail, plusieurs exemples donnés pour indi-
quer la capacité de modélisation de type de ce réseau. Avec le réseau
coloré, des descriptions informelles données pour bien comprendre les
définitions formelles, et l’outil CPN Tool est aussi introduit. Et une ap-
plication d’analyse d’un protocole simple est représentée pour montrer
la capacité d’application industrielle de ce réseau.
2 Réseau de Place/Transition 3
2.1 Définitions et Exemples . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.2 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Propriétés comportementales . . . . . . . . . . . . . . . . . . 8
2.3 Méthodes d’analyse . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Graphe de marquages . . . . . . . . . . . . . . . . . . 9
2.3.2 Equation de matrice . . . . . . . . . . . . . . . . . . . 14
1
4 Exemple de Protocol simple 25
4.1 Description de Protocole . . . . . . . . . . . . . . . . . . . . . 25
4.2 Analyse de l’espace d’état . . . . . . . . . . . . . . . . . . . . 26
5 Conclusion 30
1 Introduction
Le réseau de Petri (ou par abréviation le réseau) est un outil graphique
et mathématique pour modéliser et analyser les systèmes discrets, parti-
culièrement les systèmes concurrents, parallèles, non-déterministes, etc. En
étant rôle d’outil graphique, il nous aide à comprendre facilement le système
modèlisé, et plus il nous permet de simuler les activités dynamiques et
concurrentes. Avec le rôle d’outil mathématique, il nous permet d’analyser le
système modélisé grâce aux modèles de graphes, aux équations algébriques,
etc.
En général, les méthodes de l’étude de système par réseau se composent
3 étapes : premièrement on récrit le système en terme de réseau, on obtient le
modèle en réseau ; deuxièmement on analyse le modèle obtenue, on déduit
des propriétés comme absence de blocage, existence d’une solution, etc. ;
finalement on fait la révision des propriétés obtenues pour montrer si le
système est bon. Le résultat de cette méthode nous indique une analyse
qualitative du systèmes. Elle est une approche très importante pour avoir
une bonne évaluation des systèmes.
Informellement, le réseau est un graphe biparti ayant 2 types des noeuds.
Certains étant les transitions représentent les actions élémentaires du système,
et les autres étant les places représentent ses ressources.
Pour modéliser et analyser les applications industrielles, qui sont de plus
en plus compliqués, plusieurs types de réseau sont représentés. Selon la pro-
position des Monika Trompedeller en 1995, les réseaux sont classifiés en 3
niveaux :
Niveau 1 : Les réseaux caractérisés par les places qui peuvent représenter
des valeurs booléennes. Un exemple de ce type est les Réseaux de
Condition/Evenement ;
Niveau 2 : Les réseaux sont caractérisés par les places qui peuvent représenter
des valeurs de nombre entier. Un exemple de ce type est les Réseaux
de Place/Transition ;
Niveau 3 : Les réseaux sont caractérisés par les places qui peut représenter
des valeurs à niveau élevé, c-à-d., une place est marquée par un multi-
ensemble de jetons structurés. Un exemple de ce type est les Réseaux
colorés.
Historiquement, le réseau est présenté par Carl Adam Petri dans sa thèse
”Communication avec des Automates” en Allemagne à Bonn en 1962. Ce tra-
2
vail a continué à être développé par Anatol W. Holt, F. Commoner, M. Hack
et leurs collègues dans le groupe de recherche de Massachussetts Institute Of
Technology (MIT) dans des années 70s. En 1975 la première conférence de
réseau de Petri et des méthodes relationels ont été organisés à MIT. En 1981
le premier livre du réseau de Petri a été publié en Anglais par J. Peterson.
Aujourd’hui, suivre Petri-Net Newsletter, chaque année il y a des 600 aux
800 d’oeuvres des réseaux de Petri sont publiés.
Le reste de cet rapport comprend les matières suivantes. La section 1
introduit le réseau de Place/Transition : les définitions et les exemples, les
propriétés et la méthode d’analyse. Dans la section 2, on représente le réseau
coloré : les descriptions informelles, les définitions formelles et l’outil CPN
Tool. Dans la section 3, on aborde une petite application d’analyse de pro-
tocole simple en utilisant le réseau coloré. Finalement, on termine le rapport
par quelques conclusions.
2 Réseau de Place/Transition
2.1 Définitions et Exemples
2.1.1 Définitions
Un réseau de Petri est un graphe biparti orienté valué qui a 2 types
de noeud : la place et la transition ; les arcs sont limités, soit il est un
lien d’une place à une transition, soit un lien d’une transition à une place.
L’arcs est etiquetés par une valeur (ou un poids), qui est un nombre entier
positif. L’arc ayant k−poids peut être interprété comme ensemble de k arcs
parallèles. L’étiquette du poids égale à 1 est ignorée.
Un marquage assigne un nombre entier à chaque place, si un marquage
assigne un entier k à une place p, on dit que p est marqué par k jetons.
On considère d’abord la structure fondamentale qui se compose de deux
sortes d’objets (les places et les transitions) et des relations entre eux.
Graphiquement, les places sont présentées par des cercles ; et les transi-
tions par des rectangles noirs.
3
et X ⊆ S ∪ T , on note :
[ [
• •
X= x, X• = x•
x∈X x∈X
Évidemment, on a ∀x, y ∈ N : x ∈ • y ⇔ y ∈ x• .
t4 t3
s5 s4
s1
t2 t1
s3
s2
P = {p1 , · · · , p5 }, T = {t1 , · · · , t4 }
F = {(p1 , t2 ), (p2 , t2), (p3 , t1 ), (p5 , t4 ), (p4 , t3 ), (t2 , p3 ), (t1 , p2 ), (t1 , p5 ), (t4 , p4 ), (t3 , p1 )}
•
t2 = {p1 , p2 }, t2 • = {p3 }
•
{t2 , t3 } = {p1 , p2 , p4 }, {t2 , t3 }• = {p1 , p3 }
4
Et les marquages sont présentés par les dots dans les places (les poids
sont égales aux nombre de jetons).
Le comportement du systèmes peut être décrit par les termes de l’état
du système et ses changements. Pour simuler le comportement dynamique
d’un système, l’état ou le marquage dans le réseau est changé selon la règle
de transition suivante :
– Une transition t s’appelle franchissable si chaque place d’entrée p de t
a plus W (p, t) jetons (W (p, t) est le poids dans d’arc (p, t)), i.e.,
∀s ∈ • t : M (s) ≥ W (s, t)
2.1.2 Exemples
Exemple 3 (Système de 4 saisons). On considère un système décrivant
4 saisons (dans Fig. 3). S’il est printemps et l’événement ”début d’été” se
produit, la saison change à l’été. Ensuite, si l’événement ”début de automne”
se produit, la saison est automne, etc. Le système modèlise le changement
séquentiel entre les saisons.
5
H2
••
2 t H2 O
2
O2
••
(a)
H2
2 t H2 O
2 ••
O2
•
(b)
Fig. 3 – 4 saisons
6
•••
Tampon
• •
Producteur Consommateur
Fig. 4 – Système de producteur-consommateur
p1 t2 p3
•
t1 t4
Par Begin Par End
p2 t3 p4
•
p5
7
2.2 Propriétés comportementales
Après avoir modélisé le système, une question naturelle qu’on pose est
”Qu’est-ce qu’on peut faire avec ce modèle ?”. Le réseau de Petri nous donne
les techniques pour analyser les propriétés et les problèmes concernant les
systèmes concurrents.
Dans cette partie, on donne des problèmes, des propriétés qui peuvent
être analysés par les réseaux de Petri.
Problème d’accessibilité
Un marquage Mn s’appelle accessible à partir d’un marquage M 0 s’il
existe une séquence des franchissements qui transforme M 0 à Mn . Une
séquence des franchissements est notée par
σ = M 0 t1 M1 t2 M2 · · · t n Mn
ou simplement
σ = t 1 t2 · · · t n
Dans ce cas Mn est accessible à partir de M0 grâce à σ, on écrit
M0 [σ > Mn
k-Borné
Un réseau de Petri (N, M0 ) est appelé k−borné (k ∈ N ) ou simplement
borné si le nombre de jetons dans chaque place n’est pas supérieur à k,
c’est-à-dire :
∀M ∈ R(M0 ), ∀p ∈ P : M (p) 6 k
Quasi-vivacité
Une transition t est dite quasi-vivante s’il existe un marquage accessible
M ∈ R(M0 ) tel que M [t >.
Le réseau (N, M0 ) est dit quasi-vivant si toutes les transitions sont quasi-
vivantes.
Une quasi-vivacité d’une transition désigne la probabilité de franchir au
moins une fois cette transition depuis un marquage initial.
8
Vivacité
Une transition t d’un réseau (N, M0 ) est vivante si pour tout marquage
accessible M ∈ R(N, M0 ), t est quasi-vivant pour le réseau (N, M ).
Un réseau (N, M0 ) est vivant si toutes ses transitions sont vivantes.
La vivacité exprime le fait qu’à tout instant de l’évolution de ce système,
le franchissements à terme de cette transition n’est jamais définitivement
impossible.
9
(1, 0)
(1, 0)
t1
t1
p1 p2 (0, 1)
• t2
t2 t1
(1, 0)
t2 t1
..
.
(0, 1)
(a)
(b) (c)
Fig. 6 – Exemple de graphe fini : (b) et (c) sont l’arbre des marquages
accessibles et le graphe des marquages de réseau de Petri (a).
(1, 0, 0)
t1 t2
t1 (1, 1, 0) t2 (0, 1, 1)
t3
(1, 2, 0) (0, 2, 1)
t1 t2 t3
(0, 0, 1)
t3
.. ..
. .
(0, 0, 1)
10
Si le graphe de marquages accessibles est fini, c’est la situation la plus
favorable car alors toutes les propriétés peuvent être déduites simplement
par inspection de celui-ci.
Avec cette présentation l’arbre peut-être infini si le réseau n’est pas
borné. Pour l’éviter, on doit accepter de perdre des informations. Pour
l’arbre infini, le nombre de jetons dans les places pouvant avoir une quan-
tité arbitrairement grande de jetons vont être considère comme une valeur
particulières, noté par ω. Il a la propriété que pour chaque entier n,
ω+n=ω
ω−n=ω
n≤ω
ω≤ω
11
t3 • p1
p2 t1
t0
t2 p3
12
M0 = (1, 0, 0)
t3
t1
M1 = (0, 0, 1) M3 = (0, ω, 0)
”terminal”
t3
t1
M4 = (0, ω, 1) M6 = (1, ω, 0)
”déjà”
t2
M5 = (0, ω, 1)
”déjà”
13
2.3.2 Equation de matrice
Deuxième approche pour analyser le réseau de Petri se base sur la représentation
de matrice de réseau. Du réseau (N, M 0 ) on definit D − et D + étant 2 ma-
trices de m-ligne (une ligne pour 1 transition) et n-colume (une colonne pour
une place) comme suivant :
M > e[tj ]D −
M 0 = M − e[tj ] · D − + e[tj ] · D +
= M + e[tj ] · (−D − + D + )
= M + e[tj ] · D
où D = −D − + D + .
Pour une séquence du franchissement des transitions σ = t 1 t2 . . . tk , on
a
M 0 = M + e[t1 ] · D + . . . + e[tk ] · D
= M + (e[t1 ] + . . . + e[tk ]) · D
= M + f (σ) · D
Le vecteur f (σ) = e[t1 ]+. . . +e[tk ] s’appelle le vecteur Parikh de la séquence
t1 t2 . . . tk . L’élément t de ce vecteur est le nombre de fois de transition t de
franchissement dans la séquence σ = t 1 t2 . . . tk .
Cette approche nous donne un outil pour attaquer le problème d’acces-
sibilité. Si un marquage M 0 est accessible à partir d’un marquage M , donc
il existe une séquence σ (possible vide) du franchissement de transition qui
se produit à M 0 . C’est-à-dire f (σ) est une solution de entière non négative,
pour x dans l’équation de matrice :
M0 = M + x · D
14
p2
t2
2
•
p4
p1 t1
•
p3
t3
15
f (σ) = (1, 2, 2) et on a le marquage M 0 ,
0 −1 −1 0
M 0 = (1, 0, 1, 0) + (1, 2, 2) · 0 2 1 −1
0 0 −1 1
= (1, 0, 1, 0) + (0, 3, −1, 0)
= (1, 3, 0, 0)
p2
t1 t2
•
p1 p4
p3
16
Cette équation a une solution f (σ) = (1, 1) correspond à 2 séquences t 1 t2
ou t2 t1 . Mais tous les deux ne sont pas possibles parce que t 1 et t2 ne
sont pas franchissables à partir de (1, 0, 0, 0). Donc cette condition n’est pas
suffisante.
17
PH.all()
Think
PH
p
Take
Chopsticks
Chopsticks(p)
p
CS.all()
Unused
p Eat
Chopstics
PH CS
p
Chopsticks(p)
Put Down
Chopsticks
val n = 5 ;
color PH = index ph with 1..n ;
color CS = index cs with 1..n ;
var p : PH ;
fun Chopsticks (ph(i)) =
1‘cs(i)++1‘cs (if i = n then 1 else i+1) ;
18
marquage intitial M0 :
Après avoir assigné les variables concernant une transition, on évalue l’ex-
pression de l’arc en assignant :
– p −→ ph(2)
– Chopsticks(ph(2)) −→ 1‘cs(2) + +1 0 cs(3)
Dans ce cas, si la place Eat contient ph(2), l’élément d’association
19
Avec le marquage M0 comme Fig. on a 5 éléments d’association accessibles :
Parce que avec le marquage initial, la place Eat ne contient pas ph(2),
l’élément d’association
est inaccessible.
Dans le réseau coloré, plusieurs éléments d’association peuvent se pro-
duire en même temps s’ils peuvent être assigné indépendamment par les je-
tons différents. Dans ce cas, on a le concept de concurrence pour les éléments
d’association.
Par exemple, avec le marquage initial les éléments d’association suit
peuvent concurramment se produire :
(
(Take Chopstick, < p = ph(1) >)
(Take Chopstick, < p = ph(3) >)
20
3.2 Definitions formelles
D’abord on définit des multi-ensembles.
Definition 5. Un multi-ensemble m, sur un ensemble non vide S, est une
fonction m ∈ [S → N ], que nous pouvons représenter comme somme for-
melle : X
m(s)‘s
s∈S
m1 6= m2 = ∃s ∈ S : m1 (s) 6= m2 (s)
m1 6 m2 = ∀s ∈ S : m1 (s) 6 m2 (s)
P
– taille : |m| = s∈S m(s) P
– soustraction : m2 − m1 = s∈S (m2 (s) − m1 (s))‘s
Exemple 8. pour le muti-ensemble m1 = {a, a, b, b, b, c} et m2 = {a, b, d}
sur S = {a, b, c, d}, on a m(a) = 2, m(b) = 3, m(c) = 1 et m(d) = 0 donc la
somme formelle : 2‘a + 3‘b + 1‘c . Et m1 + m2 = 3‘a + 4‘b + 1‘c + 1‘d.
avec cet exemple on écrit, 2‘a + +3‘b + +1‘c pour m 1 , et 1‘a + +2‘b + +1‘d
pour m2 .
21
– La valeur obtenue en évaluant une expression, expr, dans une asso-
ciation, b - dénoté par expr < b >. V ar(expr) est appliqué d’abord
pour obtenir un sous-ensemble des variables de b, puis l’évaluation est
exécutée en remplaçant chaque variable v ∈ V ar(expr) à la valeur
b(v) ∈ T ype(v) qui est déterminée par la association.
Une expression sans variables s’appelle une expression fermée. Elle peut
être évaluée dans toutes les associations, et toutes ces évaluations donnent
la même valeur.
P ∩T = P ∩A = T ∩A = ∅
– E est une fonction d’expression d’arc. Il est défini de A dans les ex-
pressions tel que :
∀p ∈ P : [T ype(I(p)) = C(p)M S ].
22
Definition 9. Un pas est un multi-ensemble des éléments de l’association.
tel que ∀i ∈ {1, · · · , n} : Mi [Yi > Mi+1 . On utilise [M > pour dénoter
l’ensemble de tous les marquages qui sont accessibles de M .
23
1‘(1,"Modellin")++
1‘(2,"g and An")++
INTxDATA
1‘(3,"alysis b")++
Send 1‘(4,"y Means ")++ "" Received
1‘(5,"of Colou")++ DATA
1‘(6,"red Petr")++
(n,p) if Ok(s,r) if n=k
1‘(7,"i Nets##")++ str
INTxDATA
1‘(8,"########") then 1‘(n,p) INTxDATA andalso
Send (n,p) (n,p) Transmit else empty (n,p) p<>stop
A B then str^p
Packet Packet
else str
s
n n
Ten0
8 SP k
1 1
NextSend NextRec Receive
INT if n=k Packet
INT Ten0
8 SA
then k+1
k n if n=k
s else k
then k+1
else k
ReceiveAck D TransmitAck C
n if Ok(s,r) n
INTthen 1‘n INT
else empty
Sender Network Receiver
Simple Protocol
24
4 Exemple de Protocol simple
4.1 Description de Protocole
Le réseau de Petri coloré qui modèlise le protocole est indiqué dans Figure
1. Il se compose 3 parties :
1. La partie Sender a 2 transitions qui peuvent Send Packets et Receive
Acknowledgments :
2. La partie Network a 2 transition qui peuvent Transmit Packets et
Transmit Acknowlegement ;
3. La partie Receiver n’a qu’une transition qui peut Receiver Packets ;
Les places A et D est l’interface entre Sender et Network, et les places B et
C est l’interface entre le Network et Receiver.
Les paquets envoyant sont placés dans la place Send (dans le coin gauche
supérieur). Chaque jetons dans cette place contient le numéro de paquet et
donnés de paquets (représenté par une chaı̂ne). La place Next Send contient
le numéro de paquet suivante qui va être envoyé. Il est initialisé par 1, et
chaque fois un acquittement est reçu, il est mis à jours.
Le contenu du message reçu est placé dans la place Received (dans le coin
droite supérieur). Cette place contient seulement un jeton avec une chaı̂ne de
texte qui est concatenation de chaı̂ne de texte contenu dans le paquet reçu.
Ce texte est initialisé par la chaı̂ne vide, i.e “”. À fin de la transmission,
on espère que la place Received contient le texte “Modelling and Analysis
by Means of Colored Petri Net”. La place Next Rec contient le nombre de
paquet suivant qui sont reçu. Initialement ce numéro est 1, et chaque fois
un paquet est reçu successivement, il est mis à jours.
On ne modèlise pas comment Sender coupe un message à un séquence
de paquets ou comment Receiver intègre les paquets à un message. On ne
modèle pas comment les jetons dans Send et Received sont supprimés quand
la transmission est terminée ou comment les numéros des paquets dans Next
Send and Next Rec sont reset à 1.
Send Packet envoie un pacquer à Network en créant une copie de paquet
dans place A. Le numéro dans Next Send spécifie quel pacquet est envoyé.
On remarque que le paquet n’est pas supprimé dans Send. La raison est que
le paquet peut être perdu, donc on doit retransmettre.
Notre protocole est pessimiste, dans le sens qu’il continue à répéter le
même paquet jusqu’à il obtient un acquittement qui dit que le paquet a
réusit à recevoir. Transmit Packet transmet un paquet de Sender de Network
à Receiver en plaçant le correspond jeton A à B. L’expression booléene
OK(s,k) determine le paquet est successivement transmis ou perdu. Cette
fonction renvoie la valeur vraie si r ¿= s sinon il renvoie la valeur fausse. C’est
CPN Tool qui va choisir aléatoirement la valeur r, c’est-à-dire la probabilité
de succès de transmission. On donne la valeur 8 à SP, on a 80% chance
25
de succès de la transmission. Il est facile à modifier le taux du succès en
changeant simplement la valeur du jeton dans SP.
Receive Packet reçoit un paquet et vérifie si le nombre n de paquet est
identique au nombre k dans Next Rec,si n est égal à k, k est augmenté de
1 et la chaı̂ne des textes dans le paquet est enchaı̂née à la chaı̂ne des textes
dans le Received et la chaı̂ne reçu n’est pas stop, i.e “#######”(end-
of-message), sinon le paquet est ignoré et le numéro dans Next Rec n’est
pas changé. Dans tous 2 cas un acquittement contient le numéro de paquet
suivante que Sender va envoyer est envoyé.
Transmit Acknowledgement transmet un acquittement de Receiver de
Network à Sender en plaçant le correspondant jeton de C à D. Ce travail est
façon similaire que Transmit Packet. C’est-à-dire le acquittement peut être
perdu avec la probabilité déterminé par le jeton dans la place SA.
Receive Acknowledgment reçoit un acquittement et mis à jours le numéro
dans Next Send en replaçant le valeur ancien à celui contient dans acquit-
tement.
Quand le paquet final (avec “######”) est reçu avec succès par Re-
ceiver, Next Rec contient le valeur 9 (nombre de paquet + 1). Cette valeur
va (via un acquittement) communiquer avec Sender, Next Send va mettre à
jours à 9, et le transmission va terminer car il n’y a pas de paquet ayant ce
numéro. Après quelques pas où les places A, B, C et D sont supprimés pour
paquets/acquittements, le réseau va obtenir le état mourit avec le marquage
final.
State Space
Nodes : 13058
Arcs : 185503
Secs : 300
Status : Partial
26
est infini car l’élément d’association
INTxDATA 1‘(1,"Modellin")++
1‘(2,"g and An")++
Send "" Received
1‘(3,"alysis##")++
1‘(4,"########") DATA
(n,p)
str
INTxDATA INTxDATA if n=k
Send (n,p) (n,p) Transmit if Ok andalso
A B p<>stop
Packet Packet then 1‘(n,p) (n,p)
else empty then str^p
else str
n n if Ok
e
then empty
1 2‘e else 1‘e 1 k
Receive_
NextSend Limit NextRec
Packet
INT if Ok INT if n=k
E
then empty then k+1
k n e else 1‘e else k if n=k
then k+1
if Ok else k
Receive Transmit_
D then 1‘n Acknow. C
Acknow. n n
else empty
INT INT
Sender Network Receiver
Fig. 15 –
27
Statistics
------------------------------------------------------------
State Space
Nodes: 428
Arcs: 1130
Secs: 1
Status: Full
les différentes places peuvent avoir. on voit que chacune des places A, B,
C, D, et Limit a toujours entre zéro et deux jetons. On voit également que
NextRec, NextSend, et Received ont toujours exactement un jeton, on voit
que Send a toujours exactement quatre jetons comme prévu.
Les parties plus inférieures de tab. 2f montrent les limites de multi-
ensemble. Par définition, la limite supérieure de multi-ensemble d’une place
est le plus petit multi-ensemble qui est plus grand que tous les marquages
accessibles de la place. De façon analogue, la limite inférieure de multi-
ensemble est le plus grand multi-ensemble qui est plus petit que toutes
les marquages accessibles de la place. Les limites de nombre entier nous
donnent des informations sur le nombre de jetons, alors que les limites de
multi-ensemble nous fournissent des informations sur les valeurs que le jeton
peut porter.
Des limites de multi-ensemble nous voyons que les endroits A et B
peuvent contenir tous les quatre paquets différents, tandis que les endroits
C et D peuvent contenir chacun des quatre acquittements possibles. Parce
qu’un acquittement indique toujours le nombre du prochain paquet à en-
voyer (par conséquent on n’a jamais un acquittement avec la valeur 1).
Propriétés de vivacité et de Home. Troisième partie du rapport concer-
nant propriété de home et de vivacité du protocole. Le home et vivacité sont
très interessants. Il nous indique que le système a exactement un marquage
mortel M235 et il est aussi a home marquage.
Marquage M235 est indiqué suit. Il correspond à la situation ou tous
les quatre paquets sont transmit avec succès. La situation que M 235 est
un marquage mortel nous montre que le protocole est partie correcte - s’il
est terminé il termine avec le résultat correct. La situation que M 235 est un
marquage Home nous montre qu’il a un bonne propriété qu’il ne peut jamais
obtenir un état dont on ne peut pas se produire le marquage final.
28
Boundedness Properties
------------------------------------------------------------
Best Integers Bounds Upper Lower
Top’A 1 2 0
Top’B 1 2 0
Top’C 1 2 0
Top’D 1 2 0
Top’Limit 1 2 0
Top’NextRec 1 1 1
Top’NextSend 1 1 1
Top’Received 1 1 1
Top’Send 1 4 4
29
Home Properties
------------------------------------------------------------
Home Markings: [235]
Liveness Properties
------------------------------------------------------------
Dead Markings: [235]
Dead Transitions Instances: None
Live Transitions Instances: None
5 Conclusion
On a représenté brièvement 2 types de réseau : réseau de Place/Transition
et réseau coloré. Ils sont les représentations mathématiques permettant la
modélisation d’un système. Et 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.
Les réseaux de Place/Transition a une théorie basé sur une base mathématique
solide, les résultats sont profondeur. Les systèmes étant modélisé par les
réseaux de Place/Transition peuvent être évalué facilement grâce à ces résutats.
Mais avec les applications industrielles, c’est très difficile à être modélisé par
ces réseaux à cause des règles de franchissement trop simple, donc c’est trop
compliqué, on doit peut-être utiliser millier de places et transitions pour une
petite application. Dans ce cas, le réseau coloré est plus raisonable.
Les réseaux colorés ont une définition très compliquée, c’est très diffi-
cile pour les praticiens maı̂trise la syntaxe de réseau. Mais heureusement, il
existe des outils pour éditer les réseaux colorés, vérifier sa syntaxe, vérifier
automatiquement des propriétés comportementales du réseau, etc. Donc, les
praticiens peuvent utiliser le réseau coloré mais ils ne doivent pas apprendre
par coeur les syntaxes. Il est similaire dans le cas du langage, on peut écrire
des programme mais on ne doit pas connaı̂tre toutes les grammaire du lan-
gage.
La relation entre le réseau Place/Transition et le réseau coloré peut
considérer comme relation entre le langage à bas niveau (le langage de ma-
chine, le langage Assembly, etc.) et le langage à haut niveau (Java, C, Pascal,
etc.). Ils ont même capacité de la programmation mais pour les grandes ap-
plications, qui plus conviennent à le langages à haut niveau que celui à bas
niveau.
30
Références
[1] T. Murata, Petri Nets : Properties, Analysis and Application. In : Pro-
ceeding of the IEEE, Vol. 77, No. 4. IEEE Computer Society, 1989
[2] C. Xiong, T. Murata, and J. Tsai, ”Modeling and Simulation
of Routing Protocol for Mobile Ad Hoc networks Using Co-
lored Petri Nets,” Research and Practice in Information Tech-
nology, Vol. 12, pp.145-153, Australian Computer Society, 2002.
(http ://www.jrpit.flinders.edu.au/CRPITVolumeIndex.html)
[3] L.M. Kristensen, S. Christensen, K. Jensen, The Practitioner’s Guide
to Coloured Petri Nets. International Journal on Software Tools for
Technology Transfer, 2 (1998), Springer Verlag, 98-132
[4] K. Jensen : A Brief Introduction to Coloured Petri Nets. In : E.
Brinksma (ed.) : Tools and Algorithms for the Construction and Ana-
lysis of Systems. Proceeding of the TACAS’97 Workshop, Enschede,
The Netherlands 1997, Lecture Notes in Computer Science Vol. 1217,
Springer-Verlag 1997, 203-208.
[5] K. Jensen, An Introduction to the Pratical Use of Colored Petri Nets.
In : Reisig, W., Rozenberg, G. (eds.) : Lectures on Petri nets II, LNCS
1492. Berlin, Heidelberg, New York : Springer Verlag, 1998, pp. 237-292
[6] K. Jensen, An Introduction to the Theoretical Aspects of Coloured Petri
Nets. In : J.W. de Bakker, W.-P. de Roever, G. Rozenberg (eds.) : A
Decade of Concurrency, Lecture Notes in Computer Science vol. 803,
Springer-Verlag 1994, 230-272
[7] J. Peterson, Petri Net Theory and the Modeling of Systems. Prentice
Hall, 1981.
[8] Wolfgang Reisig. Petri Net : An Introtruction. Springer-Verlag, New
York, 1985
[9] G. Rozenberg Introductory Tutorial Petri Nets. 21st International
Conference on Application and Theory of Petri Nets Aarhus, Denmark,
June 26-30, 2000.
[10] Robert Valette, Les Réseaux de Petri. 2000.
[11] Cours de Systèmes Informatiques II (année 2000-2001)
http ://cui.unige.ch/DI/cours/sys2/RdP/00-01/index.html
31