contribution a la modelisation des routeurs mpls par …
TRANSCRIPT
N° d’ordre : 12 / STI/ TCO Année Universitaire : 2016-2017
UNIVERSITE D’ANTANANARIVO
----------------------
ECOLE SUPERIEURE POLYTECHNIQUE
-----------------------
MENTION TELECOMMUNICATIONS
MEMOIRE DE FIN D’ETUDES
en vue de l’obtention
du DIPLOME DE MASTER
Titre : Ingénieur
Domaine : Sciences de l’Ingénieur
Mention : télécommunication
Parcours : Système de Traitement d’Information (STI)
Par : RAJONIAINA Léonard Ismaël
CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS
PAR LES RESEAUX DE PETRI
Soutenu le 12 Avril 2018 à 12h30 devant la Commission d’Examen composée de :
Président :
M. RATSIHOARANA Constant
Examinateurs :
M. ANDRIAMANALINA Ando
M. RANDRIARIJAONA Lucien Elino
M. RANDRIAMIHAJARISON Jimmy
Directeur de mémoire :
M. RAVONIMANANTSOA Ndaohialy Manda-Vy
i
REMERCIEMENTS
Je remercie le Seigneur Dieu, qui par sa grâce, a permis la réalisation de ce mémoire.
Aussi, je remercie respectueusement :
- Monsieur RAMANOELINA Armand Panja , Professeur titulaire, Président de l’université
d’Antananarivo ;
- Monsieur ANDRIANAHARISON Yvon, Professeur titulaire, Directeur de l’Ecole Supérieure
Polytechnique d’Antananarivo de m’avoir accueilli au sein de l’établissement ;
- Monsieur RAKOTOMALALA Mamy Alain, Maître de conférences, responsable de la
Mention Télécommunication, au sein de l’Ecole Supérieure Polytechnique d’Antananarivo.
Je tiens à remercier Monsieur RAVONIMANANTSOA Ndaohialy Manda-Vy, Maître de
conférences, et aussi mon directeur de mémoire, de m’avoir consacré de temps et donné des
directives pour l’accomplissement de ce mémoire. Sa grande disponibilité et ses merveilleuses
explications ont été précieuses.
Je remercie respectueusement Monsieur RATSIHOARANA Constant, Maître de conférences, qui
nous a fait l’honneur de présider le jury de cette soutenance.
Nous témoignons également notre reconnaissance aux membres du jury qui ont bien voulu consacrer
une partie de leur temps, malgré leurs lourdes tâches, pour juger ce travail. Je leur suis entièrement
reconnaissant de l’intérêt qu’ils ont porté sur ce mémoire :
- Monsieur ANDRIAMANALINA Ando, Maître de Conférences
- Monsieur RANDRIARIJAONA Lucien Elino, Assistant d’Enseignement et de Recherche
- Monsieur RANDRIAMIHAJARISON Jimmy , Assistant d’Enseignement et de Recherche
Un grand merci également à l’ensemble du personnel pédagogique, technique et administratif du
département principalement mes collègues lors de ma formation.
Je remercie vivement mes parents et mes sœurs qui ont tant contribué à ma réussite d’aujourd’hui.
Je tiens à exprimer ma profonde gratitude à toutes celles et ceux qui m’ont apporté leur soutien, leur
amitié ou leur expérience tout au long de ce travail.
ii
TABLE DES MATIERES
REMERCIEMENTS ............................................................................................................................... i
TABLE DES MATIERES ..................................................................................................................... ii
NOTATIONS ET ABREVIATIONS ................................................................................................... vii
INTRODUCTION GENERALE ............................................................................................................ 1
CHAPITRE 1 LES RESEAUX DE PETRI .................................................................................... 2
1.1 Introduction .......................................................................................................................... 2
1.2 Généralités sur les réseaux de Petri ..................................................................................... 2
1.3 L'aspect structurel ................................................................................................................ 3
1.3.1 Définition d'un réseau de Petri ..................................................................................... 3
1.3.2 Représentation d'un réseau de Petri ............................................................................. 4
1.3.2.1 Représentation graphique ........................................................................................ 4
1.3.2.2 Représentation matricielle ....................................................................................... 4
1.3.2.3 Représentation d’un RdP marqué ............................................................................ 5
1.4 L'aspect comportemental ..................................................................................................... 6
1.4.1 L’état dans un réseau de Petri ...................................................................................... 7
1.4.2 Franchissement d’une transition .................................................................................. 7
1.4.3 L'exécution d'un réseau de Petri................................................................................... 8
1.4.3.1 Exécution séquentielle ............................................................................................. 8
1.4.3.2 Exécution concurrente ............................................................................................. 9
1.5 Réseaux particuliers ............................................................................................................. 9
1.5.1 Graphe d'états ............................................................................................................... 9
1.5.2 Les réseaux sans conflits ............................................................................................ 10
1.5.3 Les réseaux purs ......................................................................................................... 10
iii
1.6 Propriétés des RdP ............................................................................................................. 11
1.6.1 Réseau K-borné .......................................................................................................... 11
1.6.2 Réseau vivant .............................................................................................................. 11
1.6.3 Réseau réinitialisable ................................................................................................. 12
1.7 Les invariants ..................................................................................................................... 12
1.7.1 Invariants de places .................................................................................................... 12
1.7.2 Invariants de transition .............................................................................................. 13
1.8 Les méthodes d’analyse des RdP ....................................................................................... 14
1.8.1 Méthode d’arbre de couverture .................................................................................. 14
1.8.2 Approche d’équations matricielles ............................................................................. 15
1.8.3 Technique de réduction et de décomposition ............................................................. 15
1.9 Qualités et faiblesses des réseaux de Petri ......................................................................... 15
1.10 Extension des réseaux de Petri ........................................................................................... 16
1.10.1 Réseau de Petri temporisés ......................................................................................... 17
1.10.2 Réseau de Petri stochastiques .................................................................................... 17
1.10.2.1 Réseau de Petri stochastiques généralisé ............................................................. 18
1.10.2.2 Réseau de Petri stochastiques et déterministes .................................................... 18
1.10.2.3 Réseaux de Petri stochastiques étendus ............................................................... 18
1.10.3 Réseau de Petri colorés .............................................................................................. 18
1.10.4 Réseau de Petri continus et hybrides .......................................................................... 19
1.10.5 Les réseaux de Petri hiérarchiques ............................................................................ 19
1.10.6 Les réseaux de Petri à Objet....................................................................................... 20
1.11 Conclusion ......................................................................................................................... 20
CHAPITRE 2 LA TECHNOLOGIE MPLS ................................................................................. 21
2.1 Introduction ........................................................................................................................ 21
2.2 MPLS ................................................................................................................................. 21
iv
2.2.1 Principe du MPLS ...................................................................................................... 22
2.2.2 Labels.......................................................................................................................... 22
2.2.3 Commutation des labels.............................................................................................. 23
2.2.4 Distribution des labels ................................................................................................ 24
2.3 Description des routeurs MPLS ......................................................................................... 25
2.3.1 LSR.............................................................................................................................. 25
2.3.2 ELSR (LER) ................................................................................................................ 26
2.3.3 LSP ,FEC, LDP .......................................................................................................... 26
2.4 Agrégation .......................................................................................................................... 27
2.5 Les applications de la technologie MPLS : ........................................................................ 28
2.5.1 VPN/MPLS.................................................................................................................. 28
2.5.2 Quality Of Service ...................................................................................................... 29
2.5.3 Traffic Engineering..................................................................................................... 29
2.6 Conclusion ......................................................................................................................... 29
CHAPITRE 3 LES RESEAUX DE PETRI HAUT NIVEAU ..................................................... 30
3.1 Introduction ........................................................................................................................ 30
3.2 Les réseaux colorés ............................................................................................................ 31
3.2.1 Notations ..................................................................................................................... 31
3.2.2 Le formalisme ............................................................................................................. 33
3.3 Les réseaux bien formés ..................................................................................................... 36
3.3.1 Domaines de couleur .................................................................................................. 36
3.3.2 Fonction de couleur .................................................................................................... 39
3.3.3 Les gardes ................................................................................................................... 42
3.3.4 Le formalisme des réseaux bien formés ...................................................................... 44
3.3.5 Les réseaux réguliers et les réseaux ordonnés ........................................................... 45
3.3.5.1 Réseau régulier ...................................................................................................... 45
v
3.3.5.2 Réseaux ordonnés .................................................................................................. 46
3.4 Réductions structurelles ..................................................................................................... 46
3.4.1 Principe d’extension aux réseaux colorés .................................................................. 47
3.4.2 Pré et post-agglomérations de transitions .................................................................. 49
3.4.2.1 Transition ordinaire pré-agglomerables ................................................................. 50
3.4.2.2 Réseau pré-aggloméré ........................................................................................... 50
3.4.2.3 Transition pré-agglomerables ................................................................................ 51
3.4.2.4 Réseau pré-aggloméré ........................................................................................... 53
3.4.2.5 Transitions ordinaires post-agglomerables ............................................................ 54
3.4.2.6 Réseau post-aggloméré .......................................................................................... 55
3.4.2.7 Transitions post-agglomerables ............................................................................. 55
3.4.2.8 Réseau post-aggloméré .......................................................................................... 56
3.4.3 Suppression de place implicite ................................................................................... 57
3.5 Conclusion ......................................................................................................................... 58
CHAPITRE 4 MODELISATION DES ROUTEURS MPLS PAR LES RESEAUX DE PETRI 59
4.1 Introduction ........................................................................................................................ 59
4.2 Description des outils utilisées ........................................................................................... 59
4.2.1 GNS3 ........................................................................................................................... 59
4.2.2 CPNTools.................................................................................................................... 60
4.2.2.1 Choix d’utilisation ................................................................................................. 60
4.2.2.2 Description du logiciel........................................................................................... 61
4.2.2.3 CPN Tools ToolBox .............................................................................................. 62
4.3 Modélisation des routeurs MPLS ....................................................................................... 63
4.3.1 Modèle du LSR par les réseaux de Petri .................................................................... 63
4.3.1.1 Représentation du modèle LSR ............................................................................. 63
4.3.1.2 Description du modèle LSR .................................................................................. 64
vi
4.3.2 Modèle du LER par les réseaux de Petri .................................................................... 65
4.3.2.1 Représentation du modèle LER ............................................................................. 65
4.3.2.2 Description du modèle LER .................................................................................. 65
4.4 Application des RDPs au réseau MPLS ............................................................................. 66
4.4.1 Présentation de la topologie du réseau MPLS à modéliser ....................................... 66
4.4.2 Modélisation du système considéré ............................................................................ 67
4.4.3 Analyse et simulation du modèle ................................................................................ 69
4.5 Conclusion ......................................................................................................................... 71
CONCLUSION GENERALE .............................................................................................................. 72
ANNEXE1 : CPN ML .......................................................................................................................... 73
ANNEXE2 : LA QUALITE DE SERVICE ......................................................................................... 79
BIBLIOGRAPHIE ............................................................................................................................... 80
FICHE DE RENSEIGNEMENT ......................................................................................................... 83
RESUME .............................................................................................................................................. 84
ABSTRACT ......................................................................................................................................... 84
vii
NOTATIONS ET ABREVIATIONS
BGP Border Gateway Protocol : Protocole d’échange de routes entre différents
systèmes autonomes AS.
CE Costumer Edge
CPN Coloured Petri Net
DSPN Réseau de Petri stochastiques et déterministes
ESPN Réseaux de Petri stochastiques étendus
GSPN Réseau de Petri stochastiques généralisé
IGP Interior Gateway Protocol : Protocole de routage interne.
IETF Internet Engineering Task Force : Littéralement « Détachement d'ingénierie
d'Internet ». Groupe informel, international, qui produit la plupart des nouveaux
standards d’Internet (RFC).
IP
Internet Protocol : Protocole d’adressage, en versions v4 et v6
L2VPN Layer 2 Virtual Private Network : Interconnexion de réseaux privés sur la
couche 2 « liaison ».
L2VPN-PW Layer 2 Virtual Private Network Pseudo Wire : Emulation d’une interconnexion
directe Ethernet via un L2VPN.
L3VPN Layer 3 Virtual Private Network : Interconnexion de réseaux privés sur la
couche 3 « réseau ».
LDP Label Distribution Protocol : Protocole standardisé pour l'échange d'information
sur les étiquettes (labels) entre routeurs MPLS.
LER Label Edge Routing
LSP-TE Label Switched Path Traffic Engineering : Connexion point à point
unidirectionnelle, dans un contexte MPLS, à laquelle est associé un ensemble
de paramètres TE.
LSR Label Switching Routing
MPLS Multi Protocol Label Switching : Protocole de commutation de labels. Pouvant
être utilisé pour transporter tout type de trafic.
MPLS-TE Multi-Protocol Label Switching Traffic Engineering : Extension d’ingénierie de
trafic pour MPLS.
viii
PE Provider Edge
OSPF Open Shortest Path First : Protocole de routage interne IP à « état de liens ».
QoS Quality of Services : Ensemble de mécanismes et de conventions qui détermine
le niveau de qualité visé sur un accès réseau.
RSVP-TE
Resource Reservation Protocol – Traffic Engineering : Protocole de réservation
de ressources – Extension pour le TE.
RDP Réseau de Petri
TE Traffic Engineering : Ingénierie de trafic.
VRF Virtual Routing and Forwarding : Routage et Transfert Virtuel. Mécanisme qui
permet d’instancier plusieurs routeurs virtuels dans un même routeur physique.
WN Well-formed Nets
1
INTRODUCTION GENERALE
Comment réussir à appréhender le comportement des systèmes technologiques de plus en plus
complexes, afin de les concevoir, de les réaliser et/ou de les commander à partir d’un cahier des
charges ?. Celui-ci est en général défini par différents intervenants, intéressés par les aspects
fonctionnels du produit, les besoins des utilisateurs, les contraintes de coût, le marketing, etc... Du
fait de la complexité de plus en plus forte des systèmes technologiques, il apparaît de plus en plus
nécessaire de disposer de méthodes et d’outils de conception, de réalisation et/ou de commande
qui soient particulièrement efficaces.
Il existe plusieurs langages de modélisation et les outils qui les implémentent. Ces outils, selon les
modèles qu’ils représentent, permettent de simuler et de vérifier certaines propriétés. Ceci permet
de suivre le fonctionnement du système pour détecter les faiblesses.
Les réseaux de Petri (RdP) ont été développés pour permettre la modélisation de classes
importantes de systèmes qui recouvrent des classes de systèmes de production, de systèmes
automatisés, de systèmes informatiques et de systèmes de communication, pour n’en citer que
quelques-uns, afin de permettre leur conception, leur évaluation et leur amélioration [1] .
Les travaux présentés dans cette mémoire constituent ‘‘une contribution à la modelisation des
routeurs MPLS ’’. Cette contribution concerne plus précisément l’adaptation, pour l’étude de ces
réseaux, des concepts et des résultats théoriques formalisés graphiquement par les réseaux de
Petri. Notre étude se concrétise donc par le développement de modèles capables d’apporter des
solutions aux problèmes d’évaluation des performances et d’amélioration de la qualité des services
des réseaux MPLS (Multi-Protocol Label Switch). Ces modèles graphiques et mathématiques
facilitent l’analyse structurelle et comportementale de ces réseaux.
Ce mémoire est organisé en quatre chapitres. Dans le premier chapitre, nous donnons les
généralités sur les réseaux de Petri ainsi que leurs différentes propriétés et leurs extensions.
Dans le deuxième chapitre, nous nous expliquerons ce que la technologie MPLS, ensuite nous
donnons les descriptions des deux routeurs en MPLS. Le troisième chapitre aborde les types des
RdPs que nous utiliserons dans notre modélisation. Nous expliquerons plus profond les
formalismes du RdP, le RdP coloré et le réseau bien-formé. Dans le quatrième chapitre, on
propose le modèle qui permettent d’améliorer les performances des réseaux MPLS modéliser par
les réseaux de Petri de haut niveau ainsi que les résultats de simulations.
2
CHAPITRE 1 LES RESEAUX DE PETRI
1.1 Introduction
Les réseaux de Petri représente un outil mathématique puissant dans le domaine de la modélisation
et de la vérification des systèmes, en plus de leur force d’analyse il offre une représentation
graphique simple qui aide à la modélisation des systèmes complexe. [2]
Le modèle des réseaux de Petri est un outil graphique de modélisation et d'analyse des systèmes
parfaitement adapté à l'étude des structures de contrôle. Il permet notamment de maîtriser et
d'assurer la sûreté de fonctionnement de logiciels complexes (aéronautique, transports, industrie,
télécommunication...).
Le formalisme formel des Réseaux de Petri (RDP), adapté à la prise en compte des problèmes de
concurrence, de synchronisme et de parallélisme, constitue un excellent outil de spécification
fonctionnelle d'un problème et de mise en évidence des contraintes. Les propriétés mathématiques
qui découlent de l'analyse des RDPs permettent une étude comportementale et structurelle
essentielle à la validation d'une spécification. Les possibilités de simulation offertes par les outils
informatiques supportant le formalisme contribuent également à cette validation.
En général, les méthodes de l'étude de système par réseau de Petri se composent de trois étapes :
premièrement on écrit le système en termes de réseau, pour obtenir un modèle en réseau ;
deuxièmement on analyse le modèle obtenu, pour en déduire des propriétés comme l’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ème. Elle constitue une approche très importante pour avoir une bonne évaluation des
systèmes.
Nous introduirons dans ce chapitre la notion des réseaux de Petri, nous présenterons par la suite
quelques-unes de leur propriétés et extensions. Nous finirons par une courte description des
qualités et faiblesses des réseau de Petri.
1.2 Généralités sur les réseaux de Petri
Les réseaux de Petri sont définis comme étant un formalisme qui permet la description et l’analyse
du comportement des systèmes concurrents, introduit par Carl Adem Petri en 1962. Carl Adam
Petri est un mathématicien allemand qui a défini un outil mathématique très général permettant de
3
décrire des relations existantes entre des conditions et des événements, de modéliser le
comportement de systèmes dynamiques à événements discrets.
C’est un outil de modélisation utilisé généralement en phase préliminaire de conception de
système pour leur spécification fonctionnelle, modélisation et évaluation
Les principaux utilisateurs de ces réseaux sont les informaticiens et les automaticiens. Cependant
c’est un outil assez général pour modéliser des phénomènes très variés. Il permet notamment [3]. :
- la modélisation des systèmes informatiques,
- l’évaluation des performances des systèmes discrets, des interfaces homme-machine,
- la commande des ateliers de fabrication,
- la conception de systèmes temps réel
- la modélisation des protocoles de communication,
- la modélisation des chaines de production (de fabrication),
en fait, tout système dans lequel circule objets et information.
Les définitions concernant les réseaux de Petri portées sur deux aspects [4] :
▪ Un aspect structurel : Quelles sont les actions, quels sont les sites, quelles sont les
conditions pour qu'une action soit possible et quelles sont les conséquences d'une action?
▪ Un aspect comportemental : Comment représenter le fonctionnement d'un réseau de
Petri? c.-à-d. ce qui se passe quand une action ou plusieurs actions sont exécutées.
1.3 L'aspect structurel
1.3.1 Définition d'un réseau de Petri
[5] Un réseau de Petri (R) est un triple R= (P, T, W) où P est l'ensemble des places (les places
représentent les sites) et T l'ensemble des transitions (les transitions représentent les actions) tel
que PT= et W est la fonction définissant le poids porté par les arcs tel que
W: ((PT) (TP)) →N= {0, 1, 2,...}.
Le réseau R est fini si l'ensemble des places et des transitions est fini c.-à-d. |P T| N.
Un réseau R= (P, T, W) est ordinaire si pour toute (x,y) ((PxT) (TxP)) : W(x,y) ≤ 1
Dans un réseau ordinaire la fonction W est remplacée par F où : F ((PxT) (TxP)) tel que
(x,y) F W(x,y) 0
Pour chaque x PT :
*x représente l’ensemble des entrées de x : *x= { yPT|W(x,y)≠0 }
4
x* représente l’ensemble des sorties de x : x* = { yPT|W(x,y)≠0 }
Remarque : si *x=, x est dite source, si x*= , x est dite puits
1.3.2 Représentation d'un réseau de Petri
1.3.2.1 Représentation graphique
L'un des aspects les plus agréables des réseaux de Petri est qu'il est extrêmement aisé de les
visualiser ; c.-à-d., donner une interprétation graphique à sa structure qui peut être
représentée à travers un graphe bipartie fait de deux types de sommets: les places et les
transitions reliées alternativement par des arcs orientés qui portent des poids entier positifs, si un
poids n'est pas porté alors il est égal à 1 (RdP ordinaire). Généralement, les places sont
représentées par des cercles et les transitions par des rectangles, le marquage d'un RdP est
représenté par la distribution de jetons dans l'ensemble de ses places telle que chaque
place peut contenir un ou plusieurs jetons représentés par des points dans le cercle
représentant la place.[6]
Figure 1.01 : Réseau de Petri simple
1.3.2.2 Représentation matricielle
Une représentation matricielle d'un RdP est offerte afin de simplifier les tâches d'analyse et de
vérification effectuée sur un modèle RdP. Agir sur une représentation graphique d'un modèle RdP
est une Tâche délicate en comparant avec une représentation matricielle. [7]
Il est possible de représenter la fonction W (fonction de poids) par des matrices.
Soit un réseau de Petri ,
R = (P, T, W) Avec P = {p1, p2, ...,pm} et T={t1, t2, ...,tn}
On appelle matrice des pré conditions pré la matrice m n à coefficients dans N tel que
5
pré(i,j) = W(pi,tj), elle indique le nombre de marque que doit contenir la place pi
pour que la transition tj devienne franchissable, de la même manière on définit la matrice des post
conditions post la matrice n m tel que post(i,j)= W(tj, pi) contient le nombre de marques
déposées dans pi lors du franchissement de la transition tj.
La matrice C= post -pré est appelée matrice d'incidence du réseau (m représente le nombre de
places d'un réseau de Petri et n le nombre de transitions.)
La représentation Graphique d’un marquage dans un RdP marquée et présenté par des marques
dans la place ces marques sont dites jetons.
Le marquage d'un réseau de Petri est représenté par un vecteur de dimension m à coefficients dans
N. La règle de franchissement d'un réseau de Petri est définie par
M’(p) = M(p) + C(p,t)
.
1.3.2.3 Représentation d’un RdP marqué
[8] Un réseau de Petri marqué est le couple N =<R, M> où :
▪ R est un réseau de Petri
▪ M est une application de marquage
▪ M : P→ N
M(p) est le nombre de marques (jetons) contenus dans la place p. Le marquage d’un réseau de
Petri est une opération qui consiste à assigner des jetons dans les places.
On appelle marquage M d’un Réseau de Petri le vecteur du nombre de marques dans chaque place
: la Ième composante correspond au nombre de marques dans la Ième place. Il indique à un instant
donné l ́état du RdP.
Figures 1.02 : Réseau de Petri marqué
6
Pour le réseau de la figure 1.02
P= {p1, p2, p3, p4} T= {t1, t2, t3}
La matrice d’incidence est : Le vecteur de Marquage M est
Le marquage du RdP présente sur la Figure est donné par :
On appelle marquage initial, noté M0, le marquage à l’instant initial (t = 0).
1.4 L'aspect comportemental
Le comportement d'un réseau de Petri est déterminé par sa structure et par son état. Pour exprimer
l'état d'un réseau de Petri, les places peuvent contenir des jetons qui ne sont que de simples
marqueurs. [9]
7
1.4.1 L’état dans un réseau de Petri
Dans la théorie des réseaux de Petri, l'état d'un réseau est souvent appelé marquage du réseau qui
est définit par la distribution des jetons sur les places. Le marquage d'un réseau de Petri
R =( P, T,W) est défini par la fonction de marquage M : P→N
Un réseau de Petri marqué est dénoté par = (P, T, W, M0) où M0 est le marquage initial. Le
comportement d'un réseau de Petri marqué est déterminé par ce qu'on appelle règle de
franchissement.
1.4.2 Franchissement d’une transition
Une règle de franchissement est une simple relation de transition qui définit le changement d'état
dans un réseau marqué lors de l'exécution d'une action. Afin de définir une règle de
franchissement, il est nécessaire de formaliser quand le réseau peut exécuter une action : on dit
qu'une transition t peut être franchie à partir d'un marquage M (qui représente l'état du system à un
instant donné) si et seulement si chaque place d'entrée p*t de la transition t contient au moins un
nombre de jetons qui est supérieur ou égal au poids de l'arc reliant cette place d'entrée p avec la
transition t tel que :
M(p) W(p, t) p P
Une règle de franchissement est définie par :
M’(p)= M (p)-W(p, t)+ W(t, p)
pour tout pP,ce qui veut dire que lorsque la transition t est franchi à partir d'un marquage M, il
faut saisir W (p, t) jetons à partir de chaque place d'entrée à la transition t et déposer W(t, p) jetons
dans chaque place de sortie de la transition t ce qui permet de produire un nouveau marquage M’.
Le franchissement d'une transition t dénoté par M[t M’ est dite l'occurrence de t. On dit que deux
transitions t1, t2 (pas certainement distinctes) sont franchies en concurrence par un marquage M si
et seulement si
M(p) W(p, t1)+ W(p, t2) pour toute p P
Cette vision de l'exécution concurrente de deux transitions dans un RdP est contradictoire avec
celle qui impose que deux occurrences de transition sont parallèles si et seulement si : elles sont
causalement indépendantes et n'ont pas une relation de conflit entre eux. Deux occurrences sont en
conflit si l'un des deux peut avoir lieu mais pas tous les deux.
8
1.4.3 L'exécution d'un réseau de Petri
1.4.3.1 Exécution séquentielle
a. Séquence de franchissement
[10] Une séquence de franchissement « s » est une suite de transitions (t1, t2, ..., tn) qui permet, à
partir d’un marquage « M », de passer au marquage « M’ » par le franchissement successif des
transitions définissant la séquence.
b. Marquage accessible
Le marquage d’un Réseau de Petri à un instant donné est une vectrice colonne dont la valeur de la
Ième composante est le nombre de marques dans la place Pi à cet instant.
Le franchissement d’une transition conduit à un changement du marquage. Le passage du
marquage Mk au marquage Ml par franchissement de la transition Tj est noté : Mk (Tj>Ml. Le
nombre de marques dans la place Pi pour le marquage Mk est noté Mk (Pi). A partir d’un même
marquage, il peut être possible de franchir plusieurs transitions, menant ainsi à des marquages
différents. L’ensemble des marquages accessibles à partir du marquage M0 est l’ensemble des
marquages obtenus à partir de M0 par franchissements successifs d’une ou plusieurs transition(s).
Cet ensemble est noté A(R ; M0)
c. Graphe de marquage
On peut représenter l’ensemble de marquage accessible par un graphe si ce dernier et fini. Le
graphe de marquage a comme sommet l’ensemble de marquage accessible A(R,M0).Un arc
orienté relie deux sommet Mi et Mj s’il existe une transition t franchissable permettant de passer
d’un marquage à un autre Mi [tMj. Les arcs du graphe sont étiqueté par les transitions
correspondantes.
Figure 1.03 : Exemple graphe de Marquage
9
d. L'exécution séquentielle d'un réseau de Petri
L'exécution séquentielle d'un réseau de Petri est définie en termes d'un ensemble de séquences
d'occurrence. Une séquence d'occurrence est une séquence de transitions franchissables dénotée
par :
=M0 t1 M1 t2...tel que Mi-1 [ti Mi.
Une séquence t1t2... est une séquence de transitions (commencée par le marquage M) si et
seulement si il existe une séquence d'occurrence M0t1M1... avec M=M0. Si la séquence finie
t1t2...tn conduit à un nouveau marquage M' à partir du marquage M,
On écrit M[t1 t2...tn M’ ou simplement M[t1t2...tn si on ne veut pas spécifier le marquage
résultat.
1.4.3.2 Exécution concurrente
Une exécution concurrente d'un réseau de Petri est une exécution dans laquelle plusieurs
transitions peuvent se franchir au même temps, elle est souvent déterminée par la notion de
processus. Ceci permet de donner une interprétation de la concurrence dans un réseau de Petri
selon la sémantique basée sur la vraie concurrence (sémantique d'ordre partiel) qui est interprétée
dans la théorie des réseaux de Petri par un type spécial de réseaux appelés réseaux d'occurrences.
1.5 Réseaux particuliers
Le graphe associé à un réseau de Petri peut être très complexe. Un certain nombre de situations
présente un intérêt particulier [11] :
1.5.1 Graphe d'états
Dans ce cas chaque transition ne dispose que d'une place en entrée et une place en sortie.
Figure 1.04 : Graphes d’états ou pas
10
1.5.2 Les réseaux sans conflits
Un réseau de Petri est dit sans conflit si et seulement si toute place a au plus une transition de
sortie (voir Figure 1.05). Un conflit (structurel) correspond à l’existence d’une place Pi qui a au
moins deux transitions de sortie Tj,Tk, etc... Notation < Pi, {Tj, Tk, .. .}> . Sur le RdP de droite de
la figure suivant on a le conflit < P1, {T2, T3}>. Quand la place P1 contient une marque, les
transitions T1 et T2 sont franchissables. Seule une des deux transitions peut être franchie : il est
nécessaire de prendre une décision pour savoir laquelle des deux le sera effectivement. L’absence
ou la présence d’un conflit est une propriété importante d’un réseau de Petri.
Sans conflit Avec Conflit
Figure 1.05 : Conflit ou pas
1.5.3 Les réseaux purs
Un réseau de Petri est dit pur si et seulement s’il n’existe pas de transition ayant une place d’entrée
qui est aussi place de sortie. Le RdP représente (Figure 1.06) n’est pas pur car la place P3 est place
d’entrée et place de sortie de la transition T1. On parle alors de RdP impur.
Figure 1.06 : RDP impur
11
1.6 Propriétés des RdP
1.6.1 Réseau K-borné
Une place Pi est bornée pour un marquage initial M0 si pour tout marquage accessible à partir de
M0, le nombre de marques dans Pi reste borné. Elle est dite k-bornée si le nombre de marques
dans Pi est toujours inférieur ou égal à k. Un RdP marqué est (k) borné si toutes ses places sont (k)
bornées. [12]
Un RdP marqué peut ne pas être borné : sur l’exemple représente (Figure 1.07) , la transition T1
admet la place P1 comme unique place d’entrée. La place P1 a une marque : la transition T1 est
franchissable. Comme P1 est aussi place de sortie de T1, le franchissement de T1 ne change pas le
marquage de P1. La transition T1 est donc franchissable en permanence et peut donc être franchie
un nombre de fois infini. Chaque franchissement de T1 ajoutant une marque dans la place P2, le
marquage de celle-ci peut donc tendre vers l’infini.
Figure 1.07 : RDP non borné
Un RdP marqué est sauf ou binaire pour un marquage initial M0 s’il est 1-borné.
1.6.2 Réseau vivant
L’évolution du marquage d’un RdP se fait par franchissement de transitions. Lorsqu’au cours de
son évolution, certaines transitions ne sont jamais franchies, cela indique que l’évènement associé
à la transition ne se produit pas et que le marquage d’une partie du RdP n’ ́évolue pas. Cela
indique que le sous-système modélisé par cette partie-là ne fonctionnera pas. Il y a donc un
problème au niveau de la conception du système. L’idée est d’être capable de d détecter
systématiquement ce phénomène par l’analyse de propriétés du modèle RdP du système afin de
disposer d’un outil d’aide à la conception des systèmes.
➢ Une transition Tj est vivante pour un marquage initial M0 si pour tout marquage accessible
Mk, il existe une séquence de franchissements à partir de Mk contenant Tj :
Pour tout 𝑀𝑘 € * 𝑀0 ,il existe S , 𝑀𝑘|S > et S = ……𝑇𝑗……..
12
Si une transition Tj est vivante alors, à tout instant, on sait que Tj peut être franchie dans le futur.
Dans le cas d’un RdP modélisant un système fonctionnant en permanence, si une transition n’est
pas vivante et si une fonction du système est associée au franchissement de cette transition, cela
veut dire qu’à partir d’un certain instant, cette fonction ne sera plus disponible dans le futur, ce qui
peut traduire une erreur ou une panne.
Figure 1.08 : RDP vivant
1.6.3 Réseau réinitialisable
Soit un réseau de Petri marqué < R;M0> et soit A(R;M0) l’ensemble de ses marquages
accessibles. Ce réseau marqué est réinitialisable si et seulement si :
On dit également que M0 est un état d’accueil (en anglais “home state”) pour le réseau de Petri
marqué.
Soit un réseau de Petri marqué <R ; M0>, s’il est réinitialisable et que toute ses transitions sont
quasi-vivantes ou vivantes, alors il est vivant.
Figure 1.09: Réseau réinitialisable
1.7 Les invariants
1.7.1 Invariants de places
➢ On a un invariant de place linéaire s’il existe une pondération sur le marquage des places
telle que : [13]
q1m 1 + q2m 2 + ... + qnmn = constante ∀M ∈ A(R, M0)
13
telle que ∀i ∈ [1, ..., n], qi ∈ N
L’ensemble des places telles que leur pondération est non nulle est une composante conservative,
un réseau est dit conservatif si l’ensemble des places du réseau forme une composante
conservative.
➢ Soit F un vecteur de pondération des places. F est associé à un invariant de place ssi
𝐹𝑡.C= 0
L’équation fondamentale donne : M = M0 + C.s
D’après la définition de la composante conservative,
𝐹𝑡.M = cte = 𝐹𝑡..M0 + 𝐹𝑡.C.s ∀s
On en déduit que 𝐹𝑡.C.s = 0, ∀s.
1.7.2 Invariants de transition
➢ • une séquence répétitive est une séquence de transitions qui permet de revenir à l’état de
départ.
Elle est dite minimale si aucun de ses préfixes stricts n’est une séquence répétitive.
• L’ensemble des transitions qui apparaissent dans une séquence répétitive forme une
composante répétitive.
• le réseau de Petri est dit répétitif s’il existe une séquence répétitive qui contient toutes les
transitions du réseau de Petri.
➢ Soit S une séquence de franchissement et T(S) l’ensemble des transitions apparaissant dans
S. T(S) est une composante répétitive si et seulement si :
C.S = 0.
L’équation fondamentale donne M 0 = M + C.v.
Si on revient à l’état initial c’est que C.v = 0 et donc que v est solution de C.v = 0.
L’ensemble des T-invariants peut aider à identifier les parties du réseau qui sont superflues vis à
vis de la fonction métabolique que l’on étudie.
En fait, chaque T-invariant peut être vu comme un module qui permet lorsqu’il fonctionne “à
la bonne vitesse”, de maintenir l’état du système. Les T-invariants triviaux (réactions réversibles)
ne contribuent pas à la voie métabolique ; ils ne sont pas très intéressants. Par contre les autres
T-invariants contribuent à la voie métabolique.
14
Les transitions qui ne sont impliquées dans aucun T-invariant non-trivial sont des candidats
pour une réduction du réseau.
1.8 Les méthodes d’analyse des RdP
Les méthodes d’analyse des RdP peuvent être classées en trois groupes [14] :
▪ Méthode d’arbre de couverture
▪ Approche d’équations matricielles
▪ Technique de réduction et de décomposition
1.8.1 Méthode d’arbre de couverture
L’idée la plus naturelle pour étudier les propriétés d’un RdP est de construire le graphe de tous les
marquages accessibles. Le graphe des marquages accessibles est un graphe dont chaque sommet
correspond à un marquage accessible et dont chaque arc correspond au franchissement d’une
transition permettant de passer d’un marquage à l’autre.
Pour un RdP marqué (R,M0), à partir d’un marquage initial M0 on peut obtenir autant de nouveau
marquage qu’il existe de transition franchissable. A partir de chaque nouveau marquage on peut
accéder à d’autres nouveaux marquages.
Le résultat de ce processus est un arbre dont chaque nœud est un marquage accessible et chaque
arc est une transition franchissable qui transforme un marquage à un autre.
L’arbre de couverture est une méthode alternative. Le mécanisme de construction est le même que
pour le graphe des marquages accessibles. A ceci près que pour chaque nouveau marquage
(nœud du graphe) ajouté, on vérifie s'il n'est pas supérieur à un marquage déjà présent sur au
moins une séquence entre M0 et le nouveau marquage. Si tel est le cas tous les marquages de
place supérieurs sont remplacés par ω. Ce symbole matérialise le fait que la place en question
peut contenir autant de jetons que souhaité (elle est donc non bornée).
Dans la suite, les places non bornées le demeurent naturellement et ceci quelles que soient les
transitions franchies, ainsi le symbole ⍵ ne disparaît jamais. Cette méthode produit le graphe de
couverture, un graphe fini dans tous les cas.
15
Figure 1.10 : RDP et leur arbre de couverture
1.8.2 Approche d’équations matricielles
L’analyse par équations matriciel (algèbre linéaire) permet d’étudier des propriétés d’un réseau
(caractère borné, vivacité) indépendamment d’un marquage initial. De ce fait, on parlera de
propriétés structurelles du réseau. Par exemple, on pourra dire qu’un réseau est structurellement
borné s’il est borné pour tout marquage initial fini. De la même façon, si pour tout marquage
initial, le réseau est vivant, on dira que le réseau est structurellement vivant.
1.8.3 Technique de réduction et de décomposition
L’analyse des RDPs par réduction permet d’obtenir à partir d’un RdP marqué, un RdP marqué
plus simple, c’est-à-dire avec un nombre réduit de places et un nombre réduit de transitions ceci
en appliquant un ensemble de règles dites règles de réduction.
.
1.9 Qualités et faiblesses des réseaux de Petri
En tant que formalisme de spécification, les réseaux de Petri présentent un certain nombre de
qualités très importantes :
▪ Ils disposent d’une définition formelle : ce caractère formel permet de produire des
spécifications exemptes d’ambiguïté ; chaque construction des modèles possède une
sémantique parfaitement définie.
▪ Ils présentent un grand pouvoir d’expression : les RDP sont notamment très bien adaptés à
décrire des comportements complexes, réactifs ou concurrents.
▪ Ils sont exécutables : les modèles peuvent être interprétés par un programme construit à
partir de la définition formelle de la notation, ce qui permet de simuler le fonctionnement
du système en cours de spécification. Le modélisateur profite ainsi d’une vision
16
dynamique du système qu’il spécifie pour approfondir la compréhension qu’il a de son
comportement.
▪ Ils disposent de nombreuses techniques de vérification automatique des propriétés des
modèles. Il est possible de rechercher des propriétés génériques telles que le caractère
borné, vivant ou réinitialisable, ou des propriétés spécifiques telles que l’existence
d’invariants.
▪ Ils disposent d’une représentation graphique attrayante, qui accroît la lisibilité et facilite la
compréhension des modèles. Cette représentation graphique est également très utile lors de
l’exécution interactive des modèles, servant alors de « débogueur » graphique. Toutefois,
malgré ces qualités, il semble que les réseaux de Petri souffrent de certains reproches
▪ Leur manque de structuration : l’utilisation des RDPs produirait des modèles dont la taille
croît rapidement avec la complexité du système, et qui deviennent rapidement impossibles
à comprendre et à gérer.
▪ Leur difficulté à prendre en compte l’aspect « structure de données » : A l’origine, les
RDPs étaient essentiellement destinés à décrire la structure de contrôle d’un système et son
évolution dynamique. Les réseaux Place/Transition échouent en effet à décrire la structure
des données manipulées par le système, leur fermeture à la modélisation de
l’environnement extérieur et la manière dont ces données peuvent influencer le
comportement dynamique.
Ces reproches ont certainement été légitimes à une époque, mais ils ont été entendus par la
communauté RDPs, qui a développé des techniques de structuration des réseaux, et qui a traité le
problème de la prise en compte des données en développant la théorie des réseaux de Petri de haut
niveau.
1.10 Extension des réseaux de Petri
A la différence des autres formalismes de modélisation notamment les réseaux de files d’attente,
les premiers résultats fournis par les réseaux de Petri vont être de nature qualitative. Depuis les
années 70, le concept RdP a été largement développé par de nombreux auteurs dans le monde
entier en intégrant particulièrement l’aspect temporel et stochastique dans le modèle initial. La
théorie des graphes et la théorie des processus stochastiques sont ainsi exploitées pour l’évaluation
17
de performances. Les paragraphes suivants sont consacrés à la présentation de quelques extensions
à la définition initiale des réseaux de Petri. [15]
1.10.1 Réseau de Petri temporisés
Les réseaux de Petri temporisés introduisent la notion de temps dans le
parcours du réseau qui permettent de décrire un système à événements discrets dont
le fonctionnement dépend du temps [16]. Pour les réseaux de Petri temporisés, les temporisations
ont d’abord été associées aux transitions (T-temporisés), puis aux places (P-temporisés).
La temporisation représente alors la durée minimale de franchissement ou le temps
de séjour minimum d’un jeton dans une place. Les réseaux de Petri T-temporisés
fonctionnent de la manière suivante : lorsqu’un jeton franchit une transition, celui-ci
est réservé pendant un certain temps. C’est seulement après ce temps d’attente que
le jeton franchira effectivement la transition. Les RdP T-temporisés et P-temporisés
sont équivalents. Concernant les réseaux de Petri temporels, l’extension temporelle
s’exprime sous la forme d’un intervalle associé principalement aux transitions (T-temporel), ou
aux places (P-temporel). Contrairement aux RdPs P-temporisés et T-temporisés, l’expressivité des
RdPs T-temporels et P-temporels n’est pas équivalente.
Figure 1.11 : Réseau de Petri temporel
1.10.2 Réseau de Petri stochastiques
Les réseaux de Petri stochastiques (SPN) ont été introduits pour répondre à certains problèmes
d’évaluation liés à la sûreté de fonctionnement de systèmes informatiques. Ces problèmes faisant
intervenir des phénomènes aléatoires, les transitions du réseau de Petri ont comporté des temps de
franchissement aléatoires, distribués par une loi exponentielle. Cette distribution exponentielle
18
permet d'exploiter les propriétés mathématiques d'un processus de Markov. Bien entendu, ce
concept a largement été développé dès le début des années 80 pour répondre aux exigences de la
modélisation de plus en plus complexes comme par exemple la modélisation des systèmes de
production. Les notions de base ainsi que les principales propriétés se retrouvent dans de
nombreux ouvrages [17]. De nombreuses classes de réseaux de Petri stochastiques sont proposées
pour l'analyse des performances des systèmes de production. Les caractéristiques des
différentes classes de réseaux de Petri stochastiques se situent essentiellement dans
la nature des transitions utilisées. Initialement un réseau de Petri stochastique a toutes ses
transitions temporisées avec un temps aléatoire qui est distribué avec une
loi exponentielle, mais nous retrouvons d'autres types de transitions.
1.10.2.1 Réseau de Petri stochastiques généralisé
Le réseau (GSPN) se compose de transitions avec une temporisation nulle dites transitions
immédiates et de transitions avec une temporisation aléatoire distribuée exponentiellement dites
transitions stochastiques. Le processus stochastique sous-jacent au graphe des marquages est un
processus de Markov à temps continu.
1.10.2.2 Réseau de Petri stochastiques et déterministes
Le réseau (DSPN) contient des transitions immédiates, des transitions à temporisations
déterministes et des transitions à temporisations stochastiques distribuées suivant des lois
exponentielles.
1.10.2.3 Réseaux de Petri stochastiques étendus
Le réseau (ESPN) se compose uniquement de transitions temporisées aléatoires. Le
temps est distribué avec une loi quelconque. Le processus stochastique sous-jacent au graphe des
marquages est avec quelques restrictions un processus semi-markovien. Si les conditions ne sont
pas remplies, le réseau de Petri stochastique étendu est résolu par des simulations à événements
discrets
1.10.3 Réseau de Petri colorés
Les réseaux de Petri colorés sont des réseaux de Petri dans lesquels les jetons
portent des couleurs. Une couleur est une information attachée à un jeton. Cette
information permet de distinguer des jetons entre eux et peut être de type
19
quelconque [18]. Malgré leur forte utilisation, les réseaux colorés
n’apportent pas de puissance de description supplémentaire par rapport aux réseaux
de Petri classiques, ils permettent juste une condensation de l’information. A tout
réseau de Petri coloré marqué correspond un réseau de Petri qui lui est isomorphe.
Des extensions du type stochastique sont développées par de nombreux auteurs : les
RdPs Stochastiques Colorés et les RdPs stochastiques généralisés colorés. Ce type de réseau de
Petri est exploité essentiellement comme un outil de simulation.
1.10.4 Réseau de Petri continus et hybrides
Dans le cas des systèmes où le nombre de ressources est important et/ou les durées opératoires
sont variables dans le temps, une approximation continue des phénomènes et des variables est
intéressante. Une modélisation continue considère les transferts d’entités comme des flux et
remplace donc les variables discrètes par des variables continues. En ce sens, les réseaux de Petri
continus (RdPC) ont été introduits à partir des RdPs discrets. Un RdPC est
composé de places continues et transitions continues et son fonctionnement est lié à la notion de
vitesses, liées aux transitions, pouvant être constantes ou variables. Cette classe de réseaux de
Petri a conduit à une autre classe dite « les réseaux de Petri Hybrides ». Un RdP hybride est une
combinaison de la sémantique d’un RdPC et celle d’un RdP ordinaire (discret). Ils sont adaptés
pour la modélisation des systèmes dynamiques hybrides (SDH). Les réseaux de
Petri Lots étendent les réseaux de Petri hybrides [19] par la définition d’un nouveau type de nœud,
le nœud lot. Ils sont spécialement dédiés pour la modélisation et la simulation des systèmes de
production à haute cadence ayant des éléments de transfert avec possibilité d’accumulation des
entités (convoyeurs).
1.10.5 Les réseaux de Petri hiérarchiques
Les RDPs hiérarchiques (RdPH) permettent de modéliser un système de façon
modulaire comme un langage de programmation. Un RdPH se compose de plusieurs modules
(pages), où chaque module représente un sous réseau de Petri . Un module dit principal
référence tous les autres modules secondaires. Le référencement d’un module se fait au
moyen d’une transition de substitution portant le nom du module en question. L’utilisation des
RdPHs est préconisée pour la modélisation des problèmes de grande taille.
20
1.10.6 Les réseaux de Petri à Objet
Les réseaux de Petri objet (OPN) étendent le formalisme des réseaux de Petri colorés avec une
intégration complète des propriétés orientées objet y compris l'héritage le polymorphisme et la
liaison dynamique, l’orientation objet fournit des primitives de structuration puissant permettant la
modélisation des systèmes complexes.
1.11 Conclusion
Dans ce chapitre nous avons donné les définitions de base d’un réseau de Petri. Bien que simples,
ces définitions se compliquent lorsque l’on va au bout des choses.
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 Petri Place/Transition ont une théorie basée sur une base mathématique solide, les
résultats sont profonds. Les systèmes étant modélisé par les réseaux de Petri Place/Transition
peuvent être évalué facilement grâce à ces résultats. 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 des milliers de places et transitions pour une
petite application.
Dans le prochain chapitre, nous allons présenter la technologie MPLS et ses différents
composants.
21
CHAPITRE 2 LA TECHNOLOGIE MPLS
2.1 Introduction
Avec l’augmentation du nombre des utilisateurs et l’apparition des nouvelles applications
multimédia, Internet rencontre des sérieux problèmes pour garantir une qualité de service
acceptable par ce genre d’applications. Un mécanisme d’acheminement rapide est nécessaire
pour résoudre ce problème. La commutation de labels a été présentée comme la solution
miracle, elle consiste à commuter le trafic IP au niveau de la couche Liaison de données
tout en conservant la flexibilité des mécanismes d’acheminement traditionnels. L’IETF propose
l’architecture MPLS comme standard de cette technologie. Dans les réseaux de grande
taille (réseaux de transit) où plusieurs millions de flux de données sont acheminés à travers
les routeurs, l’agrégation est une autre technique qui permet d’augmenter les performances
des routeurs via la diminution de la taille des tables de routage.
2.2 MPLS
Au printemps 1996, Ipsilon une «start-up» américaine, de nos jours possédée par Nokia, a
présenté le concept de commutation IP (“IP Switching”) , où les modes de fonctionnement des
routeurs Internet et des commutateurs ATM ont été combinés. Plusieurs autres parties ont depuis
proposé leurs propres versions : «Tag Switching» de Cisco, CSR de Toshiba et ARIS d’IBM . Le
dernier proposé étant le futur standard MPLS «MultiProtocol Label Switching» de l’IETF [20] .
MPLS est une architecture de réseau qui permet de combiner l’efficacité d’ATM et la flexibilité
d’IP. Il commute les paquets au niveau Liaison de données et utilise les protocoles de routage
classiques (RIP, OSPF, BGP, etc.) pour établir les différents chemins. Il permet d’augmenter les
performances tout en assurant une scalabilité du réseau. Cependant, un chemin au niveau MPLS
est établi pour chaque entrée de la table de routage et sert à acheminer le trafic relatif à cette
entrée. Comme les tables de routage d’un routeur d’interconnexion d’Internet contiennent plus que
60 000 entrées, les tables de commutation auront une taille très grande. Ainsi, bien que plus rapide
que l’algorithme de best match appliqué sur les tables de routage, le temps de recherche reste
important. L’agrégation consiste à regrouper plusieurs entrées de la table de commutation en une
seule, ce qui permet de réduire la taille de la table de commutation et par conséquent d’améliorer
les performances.
22
MPLS est un protocole standard de la technologie “label switching”. Il s’appuie sur les
propositions existantes : IP Switching d’Ipsilon , Tag Switching de Cisco , ARIS (Aggregate
Route-based IP Switching) d’IBM et CSR (Cell Switched Router) de Toshiba . [21]
MPLS se propose de fournir un bon rapport prix/performance, tout en assurant une indépendance
par rapport au protocole de la couche Réseau (IPv4, IPv6, IPX, AppleTalk, etc.) et de la
technologie de la couche Liaison de données (ATM, FR, Ethernet, etc.).
2.2.1 Principe du MPLS
Le principe de base de MPLS est la commutation des labels. C’est un protocole situé au niveau 2,5
du modèle OSI car il associe les protocoles des couches 2 et 3.
MPLS rend le concept de commutation générique car il peut fonctionner sur tout type de protocole
de niveau 2.[22]
Figure 2.1 : MPLS au niveau des couches
Les routeurs MPLS, à l’intérieur du backbone, permutent les labels tout au long du réseau jusqu'à
destination sans consultation de l'entête IP et la table de routage. La commutation MPLS est une
technique orientée connexion.
2.2.2 Labels
Les labels sont des simples nombres entiers de 4 octets (32 bits) insérés entre les entêtes des
couches 2 et 3 du modèle OSI. Un label a une signification locale entre deux routeurs LSR
adjacents et mappe le flux de trafic entre le LSR amont et le LSR aval. [23]
A chaque bond le long du chemin LSP, un label est utilisé pour chercher les informations de
routage (Next Hop, interface de sortie). Les actions à réaliser sur le label sont les suivantes :
insérer, permuter et retirer.
23
Un label MPLS se présente sous cette forme :
Figure 2.2 : Détail d’un label MPLS
La signification des différents champs est donnée comme suit :
• Label (20 bits) : Valeur du label.
• Exp (3 bits) : Classe du service du paquet.
• BS (1 bit) : Indicateur de fin de pile (égal à 1 s’il s’agit du dernier label).
• TTL (8 bits) : Durée de vie du paquet (évite les doublons).
2.2.3 Commutation des labels
L’idée fondamentale de la commutation de labels consiste à remplacer les mécanismes
conventionnels de routage par des mécanismes plus rapides. L’acheminement des paquets n’est
plus basé sur l’analyse de l’adresse de destination. Un label de taille fixe, ajouté au paquet sert
comme index à une base d’informations pour déterminer le port de sortie du paquet et la nouvelle
valeur du label. L’analyse de l’en-tête réseau du paquet n’est faite qu’une seule fois à l’entrée du
réseau. Cette analyse permet de choisir le label adéquat à appliquer au paquet. Quand ce dernier
quitte le domaine MPLS, le label est enlevé et l’acheminement est assuré en analysant l’en-tête IP.
Un routeur qui supporte la commutation de labels est appelé LSR (“Label Switching Router”). Les
paquets qui possèdent le même label au niveau d’un LSR donné appartiennent à une même classe
d’équivalence appelée FEC (“Forwarding Equivalence Class”) et reçoivent le même traitement au
sein du domaine. Le chemin pris par tous les paquets d’une même FEC est appelé chemin
commuté ou LSP (“Label Switched Path”). Il est constitué par l’ensemble des LSR traversés par
un paquet appartenant à cette FEC (figure 2.3 ).
24
2.2.4 Distribution des labels
Les informations collectées par les protocoles de routage sont utilisées pour attribuer puis
distribuer les labels aux voisins MPLS. Un LSR reçoit une association d’un label sortant de la part
du prochain routeur d’une FEC à laquelle il associe un label entrant et distribue le résultat aux
pairs MPLS en amont.
Figure 2.3: Terminologie MPLS
La distribution de labels est généralement faite d’une manière dynamique. Un protocole de
distribution de labels LDP (“Label Distribution Protocol”) a été défini par l’IETF [24] .
L’allocation de labels est faite par le LSR en aval par rapport au sens de l’écoulement de données.
LDP prévoit deux formes d’allocation : allocation en aval et allocation en aval à la demande. Dans
la dernière forme, les labels sont attribués aux FEC et distribués aux pairs qui ont formulé une
demande explicite. Cette forme est utilisée dans les réseaux ATM où les commutateurs ATM ne
sont pas capables d’agréger différents flux. Dans la première forme, les labels sont affectés aux
FEC et distribués aux voisins MPLS sans aucune demande explicite de ceux-ci.
LDP définit aussi, deux modes de contrôle d’allocation de labels. Dans le premier, le contrôle
indépendant, chaque LSR attribue un label à une FEC indépendamment des autres voisins. Dans le
mode ordonné, seul le LSR de sortie (LSR par lequel le paquet quitte le domaine MPLS) peut
attribuer un label à une FEC, les autres LSR ne peuvent attribuer un label à une FEC que s’ils ont
reçu déjà une association pour cette FEC.
25
La distribution de labels peut être assuré par une extension des protocoles de routage (BGP, PIM,
etc...) ou des protocoles de contrôle (RSVP) . La distribution de labels en utilisant les protocoles
de routage permet d’avoir une cohérence instantanée entre la table de routage et la table de
commutation. Cependant, les protocoles de routage à état de liens ne peuvent pas être utilisés pour
la distribution de labels car ils ne distribuent pas les routes mais la topologie du réseau. Dans ce
cas, l’utilisation du protocole LDP est nécessaire.
2.3 Description des routeurs MPLS
MPLS est une technologie nouvelle qui utilise des mécanismes de commutation de labels destinés
à réduire les coûts du routage. Son intérêt n’est actuellement plus la rapidité de commutation par
rapport au routage d’adresse IP mais les services offerts. Un domaine MPLS est composé de deux
sortes de routeurs : les LSR et les ELSR (LER). [25]
Les LSR sont les routeurs de cœur capables de supporter le MPLS et les ELSR sont des routeurs
permettant de faire la transition entre le domaine MPLS et les autres réseaux par exemple les
clients IP.
La figure 2.4 montre en détail le rôle des différents composants du réseau MPLS :
Figure 2.4 : Principe de la commutation de label
2.3.1 LSR
C’est un routeur de cœur du réseau MPLS qui effectue la commutation sur les labels et qui
participe à la mise en place du chemin par lequel les paquets sont acheminés. Lorsque le routeur
LSR reçoit un paquet labélisé, il le permute avec un autre de sortie et expédie le nouveau paquet
labélisé sur l'interface de sortie appropriée. Le routeur LSR, selon son emplacement dans le réseau
MPLS, peut jouer plusieurs rôles à savoir : exécuter la disposition du label (appelé déplacement),
26
marquer l'imposition (appelée poussée) ou marquer la permutation en remplaçant le label
supérieur dans une pile de labels avec une nouvelle valeur sortante de label.
2.3.2 ELSR (LER)
Il s’agit d'un routeur d’accès au réseau MPLS qui gère le trafic entrant dans le réseau MPLS et
possédant à la fois des interfaces IP traditionnelles et des interfaces connectées au réseau MPLS.
Ce routeur ELSR d'entrée, exécute les fonctions de l'imposition de label et de l’expédition d'un
paquet à destination du réseau MPLS. A la sortie du réseau MPLS, il exécute les fonctions de
déplacement (disposition) de label et la transmission de paquet IP au destinataire
2.3.3 LSP ,FEC, LDP
➢ LSP : C’est un chemin pour un paquet de données dans un réseau basé sur MPLS ou une
séquence de labels à chaque nœud du chemin allant de la source à la destination. Les LSP sont
établis avant la transmission des données ou à la détection d’un flot qui souhaite traverser le
réseau. Il est unidirectionnel et le trafic de retour doit donc prendre un autre LSP.
➢ FEC : Il représente un groupe de paquets ayant les mêmes propriétés. Tous les paquets d'un
tel groupe reçoivent le même traitement au cours de leur acheminement. Dans le réseau MPLS, la
transmission de paquets s’effectue par l’intermédiaire de classes d’équivalence FEC.
Contrairement aux transmissions IP classiques, un paquet est assigné à une FEC une seule fois lors
de son entrée sur le réseau. Les FEC sont basés sur les besoins en termes de service pour certains
groupes de paquets ou même un certain préfixe d'adresses.
➢ LDP : C’est un protocole permettant d'apporter aux LSR les informations d'association des
labels dans un réseau MPLS. Il est utilisé pour associer les labels aux FEC pour créer des LSP.
Les sessions LDP sont établies entre deux éléments du réseau MPLS qui ne sont pas
nécessairement adjacents. Il construit la table de commutation des labels sur chaque routeur et se
base sur le protocole IGP pour le routage.
➢ Upstream and Downstream : Ce sont les deux modes de distribution des labels utilisés par
le protocole LDP dans un réseau MPLS : Upstream pour le mode ascendant et Downstream pour
le mode descendant.
27
2.4 Agrégation
L’agrégation dans les réseaux IP classiques permet de réduire la taille des tables de routage en
regroupant les adresses ayant un préfixe en commun et le même prochain routeur. MPLS permet
de généraliser cette approche par l’utilisation judicieuse des labels.
Généralement dans un domaine MPLS, une FEC est associée à chaque préfixe d’adresse qui
apparaît dans la table de routage. Cependant, il peut y avoir plusieurs préfixes qui empruntent le
même chemin. L’agrégation consiste à appliquer un label unique à une union de préfixes. Elle
permet de réduire le nombre de labels nécessaires pour traiter l’ensemble des paquets et ainsi de
réduire la taille des tables de commutation. En effet, les avantages de l’agrégation dans le cadre de
MPLS sont nombreux :
• Accélération du processus de commutation via la réduction de la taille des tables de
commutation.
• Économie sur l’espace des labels ce qui est important surtout dans le cas des ATM-LSR
(commutateurs ATM qui supportent le protocole MPLS) où les labels constituent une
ressource rare (champ VCI : 12 bits) . Il est aussi intéressant de faire des économies sur les
labels lorsque le réseau est très grand.
• Distribution de labels plus facile. En effet, il est plus simple de distribuer une association
entre un label et une FEC que de distribuer plusieurs associations.
• Agrégation d’un ensemble d’adresses IP non forcément contiguës. Un exemple
d’agrégation possible dans MPLS (ce qui est impossible avec le CIDR d’IP) consiste à
regrouper deux adresses réseaux appartenant à deux classes différentes en une seule FEC.
Ce type d’agrégation n’est pas possible avec les protocoles de routage d’où l’avantage de
l’agrégation au niveau MPLS.
Pour que le LSR d’entrée puisse attribuer le label adéquat à un paquet, il est nécessaire qu’il sache
déterminer le LSR de sortie du réseau pour ce paquet. Trois cas de figure sont possibles :
- Tous les LSR du domaine MPLS possèdent cette information.
- Seulement les LSR périphériques ont cette information.
- Aucun LSR n’a cette information, sauf le LSR par lequel les paquets de cette FEC quittent le
réseau.
La figure 2.5 illustre l’établissement des LSP relatifs aux différents LSR de sortie. Le LSR B
attribue le label 15 aux préfixes X, Y et Z et envoie l’association aux LSR E et H. Ces derniers
effectuent les tests nécessaires et propagent l’association à leurs voisins afin d’établir l’arbre pour
28
les préfixes dont le LSR de sortie est B. La table de routage et la table de commutation du LSR F
sont données à titre indicatif. Le LSR F reçoit les associations suivantes : (S, T, W, 61) de la part
de G, (X, Y, Z, 34) de la part de E et (X, U, V, 37) de la part de C. Nous remarquons que F reçoit
deux associations qui contiennent le préfixe X. Étant donné que le prochain routeur relatif au
préfixe X dans la table de routage de F est le LSR C, les paquets dont la FEC correspond au
préfixe X seront étiquetés avec le label 37 et non pas avec le label 34. Les associations envoyées
par F aux autres voisins sont : (S, T, W, 11), (Y, Z, 53) et (X, U, V, 21).
Figure 2.5 : Exemple d’agrégation dans le cas général
2.5 Les applications de la technologie MPLS :
Les principales applications de la technologie MPLS sont les réseaux privés virtuels (VPN), la
qualité de service (QoS) et l'ingénierie de trafic (TE). [26]
2.5.1 VPN/MPLS
Les réseaux privés virtuels basés sur la technologie MPLS simplifient considérablement le
déploiement des services VPN par rapport aux VPN traditionnels.
En plus, les services de VPN/MPLS sur IP sont le moyen le plus souple et le plus économique
pour interconnecter un ensemble de sites. L'architecture mise en place par MPLS est très sollicitée
par les opérateurs réseaux fournissant plusieurs clients car elle permet de partager des
équipements physiques.
29
2.5.2 Quality Of Service
Avec la technologie MPLS et la définition des classes disposant chacune d'un niveau de priorité, il
est possible de garantir une qualité de service adaptée à chacun des flux utilisant la solution
VPN/MPLS.
La QoS est un élément crucial pour un réseau d'opérateur. En effet, l’opérateur doit pouvoir
garantir à ses clients le transport de leurs flux en garantissant différentes contraintes, comme par
exemple : Débit minimal garanti, Débit maximal, Latence, Gigue.
Ainsi cette solution permet de véhiculer la voix sur IP (VoIP) et de mettre en place des
applications de visioconférence dans des conditions excellentes sur des réseaux VPN/MPLS à
forts taux d'utilisation.
2.5.3 Traffic Engineering
Tout comme la qualité de service, le « Traffic Engineering » est un élément crucial pour un réseau
d'opérateur. Comme sus-indiqué, il existe deux modes pour l'établissement des LSP sur un réseau
MPLS.
Dans un réseau MPLS, le TE permet d'optimiser l'utilisation des ressources d'un réseau afin
d'éviter la congestion. C'est la prise en compte de la bande passante disponible sur un lien lors des
décisions de routage qui rend possible cette optimisation.
2.6 Conclusion
Les techniques employées dans les cœurs de réseaux et les backbones ont subi une grande
évolution jusqu'à l'arrivée de la normalisation du protocole MPLS et son développement. Ces
réseaux IP/MPLS sont capables de s'adapter aux besoins de forte croissance de l'internet en faisant
face aux grandes exigences du trafic professionnel.
Grâce à ses mécanismes de commutation de labels avancés et sa simplicité de mise en place sur
des réseaux déjà existants, le MPLS est devenu une technologie phare de demain alliant souplesse,
évolutivité et performance pour un coût réduit.
Dans le chapitre suivant, les réseaux de Petri haut niveau sera abordé d’une manière détaillée.
30
CHAPITRE 3 LES RESEAUX DE PETRI HAUT NIVEAU
3.1 Introduction
Les réseaux de Petri Places-Transitions définissent un cadre théorique simple et puissant pour
l’étude de la concurrence. De plus, grâce aux nombreux outils disponibles, ils supportent la
spécification et l’analyse de systèmes concurrents dans de vastes domaines d’application.
Cependant, ce formalisme met en avant le contrôle au détriment de la structuration des
données : il est facile de modéliser et d’analyser le contrôle d’un système mais il est difficile
d’intégrer dans cette phase de conception l’organisation des données transportées, échangées ou
modifiées.
Afin de prendre en compte ce besoin sans modifier la sémantique des réseaux de Petri, différentes
abréviations ont été définies. Une abréviation de réseau est obtenue en attachant de
nouvelles informations aux nœuds et aux arcs et en définissant une sémantique de fonctionnement
qui tient compte de ces paramètres. Le point clef est de garder la possibilité de « déplier »
cette abréviation en un réseau de Petri ordinaire dont le comportement est identique. Parmi ces
abréviations, on peut citer les réseaux colorés, les réseaux à Prédicats/Transitions, les
réseaux algébriques, ou encore les réseaux bien formés [27]. Ces différents formalismes
se caractérisent par une syntaxe plus ou moins naturelle, par les modalités de paramétrisation
et par la possibilité d’analyse directe ( opérant sur le formalisme de haut-niveau) et dans
certains cas d’analyse paramétrée.
La relation entre le réseau Place/Transition et le réseau coloré peut être considéré comme relation
entre le langage à bas niveau (le langage de machine, 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 applications, qui conviennent plus aux langages de haut niveau que ceux de bas niveau.
Le plan de ce chapitre est le suivant : après une introduction informelle, nous définissons
précisément les réseaux colorés après nous étudions profondément les réseaux bien formés (ou
WN pour Well-formed Nets).
31
3.2 Les réseaux colorés
Deux familles de réseaux de haut niveau, les réseaux colorés et les réseaux à prédicats/transitions
ont été initialement introduits afin de prendre en compte dans un réseau de Petri des
comportements similaires mais devant être distingués. Ces deux modèles étant équivalents en
termes de modélisation [28], nous nous attacherons plus spécifiquement aux réseaux colorés dont
la définition, plus formelle, a servi de support aux principales études théoriques.
Ces formalismes permettent de modéliser des familles de systèmes à structure identique mais
de taille différente. En effet, à chaque place et à chaque transition est associé un domaine de
couleur qui permet, pour le cas des places, de colorer les marques pouvant être contenues dans
ces places, et pour le cas des transitions, de choisir une couleur de franchissement.
Ainsi pour distinguer plusieurs instances d’un même état, on ne duplique plus les places et
les transitions comme on le fait avec les réseaux de Petri ordinaires, on les « colore ».
Les pré-conditions (resp. les post-conditions) deviennent des fonctions de couleur qui a une
couleur de transition et une couleur de place associe le nombre de marques de couleur à
consommer (resp. à produire) lors du franchissement de la transition pour l’instance .
3.2.1 Notations
Avant de définir plus précisément les réseaux colorés, donnons rapidement quelques définitions
de base.
➢ Un multi-ensemble sur un ensemble fini et non vide Y est une application de
Y vers IN.
Intuitivement, un multi-ensemble est un ensemble pouvant contenir plusieurs occurrences
d’un même élément. Chaque multi-ensemble a sur Y peut être représenté par la somme formelle
a=∑y∈Y a(y).y, où l’entier positif ou nul a(y) désigne le nombre d’occurrences de l’élément
y dans le multi-ensemble a. Par exemple, la somme m = 2.α + 3.β désigne le multi-ensemble
contenant 2 fois la valeur α et 3 fois la valeur β sur un ensemble contenant les éléments α et β.
Nous notons Bag(Y) l’ensemble des multi-ensembles sur Y.
La somme de deux éléments de Bag(Y) et le produit d’un élément de Bag(Y) par un entier
se définissent naturellement.
32
➢ Soit a un élément de Bag(Y).
– Si b est un élément de Bag(Y) alors la somme de a + b de a et b est un élément de
Bag(Y) , défini par : a + b =∑ y∈Y(a(y) + b(y)).y
– si λ est un entier positif, alors le produit de λ.a de λ par a est un élément de Bag(Y) défini
par : λ.a = ∑y∈Y(λ.a(x)).x.
Bag(Y) est muni d’une relation d’ordre qui n’est autre que l’extension naturelle de la relation
d’ordre sur IN, ce que formalise la définition suivante.
➢ Soient a = ∑y∈Y a(y).y et b = ∑y∈Y b(y).y deux multi-ensembles sur Y. Alors
a est supérieur ou égal à b, ce qui est noté a ≥ b si et seulement si : ∀y ∈ Y, a(y) ≥ b(y).
Les domaines de couleur d’un réseau de haut niveau sont des produits cartésiens d’ensembles
finis. On manipule donc des tuples et nous précisons ici ce qu’est un tuple de valeurs et une tuple
de fonctions.
➢ (Valeur de tuple) Soient C1, . . ., Ck et C des ensembles finis. On appelle un
élément de C1 × . . . × Ck un k-tuple (ou simplement tuple) et on le note <c1, . . ., ck.>
➢ (Tuple de fonctions) Soient f1, . . ., fk un ensemble d’applications de C dans
Bag(Ci) (∀i ∈ [1..k] , fi : C → Bag(Ci)). Le tuple de fonctions <f1, . . . , fk> est une
fonction f qui a pour domaine C et codomaine Bag(C1) × . . . × Bag(Ck) avec ∀c ∈ C, <f1,
. . . , fk>(c) =<f1(c), . . . , fk(c)>
. Une fonction d’un ensemble C vers un ensemble Bag(C′) s’étend en une application linéaire de
Bag(C) vers Bag(C′) par les règles de calcul suivantes :
– f(λ.c) = λ.f(c)
– f(c1 + c2) = f(c1) + f(c2)
De même, Bag(C1 × . . . × Ck) s’identifie à Bag(C1) × . . . × Bag(Ck) par les règles de calcul :
– <c1, . . ., λ.ci, . . . ck> = λ.<c1 , . . . , ci, . . . ck>
– <c1, . . ., ci + c′i, . . . ck> = <c1, . . ., ci, . . . ck> + <c1, . . ., c′i, . . . ck>
33
3.2.2 Le formalisme
Les réseaux colorés offrent une possibilité d’expression plus compacte que les réseaux ordinaires.
En effet, dans un réseau coloré, une place peut contenir des jetons de différentes couleurs,
et une transition peut être franchie de différentes manières suivant la couleur sélectionnée. Ceci
est réalisé en attachant un domaine de couleur à chaque place et chaque transition. Ainsi, pour un
nombre de places et de transition identique, le nombre de comportements pouvant être exprimés
par un réseau coloré est bien plus élevé qu’avec un réseau de Petri ordinaire.
Un arc joignant une place et une transition est étiqueté par une application linéaire appelée
fonction de couleur. Cette fonction détermine pour chaque couleur de transition (ou instance
de franchissement) le nombre de jetons par couleur devant être consommés ou produits dans la
place lors du franchissement de la transition pour la couleur choisie. Comme pour les réseaux
de Petri ordinaires, le choix de la couleur de franchissement d’une transition se fait de façon
indéterministe : si une transition t est franchissable pour une couleur c1 et pour une couleur c2,
rien ne précise dans le formalisme le choix de l’instance de franchissement de t. Ces différents
concepts sont formalisés par les définitions suivantes.
➢ Un réseau coloré est un 5-tuple CN = <P, T, C, Pre, Post> où :
– P est un ensemble non vide et fini de places ;
– T est un ensemble non vide et fini disjoint de P de transitions ;
– C’est la fonction de couleur de domaine P U T et de codomaine ω avec ω un ensemble
contenant les ensembles finis et non vides. Un élément de C(s) est appelé couleur de s et
C(s) désigne le domaine de couleur de s ;
– Post (resp. Pre´) est la fonction d’incidence avant (resp. arrière) qui associe à chaque
place p ∈ P et chaque transition t ∈ T, une application de C(t) vers Bag(C(p)).
➢ Un marquage m d’un réseau est un vecteur indexé par P où pour chaque place
p ∈ P, m(p) est un élément de Bag(C(p)) et désigne le nombre de marques colorées dans
cette place p.
Un réseau coloré marqué est donc un couple < CN, m0 > où CN est un réseau coloré et m0
son marquage initial, i.e. le nombre de marques colorées présentes initialement dans chaque place
du réseau.
34
➢ La règle de tir (ou de franchissement) d’un réseau coloré est définie de la manière
suivante :
– Une transition t est franchissable pour un marquage m et une couleur ct ∈ C(t) si :
∀p ∈ P, m(p) ≥ Pre(p, t)(ct)
– Le franchissement d’une transition t pour un marquage m et une couleur ct ∈ C(t)
engendre le nouveau marquage m′ défini par :
∀p ∈ P, m′(p) = m(p) + Post(p, t)(ct) − Pre(p, t)(ct)
On note alors m[t(ct)>m′, ou encore m−→m′, ce qui signifie que t est franchissable par rapport à
la couleur ct pour le marquage m et atteint le marquage m′. Lorsque le marquage atteint n’est pas
utile, on note m[t(ct)> le fait que t est franchissable par rapport à la couleur ct pour le marquage
m. On note également, Acc(CN, m0) l’ensemble de tous les marquages accessibles à partir de m0.
Un réseau coloré n’est en fait que l’abréviation d’un réseau de Petri ordinaire sous-jacent,
appelé réseau déplié ou développé. Le principe du dépliage d’un réseau coloré en un réseau de
Petri se fait de la manière suivante : une place dans le réseau déplié par place et couleur de place
dans le réseau coloré et la même chose pour les transitions. On déduit ensuite la valuation des arcs
et le marquage des places par applications des fonctions de couleur. Comme on le voit,
l’hypothèse de finitude des domaines de couleur est indispensable pour effectuer ce dépliage.
➢ (Réseau déplié) Soit CN = <P, T, C, Pre, Post> un réseau coloré. Le réseau
de Petri Places-Transitions développé de CN est le réseau CNd = <Pd, Td, Pre d, Pos d>
Défini par :
–Pd=Up∈P,cp∈C(p)(p,cp) l’ensemble des places,
–Td=Ut∈T,ct∈C(t)(t,ct) l’ensemble des transitions,
– Postd (resp. Pred) la fonction d’incidence avant (resp. arrière) définie de Pd × Td vers IN
par :
Postd(p,cp)(t,ct)=Post(p,t)(ct)(cp)
Pred(p,cp)(t,ct)=Pré(p,t)(ct)(cp)
35
Le marquage développé d’un marquage coloré se définit de façon similaire.
➢ Soient CN un réseau coloré et m un marquage de ce réseau. Le marquage
développé de m dans le réseau développé de CN est le marquage md défini par :
∀(p, cp) ∈ Pd, md(p, cp) = m(p)(cp).
On obtient alors la proposition fondamentale suivante qui dit que la sémantique d’un réseau
coloré et de son réseau déplié sont identiques moyennant un isomorphisme.
m[t(ct)>m′ dans CN si et seulement si md[t(ct)>m′d dans CNd.
Ainsi donc, l’analyse d’un réseau coloré pourrait se ramener simplement à l’analyse de son
réseau déplié : un système est modélisé par un réseau coloré, le réseau coloré est déplié, puis
l’analyse se fait sur le réseau déplié en utilisant les techniques classiques d’analyse des réseaux
de Petri ordinaires.
Cette méthodologie se heurte à deux problèmes importants :
- la taille du réseau déplié est généralement très importante du fait du pouvoir de concision fourni
par la formalisme coloré (ce qui peut rendre inopérant bon nombre de techniques d’analyse) ;
- les résultats d’analyse obtenus sur le réseau déplié sont rarement, ou très difficilement,
interprétables dans le réseau d’origine.
L’intérêt des réseaux colorés est donc fortement lié à l’existence d’outils de validation directe,
c’est à dire opérant directement sur le modèle coloré. Malheureusement, l’extension de techniques
classiques (calcul d’invariants, application de réductions, etc.) ainsi que la définition de
techniques particulières (basées par exemple sur l’utilisation de symétries naturelles du modèle)
sont rendues particulièrement difficiles du fait de la non structuration des fonctions et domaines
de couleur. Le problème posé est alors : peut-on définir un formalisme suffisamment structuré
pour permettre la définition d’algorithmes d’analyse directe tout en maintenant un pouvoir
d’expression suffisamment élevé ?
36
Devant la difficulté du problème posé, différentes familles de réseaux de haut niveau ont
été définies [18] : les réseaux réguliers, les réseaux ordonnés ou encore les réseaux à
prédicats/transitions unaires. Toutes répondent au besoin de structurer les domaines et les
fonctions de couleur afin de pouvoir développer des algorithmes d’analyse opérant directement sur
le modèle de haut niveau.
Ces différents formalismes ont été ensuite homogénéisés par la définition des réseaux colorés
bien formés [29] (ou réseaux bien formés), que nous allons étudier dans la section suivante. Il est
prouvé que ce formalisme a le même pouvoir d’expression que les réseaux colorés. En revanche,
la structuration de ce modèle a permis de définir (ou d’étendre) un nombre important de
techniques d’analyse opérant directement sur le réseau de haut-niveau.
3.3 Les réseaux bien formés
Un réseau bien formé (ou WN pour Well formed Nets) est un réseau coloré respectant différentes
contraintes syntaxiques. Comme nous l’avons évoqué plus haut, le but de ces
contraintes est de permettre une utilisation directe de la structure du réseau pour développer
des algorithmes d’analyse. Les contraintes imposées sont de trois types :[30]
- les domaines de couleurs sont des produits cartésiens de domaines de bases appelés classes
ou classes de couleurs élémentaires;
- les fonctions de couleur sont construites à partir de fonctions élémentaires (identité, diffusion et
successeur);
- le modèle met en avant les symétries du système. Les comportements asymétriques sont
pris en compte par le partitionnement des classes en sous-classes statiques et par l’ajout
de garde sur les fonctions de couleur et sur les transitions.
3.3.1 Domaines de couleur
Le domaine de couleur des places et des transitions est restreint au produit cartésien d’ensembles
de couleurs de bases appelés classes élémentaires.
Une classe élémentaire est un ensemble fini, non vide (pouvant être ordonnée) de couleurs
terminales (dont la définition ne dépend d’aucune autre couleur). Une classe peut être vue comme
un ensemble contenant des éléments de même type. Une classe peut être paramétrée ; dans ce cas,
le nombre d’éléments d’une classe n’est pas donné par une valeur entière fixée mais par
37
une variable n, dont la valeur représente alors un paramètre du modèle. Par exemple, un ensemble
de trois processus clients peut définir une classe : on aura alors la classe Client que l’on pourra
noter Client = {1,2,3} ou de façon plus parlante Client = {Client1, Client2, Client3}. Si
l’on ne veut pas fixer à priori le nombre de clients, on pourra représenter les clients par la classe
Client = {1..n}, ou encore Client = { Client1 . . . Clientn }, où n représentera le nombre de
clients (et sera un paramètre implicite du modèle).
Lorsque la notion d’ordre est utile, par exemple pour l’emploi de la fonction successeur, on
supposera que la classe où s’applique cette fonction est ordonnée ce qui signifie que chaque
élément a un unique successeur, et que deux éléments n’ont pas le même successeur. L’ordre
utilisé sera celui induit par la définition de la classe. Par exemple, l’ordre induit sur la classe
Client est tel que le successeur de Client1 est Client2, que le successeur de Client2 est Client3
et que celui de Client3 est Client1.
Une classe élémentaire peut être partitionnée en sous-classes statiques afin de regrouper au sein
d’une même classe des éléments de même type mais de comportements différents. Ce
partitionnement est statique dans le sens où il est effectué lors de la phase de modélisation et ne
dépend pas d’un marquage donné. Sur l’exemple précédent, il est possible que le client d’identité
1 ait un comportement légèrement différent des autres clients (lui seul peut, par exemple, accéder
à certaines ressources). Dans ce cas, plutôt que de définir deux classes distinctes, on partitionnera
la classe Client en deux sous classes : la sous-classe contenant le client < 1 > et la sous-classe
contenant les autres clients. On notera alors Client = {1} ∪ {2,3}. Ce partitionnement pourra
être utilisé pour restreindre le franchissement de transitions à certaines valeurs de sous-classe et,
par exemple, de distinguer le client < 1 > des autres clients. Chaque sous-classe statique peut
être paramétrée. Dans ce cas, une classe contenant des sous-classes statiques paramétrées est
également paramétrée et sa taille est la somme des tailles des sous-classes la constituant. Par
exemple, un ensemble de clients peut être divisé en deux sous-ensembles : les clients mineurs et
les clients majeurs. La définition de la classe client se fait alors de la façon suivante : Client = {
Client_m1 ...Client_mn1 } ∪ { Client_M1 ...Client_Mn2 }. La taille de la classe Client est
alors n1+n2.
Lorsqu’une place (ou une transition) n’est pas colorée (ou de couleur neutre) on note € le
domaine de couleur de cette place.
38
➢ (Domaine de couleur) Un domaine de couleur est un produit cartésien fini de classes
élémentaires. Chaque classe élémentaire est un ensemble fini d’éléments. On note Cl =
{C1,... ,Ck} l’ensemble des classes élémentaires et l’on impose que ∀i ≠ j ∈ [1..k],
Ci ∩ Cj = ∅.
Une classe élémentaire peut être partitionnée lors de sa définition en sous-classes statiques.
On note alors Ci,q la q-ème partition de la classe Ci, si le nombre de sous-classes statiques
de Ci ; on a alors
Ci = ⊎q=1..siCi,q. ou ⊎ dénote l’union disjointe
Une sous-classe statique peut être paramétrée ; dans ce cas on note ni,q le nombre
d’éléments de la sous-classe statique Ci,q.
Un domaine de couleur est noté de façon générale par C = 𝐶1𝑒1 x ……..x 𝐶𝑘
𝑒𝑘 où ei désigne
le nombre de fois (un entier positif ou nul) qu’apparaît la classe Ci dans C. Lorsque tous
les ei sont nuls, le domaine de couleur est le domaine neutre, que l’on note €.
Ici 𝐶𝑘𝑒𝑘 signifie le produit Ck × . . . × Ck où Ck apparaît ek fois
La définition des classes apparaîtra sur une partie de la figure comme illustré ci-dessous
(figure 3.1). Les noms des places sont suivis du caractère ’ :’ puis de leur domaine de couleur.
Par exemple, la place de nom Mess_A_Emettre est de domaine Cn× Cn× T y× Me (les valeurs sur
Figure 3.1: Un exemple de classes
les arcs sont des fonctions de couleur qui seront explicitées plus loin). Les domaines de couleur
des transitions ne seront jamais précisés directement sur le modèle mais déduits automatiquement
39
du domaine des places liées à la transition considérée et des fonctions de couleur intervenant sur
les arcs.
3.3.2 Fonction de couleur
Les arcs d’un WN sont étiquetés par des fonctions de couleur qui sont des sommes pondérées
de tuples de fonctions de couleur élémentaires. Comme pour les réseaux colorés, ces fonctions
permettent de préciser par rapport à une couleur de franchissement le nombre et la couleur des
marques nécessaires, consommées ou produites.
Il y a trois fonctions de couleur élémentaires. Chacune est définie d’un domaine de couleur C
vers une classe élémentaire Ci. La fonction identité (XCi) permet de sélectionner une instance
de Ci, la fonction successeur (!XCi) permet de sélectionner le successeur d’une instance de Ci ;
quant à la fonction de diffusion (AllCi) elle permet de considérer tous les éléments de Ci. Cette
dernière fonction peut être restreinte à une sous-classe statique Ci,q de Ci (AllCi,q). Lorsque
une classe apparaît plusieurs fois dans le domaine C, on précise sur quelle occurrence de Ci est
appliquée la fonction par un indice supplémentaire.
➢ (Fonctions de couleur élémentaires) Soient Ci une classe élémentaire et
C= 𝐶1𝑒1 x………x 𝐶𝑘
𝑒𝑘 un domaine de couleur. Les fonctions de couleur élémentaires sont
définies de C dans Bag(Ci) par ∀c = {𝐶11, …., 𝐶1
𝑒1 ,….., 𝐶𝑘1 ,……, 𝐶1𝑘
𝑒𝑘} :
– 𝑋𝐶𝑖𝑗
(c) = 𝐶𝑖𝑗 (pour tout j tel que 1 ≤ j ≤ ei) ;
– !𝑋𝐶𝑖𝑗
(c) = Successeur de 𝐶𝑖𝑗 dans Ci (pour tout j tel que 1 ≤ j ≤ ei) ;
– AllCi(c)=∑ x 𝑥∈Ci et ∀c ∈ Ci, AllCi,q(c)= ∑ x 𝑥∈Ci,q
Si C est le domaine neutre, alors la seule fonction de couleur possible est All€.
A l’aide de ces fonctions élémentaires on peut définir une fonction de couleur sur une classe
Ci comme étant une combinaison linéaire des fonctions élémentaires. Les contraintes imposées
sur les coefficients de cette combinaison linéaire assurent que l’on sélectionne bien un nombre
positif de couleurs.
40
➢ (Fonctions de couleur sur une classe) Soient Ci une classe élémentaire et
C= 𝐶1𝑒1 x………x 𝐶𝑘
𝑒𝑘 un domaine de couleur. Une fonction de couleur sur Ci est une
combinaison linéaire
𝑓𝑐𝑖=∑ αi, k. 𝑋𝑐𝑖𝑘 𝑘=1….𝑒𝑖 +∑ βi, q. AllCi, q 𝑘=1….𝑠𝑖 +∑ γi, k. !. 𝑋𝑐𝑖
𝑘 𝑘=1….𝑒𝑖
telle que ∀q ∈ 1..si, ∀K ⊆ {1..ei}, [βi,q + Pk∈K Min(αi,k, γi,k)] ≥ 0
Remarque Ces définitions appellent un certain nombre de remarques dans une utilisation
pratique : :
- On note indifféremment AllCi, Ci.All, ou SCi la fonction de diffusion sur Ci. De plus,
lorsqu’il n’y a pas d’ambiguïté, on peut omettre le nom de la classe (Alli ou Si) et même
l’indice lorsqu’il n’y a qu’une classe (All ou S).
- De même, on note 𝑋𝐶𝑖𝑗
, 𝑋𝑖𝑗 ,Xi ou X la fonction identité. De plus, tout nom différent de
All (ou de S) et différent d’un nom de classe ou d’un nom d’un élément d’une classe peut
être utilisé pour définir la fonction identité ou de la même façon,
pour définir la fonction successeur. On se rapproche alors de la définition des
réseaux à prédicats/transitions faisant intervenir la notion de variables et de constantes
: le nom de la fonction apparaissant sur un arc est interprété comme une variable.
- Par définition, ∑ AllCi, q 𝑞=1….𝑠𝑖 = AllCi ce qui explique que la fonction AllCi n’apparaît pas
directement dans la définition. Sur l’exemple de la figure 3.2 le modèle de gauche peut
représenter l’envoi d’un signal par un processus X à tous les autres processus. Le modèle de
droite, quant à lui, peut s’interpréter comme l’envoi d’un signal à un sous ensemble statique des
processus, ici les processus de la sous-classe statique {a, b, c}.
Figure 3.2 : Un exemple de fonction de couleur sur une classe
41
Les fonctions de couleur d’un WN sont soit des valeurs entières lorsqu’elles portent sur des
places non colorées, soit des sommes de tuples de fonctions sur les classes du domaine de la place
considérée.
➢ (Fonctions de couleur) Soient t une transition et p une place. Une fonction
de couleur sur un arc reliant t et p est :
- une valeur entière si C(p) = € ;
- une somme de tuples ∑ {𝑓𝐶𝛼1𝑗
… . 𝑓𝐶𝛼𝑘𝑗
}𝑗 , si C(p)=𝐶∝1 x…..x 𝐶∝𝑘 avec tout 𝑓𝐶𝛼𝑖𝑗
une
fonction de couleur de C(t) sur Ci.
Bien que ces définitions soient un peu formelles, nous rappelons qu’en pratique le fait de donner
des noms différents aux fonctions identité allège considérablement les notations. Considérons
l’exemple suivant :
Figure 3.3 : Exemple de fonction de couleur
Sur cet exemple, le franchissement de t consomme une marque x de C1 dans la place p2,
une marque y de C1 dans la place p3 (il se peut que x = y) et un jeton dans la place p1. Ce
franchissement produit alors une marque x et une marque y dans la place q2 ainsi que l’ensemble
des couples (z, y) avec z dans C1 et différent de x dans la place q1. Formellement,
– <X> désigne la fonction 𝑋𝐶11 et <Y> désigne la fonction 𝑋𝐶1
2 ;
– <X + Y> désigne la fonction <𝑋𝐶11 + 𝑋𝐶1
2 >;
42
– <All − X, Y> désigne le tuple de fonctions <𝑓1 ,𝑓2> avec 𝑓1 = (AllC1 − 𝑋𝐶11 ) et 𝑓2 = 𝑋𝐶1
2 .
3.3.3 Les gardes
La définition des WN est fortement liée à la notion de symétrie qui apparaît dans les
comportements modélisés. La modélisation d’un ensemble de ressources de même type (ou les
états de processus de même comportement) est réalisée par la définition d’une place colorée : la
place modélise l’ensemble des ressources (ou l’état d’un ensemble de processus) et la distinction
des instances est obtenue par le domaine de couleur de la place.
Nous avons vu que le partitionnement d’une classe en sous-classes statiques permet de
différencier, au sein d’une même classe, des comportements légèrement différents. Ce mécanisme
de modélisation évite la duplication de places ou de transitions. Afin de prendre en compte la
définition de ces sous-classes dans la dynamique du système il nous faut pouvoir restreindre le
franchissement des transitions à certaines instances de sous-classes ainsi que la consommation
ou la production de marques à certaines valeurs. Ce double objectif est atteint par la définition
de gardes.
➢ (Gardes) Une garde est une fonction booléenne définie sur un domaine de
couleur C= 𝐶1𝑒1 x………x 𝐶𝑘
𝑒𝑘 et construite à l’aide des prédicats standard suivants
définis par :
∀C = <𝐶11,..., 𝐶1
𝑒1,…. 𝐶𝑘1,…., 𝐶𝑘
𝑒𝑘>∈ C,
- [𝑋𝑐1𝑖1 = 𝑋𝑐1
𝑖2 ](c) vaut VRAI ssi 𝑐𝑖𝑖1 = 𝑐𝑖
𝑖2
- [𝑋𝑐1𝑖1 = !𝑋𝑐1
𝑖2 ](c) vaut VRAI ssi 𝑐𝑖𝑖1 est le successeur de 𝑐𝑖
𝑖2 dans Ci
- [𝑋𝑐1𝑖1 ∈ 𝐶𝑖,𝑞](c) vaut vrai ssi 𝑐𝑖
𝑖1 appartient à la sous classe statique 𝐶𝑖,𝑞
- g1 ∨ g2, g1 ∧ g2, ¬g1 où g1 et g2 désignent des prédicats standards et ∨, ∧, ¬
désignent les connecteurs booléens classiques.
Remarque : Lorsque l’on a utilisé des noms différents de 𝑋𝐶𝑖1 pour désigner la fonction identité
sur la i -ème composante du domaine de couleur C, c’est ce nom qui est également utilisé pour la
définition des gardes plutôt que la notation 𝑋𝐶𝑖1. De plus, plutôt que de faire intervenir deux
variables différentes (X et Y par exemple) et d’utiliser une garde liant ces deux variables ([X =Y])
on préférera utiliser simplement une seule variable (par exemple X). Lorsqu’une sous-classe
statique est un singleton, l’on note X = e plutôt que X ∈ {e}.
43
Lorsqu’une garde g apparaît dans la définition d’une transition t elle s’interprète comme :
la transition t est franchissable pour une instance de couleur c si et seulement si la garde vaut
vrai pour c (g(c) = V RAI) et si les pré-conditions de t sont remplies pour cette instance de
couleur c (règle de franchissement normale). Une garde portant sur une transition modifie donc
implicitement le domaine de couleur de la transition. Si l’on veut restreindre l’application de la
garde à une des fonctions attenantes à cette transition, il est nécessaire de garder la fonction et
non la transition.
Lorsqu’une garde g apparaît sur la définition d’un tuple f d’une fonction de couleur on note
[g]f le tuple f gardée par g. Cette garde modifie alors la valeur de f de la façon suivante.
➢ (Fonctions de couleur gardées) Soient f un tuple de fonctions élémentaires et g une
garde. Le tuple gardé [g]f est défini par
[g]f(c) = ( si g(c) alors f(c) sinon 0 )
Une fonction de couleur gardée est alors une somme de tuples gardés.
Considérons les deux modèles suivants. Dans le modèle de gauche, la garde limite
Figure 3.4 : Exemple de gardes
le franchissement de t aux valeurs (c, c′) de C × C vérifiant c = c′. La garde devrait être
théoriquement notée [XC1 = XC2 ]. Le modèle de droite est une notation plus simple du même
modèle : au lieu de faire figurer la garde [X = Y] on remplace Y par X sur les arcs reliant t à p2 et
q.
44
Les deux modèles suivants (figure) montrent la différence entre une transition gardée et
une fonction gardée. Sur le modèle de gauche, la transition t n’est franchissable que pour les
valeurs < c, c′ > de C × C vérifiant c′ ≠0 (qui est une notation abrégée de c′ ∈ {/ 0} et qui signifie
c′ est différent de la valeur 0 de C). Sur le modèle de droite, la transition est franchissable pour une
valeur < c, c′ > à condition que d’une part il existe au moins une marque de couleur c dans p1 et
que d’autre part, soit c′ = 0 soit il existe au moins une marque de couleur c′ dans p2 : t
est donc potentiellement franchissable pour des valeurs < c, 0 >. Si on franchit t pour < c, c′ >
avec c′ ≠ 0, une marque de couleur c est prélevée de la place p1, une marque de couleur c′ est
prélevée de la place p2 et une marque de couleur < c, c′ > est produite dans q. Si par contre l’on
franchit la transition t pour une valeur < c, 0 > alors seule une marque de couleur c est prélevée
de p1 (pas de pré-condition sur p2) et une marque de couleur < c, 0 > est normalement produite
dans q.
Figure 3.5 : Exemple de gardes
3.3.4 Le formalisme des réseaux bien formés
Un réseau bien formé est un 7-tuple WN = < P, T, Pre, Post, Cl, C, Φ> où :
– P est un ensemble non vide et fini de places ;
– T est un ensemble non vide et fini disjoint de P de transitions ;
– Cl = {C1, . . . , Ck} est ensemble de classes élémentaires ; chaque classe élémentaire Ci est un
ensemble fini et non vide pouvant être partionné en si sous-classes statiques (Ci =⊎q=1..siCi,q) ;
On note ni = |Ci| et ni,q = |Ci,q| ;
– C est la fonction de couleur de domaine P ∪ T et de codomaine ω, où ω est un ensemble
contenant les produits cartésiens finis d’éléments de Cl (classes élémentaires). Un élément de C(s)
est un tuple < c1, c2, . . . , cl > et est appelé couleur de s. C(s) désigne le domaine de couleur de s ;
45
– Post (resp. Pre´) est la fonction d’incidence avant (resp. arrière) qui associe à tout couple p, t de
P × T une fonction de couleur gardée de C(t) vers Bag(C(p)) ;
– Φ est une fonction qui associe à chaque transition une garde ; par défaut, pour tout t,
Φ(t) = V RAI.
Il existe une fonction Ordonnée définie de Cl dans booléen et qui précise si l’ordre est important
pour une classe élémentaire donnée (utilisation ou pas de la fonction successeur sur cette classe).
La règle de franchissement et la définition du réseau déplié sont les mêmes que pour les réseaux
colorés. La seule distinction provient de la prise en compte des gardes qui modifie légèrement ces
définitions par :
- une transition t est franchissable pour une couleur 𝑐𝑡 ∈ C(t) ssi la garde associée à t est vrai
pour 𝑐𝑡 (Φ(t)( 𝑐𝑡) = VRAI) et si t est franchissable normalement pour 𝑐𝑡 (pré-conditions vérifiées)
- une transition (t, 𝑐𝑡) apparaît dans le réseau déplié uniquement ssi la garde associée à t est
vrai pour 𝑐𝑡 (Φ(t)( 𝑐𝑡) = VRAI).
3.3.5 Les réseaux réguliers et les réseaux ordonnés
En restreignant la définition des WN on peut retrouver la définition de deux familles de
réseaux colorés. L’intérêt de ces réseaux est qu’il existe des algorithmes simples de calcul de
famille génératrice d’invariants colorés et paramétrés sur ces modèles.
3.3.5.1 Réseau régulier
Un réseau bien formé est un réseau régulier si :
- Les classes ne sont pas partitionnées en sous-classes statiques ;
- Le domaine de couleur d’une place ou d’une transition ne peut faire intervenir deux fois la même
classe ;
- On n’utilise que les fonctions identité (𝑋𝐶𝑖) et diffusion (AllCi ) ;
- Toutes les gardes sont à VRAI (ou plus simplement il n’y a ni garde sur les fonctions ni garde
sur les transitions).
Lorsque le domaine de toutes les places et de toutes les transitions est égal aux produits cartésiens
de toutes les classes on dit que le réseau est homogène. Si ce domaine est réduit à une seule classe
46
(pas de produit cartésien de classes) on dit que le réseau est un réseau régulier unaire ou mono-
classe.
L’ensemble de ces contraintes implique que l’on ne peut distinguer une valeur constante dans
une classe de couleur et qu’une transition ne peut distinguer qu’un objet par classe élémentaire.
3.3.5.2 Réseaux ordonnés
Un réseau bien formé est un réseau ordonné s’il vérifie les mêmes contraintes qu’un réseau
régulier excepté le fait qu’il peut faire intervenir la fonction successeur (!𝑋𝐶𝑖) mais pas la fonction
de diffusion. Les fonctions autorisées sur une classe sont donc : 𝑋𝐶𝑖 et ! 𝑋𝐶𝑖
3.4 Réductions structurelles
Soient π une propriété et M un modèle. Vérifier que M satisfait π peut se faire de manière
efficace en définissant un modèle M′, équivalent à M pour la propriété π, de telle sorte que la
propriété soit plus simple à vérifier sur M′ que sur M.
Cette méthodologie est connue dans le cadre des réseaux de Petri sous le nom de réduction. [31]
Une réduction est une transformation de réseau qui réduit la taille du réseau tout en préservant
un ensemble de propriétés. Trois points caractérisent une réduction :
- les conditions d’applications : comment reconnaître que la réduction est applicable sur un
réseau ;
- la transformation de réseau : comment est défini le réseau réduit ;
- les propriétés préservées : le réseau réduit a-t-il le même comportement que le réseau initial
pour une propriété donnée ?
Parmi les réductions, nous nous intéresserons dans cette section aux agglomérations de transitions
(pré et post) et à la suppression de place implicite. Ces réductions offrent en effet un très bon
compromis entre fréquence d’utilisation, utilité de la réduction et simplicité d’application.
Nous nous attachons ici de plus à définir leurs équivalents dans le cadre des réseaux de haut
niveau.
47
3.4.1 Principe d’extension aux réseaux colorés
Différents types de réductions ont été définis pour les réseaux colorés. En effet, plutôt que de
définir de nouvelles réductions, l’auteur propose une méthodologie d’extension permettant de
construire une réduction « colorée » à partir d’une réduction ordinaire qu’il applique à quelques
réductions classiques. Cette méthodologie d’extension repose sur les trois principes suivants :
➢ se rapprocher des conditions d’applications ordinaires, c’est à dire :
- ne pas ajouter de contraintes structurelles par rapport à la définition ordinaire ;
- n’imposer que les conditions fonctionnelles nécessaires au maintien de l’équivalence
entre le réseau réduit et l’original.
➢ se limiter aux extensions permettant d’obtenir un réseau coloré réellement réduit et
utilisable :
- ne pas augmenter le domaine de couleur des transitions ;
- n’utiliser pour la définition des nouvelles fonctions de couleur que des compositions de
fonctions de couleur ou de leur inverse.
➢ maintenir le même ensemble de propriétés préservées.
Figure 3.6 : Méthodologie d’extension
Une façon simple de procéder est alors d’étudier les conditions sous lesquelles une réduction
colorée peut être vue comme la synthèse d’une série de réductions ordinaires. Pour cela, on
étudie comment reconnaître directement dans un réseau coloré les règles d’applications et de
transformations liées à l’application d’une série de réductions dans le réseau déplié ainsi que le
résume la figure précédente.
En plus des conditions portant simplement sur la structure (une place n’a qu’une transition en
entrée, une transition n’a qu’une seule place donnée en sortie, ...), il est important de caractériser
48
les fonctions de couleur par rapport à la structure qu’elles induisent dans le réseau déplié. En
effet, une transition peut n’avoir qu’une seule place en sortie dans le réseau coloré, alors que dans
le réseau déplié, une instance de cette transition peut avoir un ensemble de places en sortie ainsi
que l’illustre la figure 3.7.
Figure 3.7: Exemple de structure modifiée dans le réseau déplié
Il est donc nécessaire de définir des conditions suffisantes assurant que le dépliage produira un
réseau correct du point de vue de la structure attendue. Les définitions suivantes répondent à ce
besoin.
➢ (Propriétés de fonction) Une fonction f de C dans Bag(C′) est dite :
– unitaire si et seulement si ∀c ∈ C, c′ ∈ C′, f(c)(c′) = 0 ou f(c)(c′) = 1 ;
– orthonormale si et seulement si C = C′ et il existe une permutation σ sur C telle que
f(c) = σ(c) ;
– quasi-injective si et seulement si ∀c1, c2 ∈ C, ∀c′ ∈ C′, f(c1)(c′) # 0 et f(c2)(c′) # 0
=⇒c1 = c2.
– quasi-surjective si et seulement si ∀c′ ∈ C′, ∃c ∈ C tq f(c)(c′)#0 ;
– quasi-bijective si et seulement si C = C′ et ∀c ∈ C, ∃!c′ ∈ C tq f(c)(c′) # 0
Une fonction unitaire ne peut produire que des valuations égales à 0 ou à 1 dans le réseau
déplié. Une fonction orthonormale est, à une permutation près, une fonction identité sur un
domaine C. Quant aux autres caractérisations de fonction, elles correspondent à la notion usuelle
d’application injective, surjective ou bijective, hormis le fait que ces fonctions vont d’un domaine
vers un domaine de multi-ensembles. En pratique, la syntaxe des réseaux bien-formés permet
de tester facilement des conditions suffisantes précises pour ces propriétés. Par exemple, une
49
fonction quasi-injective sur un arc reliant une place p et une transition t ne peut faire intervenir
de projection. Il est alors suffisant de tester que le domaine de t est plus petit (au sens du
produit cartésien) que le domaine de p et que cette fonction est un tuple faisant intervenir toutes
les variables instanciées par la transition t et n’utilisant pas la fonction All sur les classes de
couleurs communes au domaine de t et de p.
Nous montrons maintenant l’extension de deux types de réductions : la pré et la post
agglomération de transition et la suppression de place implicite.
3.4.2 Pré et post-agglomérations de transitions
L’idée du pré et de la post-agglomération de transitions est de considérer deux ensembles
disjoints de transitions (notés H et F) et de définir des hypothèses permettant d’assurer
l’équivalence entre le réseau initial, où les transitions de H et de F seront franchies en séquence, et
le réseau réduit, où les couples (h, f) seront franchis atomiquement. Pour la pré-agglomération, des
hypothèses structurelles garantissent que l’on peut retarder le franchissement d’une transition h
jusqu’au franchissement d’une transition de F sans altérer l’ensemble des propriétés de bases.
Ce franchissement peut alors se faire atomiquement, ce qui a pour conséquence de supprimer un
état intermédiaire et donc de réduire la taille du graphe des marquages accessibles. De même,
pour la post-agglomération, des hypothèses structurelles assurent que l’on peut avancer le
franchissement d’une transition f dès que l’on a franchi une transition de H. On peut également
considérer que ce franchissement est atomique.
Pour cette réduction on considère une transition h et un ensemble de transitions F (n’incluant
pas h).
Avant de présenter la pré-agglomération colorée, nous rappelons les conditions d’application de
cette réduction dans le cas des réseaux ordinaires.
Les conditions structurelles suivantes garantissent qu’il est équivalent de considérer qu’il y a
un état intermédiaire entre le franchissement de h et d’une transition de F ou de considérer que
le franchissement des séquence h.f est effectué de façon atomique. Le terme équivalent désigne
ici équivalent pour la propriété de base (vivacité, caractère borné).
50
3.4.2.1 Transition ordinaire pré-agglomerables
Soit (R, m0) un réseau de Petri. Un ensemble de transitions F est pré-agglomerable avec une
transition h n’appartenant pas à F si et seulement si les conditions suivantes sont vérifiées :
• Il existe une place p modélisant un état intermédiaire entre le franchissement de h et d’une
transition de F :
- m0(p) = 0 ;
- •p = {h} et p• = F ;
- Post(p, h) = 1
- ∀f ∈ F, Pre(p, f) = 1.
• h ne produit des marques que dans p : h• = {p} ;
• h n’est en conflit avec aucune autre transition : ∀q ∈ •h, q• = {h} ;
• h a au moins une pré-condition : •h # ∅.
La première hypothèse garantie que toute occurrence de franchissement d’une transition f
de F est précédée du franchissement de h. La seconde assure que h n’est utile que pour le
franchissement d’une transition de F. La troisième implique que si h est franchissable alors elle
le reste jusqu’à ce qu’elle soit franchie (h peut donc être retardée). Enfin la quatrième hypothèse
permet d’assurer l’équivalence pour le caractère borné entre le réseau réduit et l’original.
3.4.2.2 Réseau pré-aggloméré
Une pré-agglomération sur le réseau (R, m0) produit le réseau réduit (Rr, m0r) défini par :
• Places et transitions du réseau réduit :
– P r = P \ {p}, Tr = T \ {h} ;
– ∀q ∈ Pr, m0r(q) = m0(q).
• Pré et Post conditions inchangées : ∀t ∈ Tr,
– ∀q ∈ Pr, Postr(q, t) = Post(q, t)
– ∀q ∈ Pr \ •h, Pre´r(q, t) = Pré(q, t)
• Nouvelles pré-conditions : ∀f ∈ F, ∀q ∈ •h,
Prér(q, f) = Pré(q, h)
51
L’extension de cette réduction aux réseaux colorés se fait en ajoutant aux conditions portant
sur la structure des conditions portant sur les domaines et les fonctions de couleur.
3.4.2.3 Transition pré-agglomerables
Soit (CN, m0) un réseau coloré. Un ensemble de transitions F est pré-agglomerable avec une
transition h n’appartenant pas à F si et seulement si les conditions suivantes sont vérifiées :
• Il existe une place p modélisant un état intermédiaire entre le franchissement de h et d’une
transition de F :
- m0(p) = 0 ;
- •p = {h} et p• = F ;
- C(p) = C(h) et Post(p, h) est une fonction de couleur orthonormale ;
- ∀f ∈ F, Pré(p, f) est une fonction de couleur unitaire et quasi-surjective.
• h n’a que p comme post-condition : h• = {p} ;
• h n’est en conflit avec aucune autre transition : ∀q ∈ •h, q• = {h} et Pré(q, h) est une
fonction de couleur quasi-injective ;
• h a au moins une pré-condition : •h # ∅.
Les deux petits exemples suivants illustrent l’obligation d’ajouter aux conditions de structures
des conditions sur les fonctions de couleur. Sur le premier (figure 3.8), la fonction Post(p, h) =
All − X n’est pas orthonormale. Comme on le voit, le réseau déplié (modèle de droite de la figure)
n’a pas une structure correcte pour la pré-agglomération.
Sur le deuxième exemple (figure 3.9), on voit qu’une fonction non quasi-injective génère un
conflit entre des instances de h dans le réseau déplié. De nouveau, le schéma du réseau déplié
ne définit pas une structure correcte de pré-agglomération (par exemple, h(1) est en conflit avec
h(2) sur la place r).
52
Figure 3.8 : La fonction Post(p,h) doit être orthonormale
Figure 3.9 : Les fonction Pré(q,h) doivent être quasi-injectives
Sur l’exemple précèdent, les conditions d’application de la réduction sont vérifiées dans le réseau
coloré (modèle de gauche). On constate alors qu’il est possible d’opérer une série de pré-
agglomération ordinaire dans le réseau déplié (modèle de droite) : agglomération de h(1)
avec f(1), puis agglomération de h(2) avec f(2) et enfin agglomération de h(3) avec f(3). On
obtient alors le réseau ordinaire (modèle de gauche) de la figure suivante qui après recoloration
donne le modèle de droite de la même figure.
Il est bien entendu possible d’effectuer directement la transformation au niveau du réseau
coloré : agglomération de h avec chaque transition de F. La seule différence entre la définition
de la transformation colorée et la version ordinaire tient dans le fait qu’il faut composer des
fonctions afin de définir les nouvelles pré-conditions des transitions de F (point 3 de la définition
suivante). En effet, un jeton consommé par le franchissement d’une transition f dans une place
q dans le réseau réduit est un jeton qui était consommé initialement dans la place p après avoir
été consommé par h dans q et modifié par la fonction Post(q, h).
53
Figure 3.10 : Les conditions de la Pré-agglomération sont respectées
Figure 3.11 : Réseau aggloméré
3.4.2.4 Réseau pré-aggloméré
Une pré-agglomération sur le réseau (CN, m0) produit le réseau réduit (CNr, m0r) défini par :
• Places et transitions du réseau réduit :
– Pr = P \ {p}, Tr = T \ {h} ;
– ∀t ∈ Tr, ∀q ∈ Pr, Cr(t) = C(t), Cr(q) = C(q) et m0r(q) = m0(q).
• Pré et Post conditions inchangées : ∀t ∈ Tr,
– ∀q ∈ Pr, Postr(q, t) = Post(q, t)
– ∀q ≠•h, Pre´r(q, t) = Pre´(p, t)
• Nouvelles pré-conditions : ∀f ∈ F, ∀q ∈ •h,
𝑃𝑟é𝑟(q, f) = Pré (q, h) ◦ (Post(p, h))−1 ◦ Pré(p, f)
La figure 3.12 propose un exemple plus complexe d’application de cette réduction.
54
Figure 3.12 : Un exemple de pré-agglomération
Les conditions d’application de la post-agglomération assurent que toute transition f de F est
immédiatement franchissable après le franchissement d’une transition h de H. De nouveau, les
différences entre la version ordinaire et colorée ne portent que sur les valuations des arcs autour
de p et sur les domaines de couleur.
De nouveau, avant de donner les conditions d’applications de la réduction colorée, nous rappelons
les conditions d’applications de la version ordinaire. Ces conditions assurent l’équivalence
pour les propriétés de base entre le réseau réduit et l’original.
3.4.2.5 Transitions ordinaires post-agglomerables
Soit (R, m0) un réseau de Petri. Un ensemble de transitions F est post-agglomerable avec un
ensemble de transitions H disjoint de F (H ∩ F = ∅) si et seulement si les conditions suivantes sont
vérifiées :
• Il existe une place p modélisant un état intermédiaire entre le franchissement d’une
transition de H et d’une transition de F :
- m0(p) = 0 ;
- •p = H et p• = F ;
- ∀h ∈ H, Post(p, h) = 1 ;
- ∀f ∈ F et Pre(p, f) = 1 ;
• Les transitions de F n’ont pas d’autre pré-condition que p : •F = {p} ;
• Il existe une transition f de F ayant une post-condition : F• ≠ ∅.
Comme pour la pré-agglomération, la première hypothèse garantit un séquencement entre le
franchissement des transitions de H et de celles de F. La seconde hypothèse (point clef de la
55
post-agglomération) assure que toute transition f de F est franchissable dès que p est marquée
(on peut donc “avancer” le franchissement des transitions f). La dernière assure l’équivalence
pour le caractère borné entre le réseau réduit et le réseau original.
3.4.2.6 Réseau post-aggloméré
Une post-agglomération sur le réseau (R, m0) produit le réseau réduit (Rr, m0r) défini par :
• Places et transitions du réseau réduit :
Pr= P \ {p} et Tr = T ∪ (H × F) \ (H ∪ F) ;
on note hf la transition (h, f) de H × F ;
• Partie du réseau inchangée : ∀t ∈ Tr \ (H × F), ∀q ∈ Pr,
– 𝑃𝑟é𝑟(q, t) = Pré(q, t) et 𝑃𝑜𝑠𝑡𝑟(q, t) = Post(q, t) ;
– 𝑚0𝑟(q) = m0(q)
• Les nouvelles transitions : ∀hf ∈ (H × F), ∀q ∈ Pr,
– 𝑃𝑟é𝑟(q, hf) = Pré(q, h) ;
– 𝑃𝑜𝑠𝑡𝑟(q, hf) = Post(q, h) + Post(q, f).
3.4.2.7 Transitions post-agglomerables
Soit (CN, M0) un réseau coloré. Un ensemble de transitions F est post-agglomerable avec un
ensemble de transitions H disjoint de F (H ∩ F = ∅) si et seulement si les conditions suivantes sont
vérifiées :
✓ Il existe une place p modélisant un état intermédiaire entre le franchissement d’une
transition de H et d’une transition de F :
- m0(p) = 0 ;
- •p = H et p• = F ;
- ∀h ∈ H, C(h) = C(p) × 𝐶ℎ et Post(p, h) est la composition d’une fonction de
couleur orthonormale sur C(h) et d’une projection de C(h) dans C(p) ;
- ∀f ∈ F, C(p) = C(f) et Pré(p, f) est une fonction de couleur orthonormale.
✓ Les transitions de F n’ont pas d’autre pré-condition que p : •F = {p} ;
✓ Il existe une transition f de F ayant une post-condition : F• ≠ ∅.
56
Dans le réseau aggloméré, les transitions de H et de F sont fusionnées. Les valuations prennent
en compte ces modifications.
3.4.2.8 Réseau post-aggloméré
Une post-agglomération sur le réseau (CN, M0) produit le réseau réduit (CNr, m0r) défini par :
• Places et transitions du réseau réduit :
Pr = P \ {p} et Tr = T ∪ (H × F) \ (H ∪ F) ;
on note hf la transition (h, f) de H × F ;
• Partie du réseau inchangée : ∀t ∈ Tr \ (H × F), ∀q ∈ Pr,
– 𝐶𝑟 (t) = C(t) et 𝐶𝑟 (q) = C(q) ;
–𝑃𝑟é𝑟 (q, t) = Pré(q, t) et𝑃𝑜𝑠𝑡𝑟 (q, t) = Post(q, t) ;
–𝑚𝑜𝑟 (q) = m0(q)
• Les nouvelles transitions : ∀hf ∈ (H × F), ∀q ∈ Pr,
– 𝐶𝑟 (hf) = C(h) ;
– 𝑝𝑟é𝑟 (q, hf) = Pré(q, h) ;
– 𝑝𝑜𝑠𝑡𝑟 (q, hf) = Post(q, h) + Post(q, f) ◦ Pre´−1(p, f) ◦ Post(p, h).
Dans le cas où l’ensemble F est réduit à un singleton (F = {f}) il est possible de relâcher
les contraintes portant sur les fonctions de couleur valuant les arcs reliant H et la place
intermédiaire p (une fonction de couleur unitaire suffit). De plus, le domaine de couleur de h peut
être quelconque.
La définition du réseau réduit est la même que dans le cas précédant. L’exemple suivant (figure
3.13) illustre cette réduction.
57
Figure 3.13: Un exemple de post-agglomération
3.4.3 Suppression de place implicite
La suppression d’une place implicite consiste à supprimer du réseau une place qui n’est jamais à
elle seule un obstacle au franchissement de transitions. D’une certaine façon cette place ne sert à
rien. Cette place est caractérisée par des conditions portant sur le marquage initial (initialement
elle ne sert pas) et des conditions sur l’existence d’un invariant particulier (qui assure que la
condition initiale est toujours vérifiée). L’intérêt de cette réduction est de supprimer une place et
donc de simplifier les prés ou les post conditions du réseau et de permettre ainsi l’application
d’autres réductions (par exemple des agglomérations).
➢ Place implicite : Soit (CN, m0) un réseau coloré. Une place p est dite implicite s’il existe
P′ ⊂ P, avec p /∈ P′ tq :
• Il existe un flot sur le domaine C(p) F ≡ 𝐹𝑝.p − ∑ 𝐹𝑞 . 𝑞 𝑞∈𝑃′ avec
– Fp une application linéaire quasi-bijective sur Bag(C(p)) et
– Fq des applications linéaires de Bag(C(q)) vers Bag(C(p)).
• ∀t ∈ T, ∀ct ∈ C(t),
𝐹𝑝 (m0(p)) −∑ 𝐹𝑞 (m0(q)) 𝑞∈𝑃′ ≥ 𝐹𝑝 (Pré(p, t)(ct)) − ∑ 𝐹𝑞 (Pré(q, t)(ct)) 𝑞∈𝑃′
La seconde condition assure qu’initialement une place implicite ne peut empêcher le
franchissement d’une transition. La première condition garantit que cette hypothèse est
reproductible pour tout marquage accessible.
58
3.5 Conclusion
Nous étudions principalement dans ce chapitre : les réseaux colorés et les réseaux bien formés (ou
WN pour Well-formed Nets) qui sont les abréviations des réseaux de Petri qu’on utilise dans notre
travail de modélisation.
Les réseaux colorés sont caractérisés par une sémantique fonctionnelle simple : une information
de couleur (ou de type) est associée aux jetons et aux franchissements et les valuations des arcs
sont des fonctions de couleur qui précisent le nombre et la couleur des jetons consommés ou
produits lors du franchissement d’une transition qui se fait pour une instance particulière de
couleur. Aucune contrainte syntaxique n’est imposée sur ces fonctions de couleur, ce qui simplifie
la phase de modélisation mais rend difficile la définition ou l’extension de techniques d’analyse
directe.
Le modèle des WN est une abréviation fonctionnelle et paramétrée des réseaux de Petri
qui restreint les fonctions de couleurs à des compositions de fonctions élémentaires (identité,
successeur et diffusion) et qui impose que les valeurs de couleurs manipulées soient des tuples de
valeurs prises dans des ensembles de base appelés classes. L’intérêt de cette syntaxe plus limitée
est l’obtention de techniques d’analyse plus générales que celles des RdP (telle que la construction
du graphe des marquages symboliques) ainsi que l’extension paramétrée de techniques classiques
(telles que les réductions structurelles ou le calcul d’invariants).
Dans le dernier chapitre, nous présenterons la modélisation des routeurs MPLS par les réseaux de
Petri.
59
CHAPITRE 4 MODELISATION DES ROUTEURS MPLS PAR LES RESEAUX DE
PETRI
4.1 Introduction
Après avoir étudié les théories des réseaux de Petri, les différents routeurs de la technologie MPLS
et les réseaux de Petri haut niveau, on va présenter dans cette partie le plus importante du travail,
les modèles des deux différents routeurs utilisés en MPLS modélisés par les réseaux de Petri
coloré. On utilise le CPNTools dans ce travail comme outils graphique pour la modélisation,
visualisation ainsi que pour la simulation de nos modèles modélisés par les réseaux de Petri. Après
on va prendre un exemple d’application de nos modèles, un exemple de topologie MPLS qu’on
crée à partir du logiciel d’émulation des routeurs GNS3.Puis on va développer et simuler le
modèle de cet exemple dans CPNTools. Mais d’abord on va décrire les outils utilisés dans notre
travail.
4.2 Description des outils utilisées
4.2.1 GNS3
GNS3 est utilisé par centaines de milliers d'ingénieurs du réseau dans le monde pour émuler,
configurez, tester et résoudre un problème des réseaux virtuels et réel [32]. GNS3 vous permet de
courir une petite topologie qui consiste en seulement quelques appareils sur votre portable, à ceux
qui ont beaucoup d'appareils organisés sur les serveurs multiples ou même a organisé dans le
nuage « cloud». GNS3 est un logiciel libre « open source », on peut le télécharger gratuitement sur
[33].
Dans notre travail, on utilise GNS3 pour la construction et la vérification de la topologie du réseau
MPLS utilisé dans l’exemple d’application de notre modèle.
60
Figure 4.1 : Interface GNS3
4.2.2 CPNTools
4.2.2.1 Choix d’utilisation
De nombreux outils de modélisation et d’analyse basé sur les réseaux de haut-niveau sont
aujourd’hui disponibles. On peut citer par exemple CPN-AMI , Design/CPN , GreatSPN ou
encore Prod. Parmi ces différents exemples, on a choisi pour cette travail l’outil de modélisation
des réseaux de Petri CPNTools car selon le tableau comparatif des outils de vérification des RDPs,
CPNTools présente de meilleures caractéristiques techniques. [34]
61
Figure 4.2 : Les outils de modélisation des réseaux de Petri
Le développement des réseaux colorés a été conduit par le désir de développer un langage fort de
modélisation industrielle. Elles conviennent aux mathématiciens, mais pas aux praticiens. Donc
pour les applications industrielles, il faut avoir un outil efficace, qui nous aider à éviter les
symboles formels. Les idées sont même que dans les langages, on peut programmer mais on n'a
pas besoin de connaitre la syntaxe (la grammaire) formelles compliques de langage.
CPNTools est conçu pour ce but. Il se compose : CPN editor nous permet d'éditer le réseau coloré
et vérifier ses syntaxes ; CPN simulator nous permet de simuler le comportement de réseau (les
règles de franchissement, les transitions franchissables, etc.), CPN state space tool supporte la
vérification (L'espace d'état).
Dans CPNTools, on combine la capacité des réseaux de pétri colorés et la capacité d'un langage
(le langage choisi est le langage fonctionnel Standard ML). Le RdPC fournissent les primitifs pour
décrire les processus concourants, tandis que le langage fournit les primitifs pour définir des types
de données (ensemble de couleur) et des manipulations des données (expression d'arcs, gardes,
etc.).
4.2.2.2 Description du logiciel
CPNTools est un système spécial de simulation qui utilise le langage de programmation ML de
réseau de Petri pour la représentation de modèles. Le système a été développé par l’Université
d'Aarhus au Danemark et est distribué gratuit pour les organisations non-commerciales par le site
web [35]. Le niveau de service autorise la classification d'Outils CPN comme un système de
62
l'entreprise. Il a été utilisé dans beaucoup de projets vécus surtout dans le monde de la
télécommunication. Récemment, la Corporation Nokia utilise CPN Tools pour le développement
du modèle-commandé de nouvelle génération pour ses téléphones mobiles. [36]
Figure 4.3 : Interface graphique CPNTools
4.2.2.3 CPN Tools ToolBox
L’outils Toolbox fournit les éléments suivants :
Figure 4.4 : CPNTools ToolBox
63
• Net tools: pour l’opérations avec tous les réseau
• Create tool: pour tirer et éditer Petri nets
• Simulate tools: pour simuler le comportement du réseau
• State Space tools: pour créer et analyser l’espace d’état
• Hierarchy tools: pour créer les réseau à plusieurs niveau
• Style tools: pour l’apparition des réseau particulier
• View tools: pour choix d’échelle et l’évènement du groupe
• Auxiliary tools: pour l’amélioration du lisibilité du réseau
4.3 Modélisation des routeurs MPLS
4.3.1 Modèle du LSR par les réseaux de Petri
4.3.1.1 Représentation du modèle LSR
Par définition, un LSR c’est un routeur de cœur du réseau MPLS qui effectue la commutation sur
les labels et qui participe à la mise en place du chemin par lequel les paquets sont acheminés.
Lorsque le routeur LSR reçoit un paquet labélisé, il le permute avec un autre de sortie et expédie
le nouveau paquet labélisé sur l'interface de sortie appropriée.
A l’aide du modèle mathématique de réseau de pétri et l’outil de modélisation CPNTools, on
obtient le modèle, représenté par la figure 4.5, qui modélise le routeur LSR de la technologie
MPLS. Ce modèle modélise le comportement ainsi que tous les rôles de LSR dans le réseau
MPLS.
64
Figure 4.5: Modèle du LSR
4.3.1.2 Description du modèle LSR
La principale différence de LSR avec du modèle de routage-IP c’est que la table de l’allocation de
l'étiquette est utilisée pour acheminer les paquets. De plus, le remplacement d'étiquettes est
modélisé et pour identifier les interfaces, des nombres sont utilisés. Pour un paquet de l'entrée
avec de l’étiquette, la place correspondant de la table de l'allocation d’étiquettes Ltable4 est
déterminé. L'arc de sortie de la transition get4 remplace l’étiquète d’entrée L1 par une nouvelle
étiquette L2 et assigne le nombre de l’interface de destination pour avancer le paquet. Les données
de type lpkt décrit le paquet créer avec de l'étiquette, lt décrit la place d’enregistrement de la table
de label. La place buffer stocke les paquets labellisés interne. L’arc de sortie du transition put4
amené un paquet vers la sortie du LSR.
65
4.3.2 Modèle du LER par les réseaux de Petri
4.3.2.1 Représentation du modèle LER
Par définition, un LER est un routeur d’accès au réseau MPLS qui gère le trafic entrant dans le
réseau MPLS et possédant à la fois des interfaces IP traditionnelles et des interfaces connectées au
réseau MPLS. Ce routeur ELSR d'entrée, exécute les fonctions de l'imposition de label et de
l’expédition d'un paquet à destination du réseau MPLS. A la sortie du réseau MPLS, il exécute les
fonctions de déplacement (disposition) de label et la transmission de paquet IP au destinataire.
Le modèle représenté par la figure 4.6, montre la modélisation du routeur LER par le réseau de
Petri coloré avec l’outils CPNTools. Ce modèle représente tous les comportements et les rôles du
LER dans le réseau MPLS.
Figure 4.6 : Modèle du LER
4.3.2.2 Description du modèle LER
La place RT2 présente la table de routage et la place Ltable1 modélise la table d'attribution
d’étiquettes. La différence avec de la table de routage consiste dans qu'il contient la valeur de
66
l'étiquette initiale assigner au paquet obtenu par le résultat de l’algorithme LDP. La Place Buffer2
présente le mémoire tampon qui stocke les paquets interne ; la place Buf1 est utilisé comme un
stockage temporaire de paquets après l’assignement de label. On peut remarquer que les paquets
misent dans la place p1OUT sont sans étiquette, cela veut dire que la place p1OUT est la place de
sortie du modèle vers l’extérieur du réseau MPLS
4.4 Application des RDPs au réseau MPLS
4.4.1 Présentation de la topologie du réseau MPLS à modéliser
Pour notre exemple d’application, on prend l’exemple de topologie représenté par la figure ci-
dessous. Notre exemple comprend trois LER et quatre LSR. Le routeur LER3-2 est connecté vers
l’extérieur (vers l’extérieur du réseau MPLS) avec deux CE (CE3-1 et CE3-2), de même pour le
LER2-1, il est connecté avec les réseaux IP externe avec les routeurs CE2-1 et CE2-2. LER1-2 est
lié avec CE1 qui est un routeur externe du réseau MPLS.
Figure 4.7 : Exemple Topologie du réseau MPLS à modéliser
67
Dans le réseau MPLS, LER3-2 est connecté avec LSR3-1, puis LSR3-1 est lié aves LSR1-3. Pour
l’échange de l’étiquète, LSR1-3 est connecté avec LER1-2 qui est le routeur de sortie vers les
zones 1,et LSR1-4 pour continuer la route vers le LER2-1.Il est connecté avec LSR1-4,puis lié
avec LSR2-4 qui est connecté avec LER2-1(routeur de sortie vers la zone 2).LER2-1 connecte
vers les réseau IP extérieur avec le CE2-1 et CE2-2.
Si on prend par exemple une machine du zone 2 peut se connecter avec une machine de la zone 3,
l’attribution des labels par les Routeurs MPLS est donc, arrivé au R2 et étiqueté avec de label 2
puis le routeur R2 envoie à l'aide de ces routeurs LSR vers le routeur R1. Le routeur R1 enlève le
labelle 1 et remplace par un autre label 4 qui est le labelle qui amène le paquet vers le routeur R3
4.4.2 Modélisation du système considéré
Le modèle résumé de la topologie MPLS de notre exemple est présenté par la figure ci-dessous :
Figure 4.8 : Modèle MPLS par les réseaux de Petri
68
La figure 4.9 montre les codes de notre modélisation, langage de programmation écrit en ML
(Markup langage) et interprété par le CPNTools qui modélise le graphe de réseau de Petri pour
avoir les comportements comme le réseau MPLS.
Figure 4.9 : Code ML du CPNTools
69
4.4.3 Analyse et simulation du modèle
Dans notre exemple d’application de ces modèles, on suppose que le PC3-1 (d’adresse IP
213.171.224.10) envoie de paquet vers la destinataire PC2-2 (195.100.0.8). Le paquet arrive au
CE3-1 est de paquet sans labelle car il traverse le routage IP basic. Mais en arrivant en LER3-2
qui est le routeur d’entré du réseau MPLS, le paquet est attribué avec de label et ce label amène le
paquet vers le routeur suivant ou LSR suivant et le LSR vérifie sa table d’attribution de label. Si le
label est bien vérifié, il passe alors vers le LER de sortie qui appartient l’étiquète attribuer
initialement, ici c’est le LER2-1. Après la sortie du LER2-1, le paquet est sans label, c’est-à-dire
qu’il est maintenant traversé le routage-IP et que le paquet est sorti du réseau MPLS. Enfin le
paquet arrive vers la destinataire 195.100.0.8.
La figure 4.10 présente la simulation de notre exemple, cette figure illustre notre modèle LSR et
LER qui est fondé avec l’outil mathématique de base du RdP et est simulé avec l’outils graphique
de CPNTools.
70
Figure 4.10 : Représentation du réseau MPLS par les réseaux de Petri coloré
71
4.5 Conclusion
En conclusion, ce chapitre présente la modélisation des routeurs MPLS par les réseaux de Petri
coloré. On a présenté dans ce chapitre les deux modèles LER et LSR modélisé par les RdPs
colorés. A partir de l’exemple d’application, on peut constater les dynamismes de notre model
dans la modélisation d’un système réseau MPLS. La littérature sur les réseaux de Petri est fort
riche et comprend de nombreux résultats théoriques et pratiques. Ils constituent un support à la
fois graphique et mathématique performant aussi bien pour l’analyse et l’évaluation analytique
que pour la simulation du système étudié. Ils sont d’une aide précieuse pour le concepteur dans les
différentes phases d’analyse.
Les réseaux colorés ont une définition très compliquée, Pour la construction et l’étude des
modèles, les Outils CPNTools ont été utilisés.
72
CONCLUSION GENERALE
Nous présentons dans ce mémoire des travaux et des résultats relatifs à la modélisation des
routeurs MPLS. Pour mener l’étude de ces systèmes, nous adaptons l’outils de modélisation
basant sur les réseaux de Petri coloré.
Dans le premier chapitre, nous avons donné les généralités sur les réseaux de Petri ainsi que leurs
différentes propriétés et leurs extensions.
Dans le deuxième chapitre, nous avons expliqué ce que la technologie MPLS, ensuite nous avons
donné les descriptions des deux routeurs en MPLS. Le troisième chapitre aborde les types des
RdPs que nous utiliserons dans notre modélisation. Nous avons expliqué plus profond les
formalismes du RdP, le RdP coloré et le réseau bien-formé. Dans le quatrième chapitre, on a
proposé le modèle qui permettent d’améliorer les performances des réseaux MPLS modéliser par
les réseaux de Petri de haut niveau ainsi que les résultats de simulations.
La technologie MPLS s’adressant à un réseau backbone, il est difficile de déployer à court terme
une maquette réaliste. C’est pourquoi, nous projetons de simuler les différentes approches.
L’objectif principal de cette étude est de développer le modèle capable d’apporter des solutions
aux problèmes d’évaluation des performances et d’amélioration de la qualité des services QOS des
réseaux MPLS. Ces modèles graphiques et mathématiques facilitent l’analyse structurelle et
comportementale de ces réseaux.
Notre travail est effectué en modélisant les deux types de routeur utilisé dans les réseaux MPLS :
une modèle pour le LER et une modèle pour le LSR.
L’étude, l’analyse, l’évaluation des performances et l’extension des réseaux MPLS pourront
réaliser en appliquant les modèles proposés dans ce travail.
.
73
ANNEXE1 : CPN ML
A1.1 Introduction
[36] CPN Tools utilise le langage de programmation CPN ML (Markup Langage) pour les
déclarations et les inscriptions du réseau. CPN ML fournit des déclarations d'ensembles de la
couleur (types de données), variables, fonctions, valeurs(constantes). Chaque place du réseau Petri
coloré devrait avoir une couleur définie mise comme l’attribut ; il peut contenir seulement des
jetons de l'ensemble de la couleur spécifié. Variables et les fonctions sont utilisées comme les
inscriptions de transitions et arcs.
Les déclarations sont situées dans l'index comme une partie du réseau. Il y a standard déclarations
prédéterminées de tels ensembles de la couleur comme : E - elementary, INT - integer, BOOL -
Boolean, STRING - string.
Les déclarations d'utilisateur peuvent être ajoutées après niveau déclaration qui utilise le menu
contexte-sensible. De plus, pour compliquer prend au réseau des Outils CPN fournit des
déclarations externes qui peuvent être chargées à partir d'un dossier.
CPN Tools vérifie automatiquement la syntaxe de votre réseau comme vous les créez ou quand
vous chargez un réseau. Vous pouvez voir par les indications des couleurs à quelle distance le
chèque a obtenu. Les indications des couleurs sont montrées dans l'index, en soulignant le nom de
la page où le la couleur appartient. Si la page est ouverte dans un classeur, la couleur est aussi
montrée dans l'étiquette de la page au sommet de la page, et sur l'élément du CP-net où la couleur
appartient. La couleur orange l'aura indiqué qu'un élément n'est pas vérifié actuellement. Quand
vous chargez un réseau, le contrôleur de la syntaxe prend un moment pour compléter. Pendant
cette phase, les éléments passeront d’orange à jaune (ou rouge, s'il y a une erreur). Si la couleur
orange reste toujours apparaitre, c'est probablement parce que l'un ou l’autre, il y a quelque chose
manquer ou il y a une erreur sur un élément du réseau.
Les déclarations sont vérifiées initial au sommet. Si une déclaration dépend sur une prochaine
déclaration, il obtiendra une erreur qui dit l'autre déclaration n'est pas défini. Les déclarations avec
les erreurs sont refermées quand un changement est fait dans toute déclaration. S'il y a une erreur
dans les déclarations, la déclaration avec l'erreur sera soulignée avec rouge. L'entrée du réseau et
toutes les pages affectées seront aussi soulignées avec rouge.
Une couleur rouge veut dire que l'élément a été vérifié mais été eu une erreur. Une bulle devrait
paraître avec le message de l’erreur. Les éléments ont relié au l'élément avec l'erreur n'est pas
vérifié jusqu'à ce que l'erreur soit corrigé.
74
A1.2 Ensembles de la couleur simples
CPN ML fournit de tels ensembles de la couleur simples comme : Unit, Boolean, Integer, String,
Enumerated, Index.
La couleur Unit comprend un seul élément. La déclaration à la syntaxe suivante :
colset name = unit [ with new_unit];
Le type boolean a une valeur vraie ou faux. La déclaration à la syntaxe suivante :
colset name = bool [ with (new_false, new_true)];
Les opérations suivantes peuvent être appliquées aux variables du boolean:
not b negation of the boolean value b
b1 andalso b2 boolean conjunction, and
b1 orelse b2 boolean disjunction, inclusive or
Integers sont des chiffres sans une virgule.
colset name = int [ with int-exp1... int-exp2];
L'option autorise la restriction de la couleur du nombre entier mise à un intervalle déterminé par
les deux expressions dans int-exp1 and int-exp2
Les opérations suivantes peuvent être appliquées aux variables du nombre entier : +, - , div, mod,
abs, Int.min, Int.max.
Strings est spécifié par séquences de caractères ASCII imprimables entourées avec les doubles
apostrophe.
colset name = string [ with string-exp1..string-exp2[ and int-exp1..int-exp2]];
L'option spécifie les gammes de caractères valides:
colset LowerString = with "a".."z";
Enumerated les valeurs sont nommées explicitement comme identificateurs dans la déclaration.
colset name = with id0 | id1 | ... | idn;
Indexed les valeurs sont des séquences de valeurs comprises d'un identificateur et un index-
spécifier.
colset name = index id with int-exp1..int-exp2;
La valeur de l’index est de la forme id i ou id(i) ,ou i est de type integer et exp1 <= i <= int-exp2.
75
A1.3 Ensembles de la couleur composés
Les couleurs composés constituent de la combinaison des couleurs simples. CPN ML fournit de
tels ensembles de la couleur composé comme : products, records, unions, lists, subsets et alias.
Comme list et unions sont rarement utilisés et plus compliqué ils seront considérés dans la
dernière section.
Product et records représentent les cortèges de données formés par les produits Cartésiens des
ensembles de la couleur de composants. La seule différence entre eux consiste dans : composants
d'ensemble de la couleur du produit est anonyme pendant que les composants d'ensemble de la
couleur record ont leurs noms. Il y a la ressemblance proche avec les données record écrivez à la
langage Pascal ou structures dans la langage C.
La déclaration du color product est la syntaxe suivante :
colset name = product name1 * name2 * ... * namen;
Values of this color set have form:
(v1, v2, ..., vn) where vi has type namei for 1<=i<=n.
Pour utiliser le i -ème élément du product , l'opération suivante est utilisée:
#i name
La déclaration du color record est la syntaxe suivante :
colset name = record id1:name1 * id2:name2 * ... *idn:namen;
Values of this color set have form:
{id1=v1, id2=v2, ..., idn=vn} where vi are values of type namei for 1<=i<=n.
Pour utiliser le i -ème élément du record , l'opération suivante est utilisée:
#idi name
Alias color a exactement les mêmes valeurs et propriétés comme un précédemment ensemble de
la couleur déclarée. Il est introduit pour utiliser nom différent d'ensemble de la couleur.
colset name = name0;
A1.4 Déclaration des variables et constantes
Une variable est un identificateur dont la valeur peut être changée pendant l'exécution du modèle.
Les variables sont utilisées dans le réseau de Petri pour les inscriptions d'éléments.
La déclaration de la variable est le suivant :
var id1, id2, ..., idn : cs_name;
76
Quand idi est un identificateur, cs_name est le nom d'une couleur définie précédemment. Par
exemple :
var f1, f2 : frame;
var f3, f4 : frame1;
La déclaration value lie une valeur à un identificateur (lequel travaille comme alors un constant).
La déclaration de valeur a la syntaxe:
val id = exp;
Quand id est un identificateur et exp est un ML CPN expression. L'expression représente la valeur
devant être associée à l'identificateur. Par exemple :
val CheckFrame = (3, 5, “Ping” );
val ResponseFrame1 = {src=5, dst=3, d=”OK”};
A1.5 Les fonctions
Les fonctions du ML CPN implementent le contrôle standard structure d'une langage de
programmation tel que "if" et opérateurs du "case." Mais comme le ML constitue essentiellement
un langage de programmation utilitaire le plus de puissant de lui est révélé avec récursif
fonctions.
La déclaration de function est la syntaxe suivante :
fun id pat1 = exp1
| id pat2 = exp2
| ...
| id patn = expn;
où pat1, pat2., patn sont les modèles et exp1, exp2..., expn ont le même type. La déclaration veut
dire que dans le cas discussions réelles satisfaites alors pat i du modèle que la valeur de la
fonction est calculée comme expi.
If-then-else et case ont les structures du contrôle sont disponibles pour la description de
fonctions :
if bool-exp then exp1 else exp2;
où exp1 et exp2 sont le même type :
case exp of
pat1 => exp1
77
| pat2 => exp2
| ...
| patn => expn;
où exp1, exp2..., expn tous ont le même type. Leur signification est habituelle comme dans
d'autres langage de programmation. Par exemple, fonction qui calcule le signe d'un nombre peut
être écrit :
fun sign (x) = if x>0 then 1 else if x<0 then ~1 else 0;
Let est une construction qui autorise la déclaration de localement-scoped variables dans une
définition de la fonction :
let
val pat1 = exp1
val pat2 = exp2
………
val patn = expn
in
exp
end;
A1.6 Les multi-ensembles
Les multi-ensembles sont utilisés largement dans les Outils CPN pour place marque la
représentation et d'autres buts. Laissez-nous rappeler le concept de multi-ensemble. Malgré
ensemble habituel il contient en d'autres termes chaque élément avec une multiplicité définie dans
nombre défini de copies. Les multi-ensembles sont aussi nommés ‘bags’.
L’opérateur ( ` ) est le constructeur du multi-ensemble. Par exemple, 3'5 sont le multi-ensemble
avec trois apparences de la couleur 5. La description d'un multi-ensemble a la syntaxe :
i`c
Le nombre entier i doit être non-négatif. Si ce n'est pas alors le cas le multi-ensemble vide sera
revenu. L'opérateur du multi-ensemble s'est associé avec addition du multi-ensemble (++) et la
soustraction (--) fournit une méthode succincte pour spécifier des multi-ensembles.
Les constantes, Opérations et Fonctions suivantes sont disponibles pour multisets:
empty : the empty constant constructs an empty multi-set that is identical for all kinds of multisets
78
ms1 == ms2 multi-set equality
ms1 <><> ms2 multi-set inequality
ms1 >> ms2 multi-set greater than
ms1 >>== ms2 multi-set greater than or equal to
ms1 << ms2 multi-set less than
ms1 <<== ms2 multi-set less than or equal to
ms1 ++ ms2 multi-set addition
ms1 -- ms2 multi-set subtraction (ms2 must be less than or equal to ms1), raises Subtract
exception if ms2 is not less than or equal to ms1.
i ** ms scalar multiplication
size ms size of multi-set ms
random ms returns a pseudo-random colour from ms
cf(c,ms) returns the number of appearances of colour c in ms
filter p ms takes a predicate p and a multi-set ms and produces the multi-set
of all the appearances in ms satisfying the predicate
79
ANNEXE2 : LA QUALITE DE SERVICE
Les réseaux actuels sont amenés de plus en plus à supporter un trafic mixte audio, vidéo et donnée
sur une infrastructure partagée. La Qualité de Service ou QoS désigne la capacité à fournir un
service conforme à des exigences en matière de temps de réponse et de bande passante. Dans la
communication et l’échange des paquets, pour avoir une bonne QoS, il faut contrôler les
paramètres suivants :
A.2.1 Délai de transit
Le délai de transit est un des paramètres influençant fortement la QoS d’un service. C’est le temps
que va mettre un paquet IP pour traverser l’infrastructure entre deux interlocuteurs. Or la durée de
traversée d’un réseau IP dépend de plusieurs facteurs tels que : le débit de transmission de chaque
lien, le nombre d’éléments réseaux traversés et le temps de traversée de chacun d’eux, le délai de
propagation de l’information.
A.2.2 Perte de paquets
Les pertes de données sont dues généralement aux congestions sur le réseau, qui entraînent des
rejets de paquets tout au long du réseau. En effet, un pourcentage de perte de paquet inférieure à
1% n’est pas gênant en communication si cette perte de paquet est régulièrement répartie. En
revanche, des pics de perte de paquets espacés mais élevés provoqueront des dégradations de la
QoS.
A.2.3 Gigue
La gigue ou la variation de temps de transit mesure la variation temporelle entre le moment où
deux paquets auraient dû arriver et le moment de leur arrivée effective. Cela est due à de multiples
raisons dont : l'encapsulation des paquets IP dans les protocoles supportés, la charge du réseau à
un instant donné, la variation des chemins empruntés dans le réseau, etc.
Pour compenser les gigues, on utilise des mémoires tampons qui permettent de lisser l'irrégularité
des paquets. Une gigue inférieure à 30ms ne provoque pas une dégradation de QoS .
80
BIBLIOGRAPHIE
[1] http ://wwww.specialautom.net/théorie_rdp ,2017
[2] Brams. G, « Réseau de Petri, Théorie et pratique »,Tome 1 : théorie et analyse Tome 2 :
modélisation et applications, Masson, 1983
[3] Proth et Xie, « Gestion et conception des systèmes de production » , Masson , 1995
[4] Francois Vernadat , http://homepage.laas.fr/francois/Rdp , 2017
[5] Ahmed Nait -Sisi-Moh, « Contribution à la modélisation, l’analyse et la commande des
systèmes à événements discrets par les réseaux de Petri et l’algèbre (max, plus) », Thèse
doctorat , 2009
[6] Vincent Augusto, « Définition formelle d'un reseau de petri », Ecole Nationale Supérieure
des Mines de Saint-Etienne, 2012-2013
[7] Etienne Renault, « Comment modéliser un
système»,https://www.lrde.epita.fr/~renault/teaching/imc/ , avril 2015
[8] Ghassan Chehaibar , « Méthodes d’analyse hiérarchique des réseaux de Petri », 1991
[9] J.Christian Attiogbé , « Modélisation de la dynamique /Rdp », 2012
[10] P.Moreaux ,« Modélisation et vérification par réseaux de Petri »,Université de Reims
Champagne - Ardenne UFR de Sciences Exactes et Naturelles ,Département de
Mathématiques et Informatique, 2006
[11] Karen Godary, « Cours automatisme et SED » ,Polytech Montpellier ERII4, 2010
[12] Reisig, W, « Petri Nets: An introduction», Springer-Verlag, 2004
[13] COLLART Simon , « Les réseaux de Petri P-temporels:Lodélisation et validation
d'exigence temporelles », Mémoire d'habilitation à diriger des recherches en automatique et
informatique, Ecole Doctorale Sciences Pour l'Ingenieur UST Lille, 2000
[14] Wolfgang Reising , « Understanding Petri Nets: Modeling Techniques, Analysis Methods,
Case Studies », 2005
[15] Murata T, « Petri nets: Properties, analysis and applications » , Proceedings of the IEEE,
2004
[16] Wang Jiacun, « Timed Petri Nets: Theory and Application » Kluwer Academic
Publishers,1998
81
[17] Haas P. J, « Stochastic Petri Nets: Modeling, Stability, Simulation », Springer Verlag, New
York, 2002
[18] Haddad S, « Une catégorie régulière de réseaux de Petri de haut niveau:définition,
propriétés et réduction », Thèse de Doctorat, Université Paris VI, 2000
[19] David R., Alla H., « Réseaux de Petri Hybrides », 119-154, 2001
[20] R. Callon, N. Feldman, A. Fredette, G. Swallow and A. Viswanathan, « A Framework for
Multiprotocol Label Switching », Internet Draft, June 1999.
[21] E. C. Rosen, A. Viswanathan and R. Callon, « Multiprotocol Label Switching
Architecture », Internet Draft, April 1999
[22] http://www.invocom.et.put.poznan.pl/~invocom/C/INT/tcpip/fr/ch5.html, 2017
[23] http://www.frameip.com/vpn/, 2017
[24] L. Andersson, P. Doolan, N. Feldman, A. Fredette and B. Thomas, “LDP specification”,
Internet Draft, 2010
[25] http://fr.scribd.com/doc/80012946/Mpls-Cisco-by-Amichoo-Istanet, 2017
[26] Mouadh MENSI , « Etude et mise en place d'un Backbone ADSL à base MPLS en utilisant
la technologie VPN » , Projet de Fin d’Année en Ingénierie Réseaux et Télécoms ; 2011
[27] C. Dutheillet , « symétrie dans les réseau colorés », Phd thesis,Université Pierre et
Marie ,2005
[28] K.Jensen Couloured Petri nets , « A hight level language for system design and analysis »
,In Jensen and Rozenberg,editors,High-level Petri Nets,Theory and Application , 1991
[29] C. Chiola, C. Dutheillet, G. Franceschinis, and S. Haddad, « on well-formed colored nets
and their symbolic reachability graph »,Paris-France ; June 1990
[30] H.J Genrichand K.Lautenbach , « System modeling with high level Petri-Nets », In
Theoretical computer Science , 2001
[31] W. Reising and J. Vautherin « An algebraic approach to high level petri nets »,
Universidad de Zaragoza Spain, 1987
[32] http://gns3.com/documentation, 2018
[33] http://gns3.com, 2018
82
[34] Sren Christensen, Jens Baek Jrgensen, « Design/CPN | A Computer Tool for Coloured Petri
Nets », Computer Science Department, University of Aarhus Danemark, 2011
[35] http://www.daim.au.dk/CPNTools/, 2018
[36] D.A. Zaitsev, T.R. Shmeleva « Simulating of Telecommunication Systems with CPN
Tools »,2006
83
FICHE DE RENSEIGNEMENT
Nom : RAJONIAINA
Prénom : Léonard Ismaël
Tél : +261 32 74 761 04
E-mail : [email protected]
Adresse : Lot VR 31 AD Mahazoarivo 101 Antananarivo Madagascar
Titre de mémoire :
« CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS
PAR LES RESEAUX DE PETRI »
Nombre de pages : 84
Nombre de figures : 40
Mots clés : MPLS, réseau de Petri coloré, modélisation, LER, LSR
Directeur de mémoire : M. RAVONIMANANTSOA Ndaohialy Manda-Vy
E-mail : [email protected]
84
RESUME
Ce mémoire présente la modélisation des routeurs MPLS par les réseaux de Petri coloré. Les
réseaux de Petri représentent un outil mathématique puissant dans le domaine de la modélisation
et de la vérification des systèmes, en plus de leur force d’analyse il offre une représentation
graphique simple qui aide à la modélisation des systèmes complexe.
La technologie MPLS s’adressant à un réseau de grande taille, il est difficile de réaliser à court
terme une maquette réaliste. C’est pourquoi, nous projetons de simuler les différentes approches.
Notre étude se concrétise donc par le développement de modèles capables d’apporter des solutions
aux problèmes d’évaluation des performances et d’amélioration de la qualité des services des
réseaux MPLS.
Mots clés : MPLS, réseau de Petri coloré, modélisation, LER, LSR
ABSTRACT
The main objective in this work consists the modelling of the MPLS routers by the colored Petri
Nets. Petri Net represent a mathematical tool drawing in the domain of the modelling and the
verification of the systems, in addition to their strength of analysis it offers a simple graphic
representation that helps towards the modelling of the systems complex.
The MPLS technology addressing to a backbone network, it is difficult to open out short-term a
realistic model. It’s why, we project to simulate the different approaches.
Our survey materializes therefore by the development of models capable to bring some solutions
to the problems of assessment of the performances and improvement of the quality of services of
the MPLS networks.
Keywords : MPLS, colored Petri net, modelling, LER, LSR