CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

94
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

Transcript of CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

Page 1: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 2: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …
Page 3: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 4: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 5: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 6: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 7: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 8: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 9: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 10: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 11: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 12: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 13: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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 }

Page 14: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 15: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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é

Page 16: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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]

Page 17: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 18: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 19: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 20: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 21: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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 = ……𝑇𝑗……..

Page 22: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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)

Page 23: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 24: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 25: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 26: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 27: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 28: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 29: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 30: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 31: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 32: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 33: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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 ).

Page 34: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 35: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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),

Page 36: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 37: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 38: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 39: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 40: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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).

Page 41: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 42: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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>

Page 43: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 44: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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)

Page 45: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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é ?

Page 46: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 47: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS 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.

Page 48: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 49: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 50: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 51: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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 >;

Page 52: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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}.

Page 53: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 54: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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 ;

Page 55: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 56: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 57: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 58: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 59: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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é).

Page 60: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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)

Page 61: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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).

Page 62: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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).

Page 63: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 64: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 65: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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• ≠ ∅.

Page 66: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 67: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 68: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 69: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 70: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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]

Page 71: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 72: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 73: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 74: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 75: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 76: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 77: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 78: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 79: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 80: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

70

Figure 4.10 : Représentation du réseau MPLS par les réseaux de Petri coloré

Page 81: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 82: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

.

Page 83: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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é.

Page 84: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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.

Page 85: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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;

Page 86: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 87: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 88: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 89: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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 .

Page 90: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 91: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 92: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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

Page 93: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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]

Page 94: CONTRIBUTION A LA MODELISATION DES ROUTEURS MPLS PAR …

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