Vous êtes sur la page 1sur 191

MODELISATION DES SYSTEMES A

EVENEMENTS DISCRETS PAR

RESEAUX DE PETRI

PR. BELMAJDOUB FOUAD


TABLE DE MATIERE
LES RESEAUX DE PETRI : Préambule et généralité
I. Introduction :
1) Introduction générale
2) Concepts de base et exemples
II. Définitions :
1) Définitions Informelles :
2) Marquage
3) Franchissement d'une Transition
4) Matrice d'incidence
a- Matrice Post- incidence
b- Matrice Pré- incidence
c- Matrice d'incidence
III. Propriétés :
1) RdP Borné :
a- Place k bornée, non bornée
b- RdP k bornée, non bornée :
2) Vivacité et blocage
a- Transition vivante
b- RdP vivant
c- Quasi- vivacité
d- Blocage
3) RdP propre (Réinitialisable) :
a- RdP propre
b- Exemples
4) Parallélisme
IV. Méthodes de réduction
1) Introduction
2) Réduction R1 : Substitution d‘une place
a- Principe
b- Propriétés conservées par la réduction
3) Réduction R2 : Place implicite
a- Principe
b- Exemple
4) Réduction R3 : Transition neutre
a- Principe
b- Exemple
5) Réduction R4 : Transitions identiques

a- Principe
b- Exemple
6) Extension des RDP: ( colorés….)
LES RESEAUX DE PETRI

I- PREAMBULE ET GENERALITE

Les systèmes technologiques, de plus en plus souvent d‘une grande complexité,


qui ont envahi notre quotidien sont l‘œuvre des ingénieurs. Pour l‘ingénieur, se
posent alors plusieurs problèmes importants: comment réussir à appréhender le
comportement de ses systèmes afin de les concevoir, les réaliser et/ou les
commander ? La description du comportement attendu du système constitue le
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
consommateurs, 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. Au centre
de ces méthodes et de ces outils, se trouve en général la modélisation.

L‘objectif de ce cours est de présenter la modélisation par Réseaux de Petri des


SAD (systèmes à événements discrets). Les Réseaux de Petri 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.

Les réseaux de Petri sont un modèle pour les systèmes dans lesquels il existe des
flots contrôlés. Ces flots peuvent concerner des objets concrets (par exemple :
pièces détachées, périphériques,..) ou abstraits (messages, entiers,...). Dans le
cas le plus général nous parlerons de flots d’information.

Les réseaux de Petri, inventés par Carl Adam Petri en 1962, suscitent toujours
aujo urd‘hui de nombreux travaux de recherche dans beaucoup de pays.

Les travaux de Petri (années 60) portaient sur la transmission et la


transformation de l’information. La théorie des réseaux (General Net Theory) a
été créée pour décrire de façon précise ces Systèmes d‘informations.

Cet engouement d‘utilisation des RDP est dû à l‘élégante théorie mathématique


sous-jacente à cette technique de modélisation graphique. Malgré cette
effervescence dans le domaine de la recherche, peu d‘applications de taille
industrielle voient le jour. Cela s‘explique en partie par l‘absence de
normalisation internationale des réseaux de Petri, contrairement au grafcet. Cet
inconvénient est en passe d‘être corrigé puisque la norme ISO 15909 sur les
réseaux de Petri de haut niveau est actuellement en cours d‘élaboration.

Ces réseaux présentent des caractéristiques intéressantes telles que la


modélisation et la visualisation de comportements parallèles, de la
synchronisation et partage de ressources. De plus leurs aspects théoriques ont été
largement étudiés et les résultats théoriques les concernant sont très abondants.

A la fin de cours, vous serrez en mesure de modéliser le fonctionnement d‘un


système à l‘aide d‘un RdP et de déterminer ses propriétés !

LES RESSEMBLANCES ET DIVERGENCES ENTRE GRAFCET ET


RDP

Rappel Grafcet:
En 1975, le groupe Systèmes logiques de L‘AFCET (Association française
pour la cybernétique économique et technique) décide de créer une commission
de normalisation de la représentation du cahier des charges d‘un automatisme
logique du fait de la complexité future de ces automatismes. L‘outil de
représentation retenu s‘inspire des réseaux de Petri et propose une interprétation
unique des entrées/sorties du système

- Les réseaux de Petri sont donc l‘ancêtre de cet outil industriel Grafcet. Ils
ne sont toutefois pas comparables, dans la mesure où les réseaux de Petri servent
à la modélisation, tandis que le GRAFCET est orienté programmation. On peut
néanmoins considérer ce dernier comme un Réseau de Petri interprété. Retirant
les spécifications de réceptivité, d‘action et de temps, on retrouve effectivement
la structure sous-jacente des réseaux de Petri.

Un GRAFCET est composé, comme un réseau de Petri, d‘états, de transitions et


d‘arcs.
Pour conditions, le GRAFCET utilise deux notions : la validité (les états
précédant sont actifs), ajoutée à une condition booléenne.

Une comparaison avec le domaine de l‘électronique, on note l‘utilisation des


bascules RS (bascule Reset-Set).

Les transitions des réseaux de Petri sont des compteurs, tandis que celles des
GRAFCET sont des bascules (des interrupteurs à signal).
Autre particularité proche de l‘électronique, l‘état d‘un GRAFCET est ou actif,
ou inactif, un réseau de Petri possède, quant à lui, plusieurs niveaux d‘activités
(plusieurs jetons).

Les GRAFCET sont aussi dits systèmes synchrones, contrairement aux réseaux
de Petri, dits asynchrones. Précisons qu‘un système est dit synchrone s‘il est
réglé sur une horloge de base.

Ces notions des réseaux de Petri font du GRAFCET un outil bien adapté à la
modélisation d‘automates utilisant capteurs et actionneurs. Les réseaux de Petri
sont, quant à eux, plus adaptés à la modélisation, à la supervision (notion de
stocks)

Cette différence a l‘avantage de rapprocher les GRAFCET du comportement


réel d‘un automate.

Remarque :

• Contrairement au Grafcet, lorsque deux transitions sont franchissables, on n‘en


franchit qu‘une à la fois.

• lorsqu‘une transition est validée, cela n‘implique pas qu‘elle soit


immédiatement franchie. Ce n‘est qu‘une possibilité.

Il existe de nombreux outils de simulation, souvent libres, et


développés dans le cadre de thèses ou de recherches scientifiques.

Ces logiciels permettent de créer des réseaux de Petri et de simuler leurs


exécutions.

 Logiciel de simulation (exemple : HPSim )

 CPN Tools (un des logiciels les plus utilisés, simulation de réseaux de
Pétri de haut niveau)

MISS-RdP© : Interactive Modelling and System Simulation(outil
permettant de simuler et de modéliser des RdP de haut niveau)

 Petri-Parc (simulateur graphique de RdP qui permet la modélisation


et la simulation de réseaux simples ou colorés)
 CoopnBuilder (simulateur graphique utilisé pour la modélisation des
réseaux de Pétri orientés-objets).

Dans la partie suivante, les notions de système et de modèle sont rappelées .

NOTIONS GENERALES SUR LES SYSTEMES ET MODELES

Un système est une portion de la réalité définie par une frontière organisée en
fonction d‘un but. En général, un système est constitué par un ensemble
d‘éléments en interaction dynamique.

Un système S est un processus de transformation d'un ensemble de signaux en


entrée x (excitation) en signaux en sortie y (réponse).

Il possède donc des entrées et des sorties. Elles sont caractérisées par des
variables de flux.

*************** fin 2 ème seance


Un modèle est une représentation, souvent en termes mathématiques, des
relations qui existent entre les variables de sortie et les variables d‘entrée d‘un
système. Cette représentation nécessite souvent l‘introduction de variables
supplémentaires appelées variables d‘état.

A un instant donné, la valeur des variables d‘état caractérise un système: leur


connaissance avec celle des valeurs dans le futur des variables d‘entrée permet à
l‘aide du modèle de déterminer les valeurs des variables de sortie dans le futur.

Un modèle serait idéal s‘il est capable de reproduire de façon exacte le


comportement du système. Cela signifie que si, à un instant donné, on connaît la
valeur des variables d‘état du système et que si on connaît la valeur des variables
d‘entrée dans le futur (et le présent), les relations mathématiques qui constituent
le modèle permettent de déterminer exactement les valeurs des variables de
sortie qui peuvent être observées expérimentalement.

Un des principes fondamentaux (et philosophiques) des Sciences de l‘Ingénieur


est qu‘il est impossible d’obtenir le modèle idéal d’un système. Au mieux, on
peut obtenir un ―bon‖ modèle, c‘est-à-dire, un modèle qui permette de
déterminer de façon approchée les valeurs des variables de sortie qui peuvent
être observées expérimentalement.

Conception des systèmes

„4 étapes principales avant la mise en œuvre:


- Spécification – cahier des charges
- Modélisation
- Simulation (connaissance approfondie + performances)
- Analyse – Validation
Les variables d‘un système peuvent être de nature différente, par exemple :
- continues définies sur R
- discrètes définies sur N
- logiques,

Les variables varient en fonction du temps : ce sont donc des signaux. On peut
définir différents types de signaux, signaux en temps continu et discret.

Continu ; Discret

Signal

Un signal est une fonction d'une ou plusieurs variables représentative(s) d'un


phénomène physique.
Couramment, un signal n'est fonction que d'une variable, le temps.

Typologie des signaux :


A temps discret (échantillonné)/continu :
A domaine de définition discret (numérisé)/continu : x(k) (ou
x(t)) ∈ {x1, x2, .., xn} ou ∈ R.
Suivant la nature des variables d‘entrée, de sortie et d‘état, les outils de
modélisation utilisés sont différents. Dans le tableau qui suit, est présenté un
ensemble non exhaustif d‘outils de modélisation précédemment étudiés.

NATURE DES SYSTEMES

• Systèmes continus
– variables d'état continues et temps continu

• Systèmes échantillonnés
– variables d'état continues et temps discret

• Systèmes discrets
– variables d'état discrètes et temps continu

• Systèmes à événements discrets


– variables d'état discrètes et temps discret

Cas particulier : système logique, le domaine des variables est {0,1}

Dans un système continu, l'état du système change en permanence avec


l'évolution du temps.

Dans un système à évènements discrets, l'état change seulement à certains


instants lors de l'occurrence d'évènements particuliers (état stable entre ces
instants). L'espace d'états d'un SED est discret.

Il est stochastique si au moins une de ses sorties est aléatoire.


Dans ce cas le système est décrit par un processus stochastique.

EXPRESSION DES MODELES MATHEMATIQUE / TEMPS

• Dans le cas des systèmes à états continus

– système d'équations algébriques (temps non explicite)


– système de fonctions explicites du temps
– système d'équations algébro-différentielles, permet de définir la dynamique

• Dans le cas des systèmes à états discrets

– système d'équations booléennes, logique combinatoire


– ensemble de variables booléennes fonctions du temps
– automate fini, logique séquentielle, système à événements discrets

Remarques

- Les RDP sont aussi un outil de modélisation pour les systèmes à variables
logiques puisque ceux-ci sont un cas particulier des systèmes à variables
discrètes.

Définition

- Un modèle est une représentation simplifiée et générale, souvent


mathématique, d'un système permettant l'analyse et la compréhension de ce
système.

- Un système est décrit par un modèle à état s‘il existe plusieurs signaux
appelés chacun « état » tels que l'ensemble des valeurs de ces états à un instant
donné décrit de manière nécessaire et suffisante ce système. L'ensemble de ces
états est appelé « espace d'état ».

RAPPELS

Si les états d‘un système sont à domaine de définition continu, on parle


de représentation d'état. L'ensemble des états xi(t) ou xi(k) est représenté sous
la forme d'un vecteur d'état X(t) ou X(k).

Par un exemple, un moteur peut être décrit par deux variables d‘états : sa
position angulaire et sa vitesse angulaire. Le changement de ces états est
considéré de manière continue (v, v+dv). Un état peut prendre une infinité de
valeurs. La vitesse et la position décrivent entièrement le comportement du
moteur. Les outils formels utilisés sont les transformées de Laplace, en Z, les
bonds-graphs, etc.

Si les états sont à domaine de définition discret/numérisé, on parle de systèmes


à événements discrets (SED). Dans ce cas, les états xi(t) ou xi(k) évoluent dans
un espace de valeur fini, et le changement de valeur pour un état est considéré
comme une « rupture », on passe d'une valeur à une autre de manière
discontinue.

Exemple de SED

Une machine de production est décrit par deux états : un premier état x 1(t)
appelé « mode de fonctionnement » dont l'espace des valeurs est {arrêt,
marche, panne, reconfiguration, maintenance} et un second état x2(t) appelé
« cadence » dont l'espace des valeurs est {0, c1, c2, c3}. On remarque que x2(t)=0
quand x1(t)≠marche. Le vecteur [x1(t), x2(t)] décrit entièrement les
comportements possibles pour cette machine. Dans ce cas, on considère que le
changement de valeur pour un état est provoqué par des événements de nature
discrète, à occurrence instantanée et à intervalle de temps non nécessairement
réguliers. D'où la terminologie d'un « SED ».

Les outils formels utilisés dans la modélisation des SED sont les réseaux de
Petri, les chaînes de Markov, le grafcet, etc. Le graphe orienté est le modèle
fondamental commun à tous ces outils.

Le modèle Réseaux de Petri a d‘ailleurs donné naissance au Grafcet, qui est


considéré comme un langage de spécification et de programmation d‘automates
industriels.

Un modèle, pour quoi faire ?

L‘utilisation de modèles prend une part de plus en plus importante dans les
projets technologiques menés par les ingénieurs, que ce soit pour la définition de
systèmes, leur conception, leur réalisation et même leur intégration (mise en
œuvre), leur maintenance et leur exploitation.

Par définition, un modèle est une représentation d’un système: il peut ainsi
permettre de décrire de façon non équivoque un système technologique. De sa
définition à son exploitation, un système technologique va être appréhendé par
différentes personnes (ingénieurs, etc..) sous des points de vue différents
(conception, réalisation, maintenance, exploitation, etc..). Le passage d‘une
personne à l‘autre doit alors se faire sans perte d‘information, ce que permet
l‘utilisation d‘un modèle.

Il faut rappeler que L‘approche traditionnelle de la conception d‘un système


consiste à le concevoir sur le papier, à le réaliser et à faire des expériences sur le
système correspondant à des scénarios types afin de vérifier si son
comportement est satisfaisant et s‘il est nécessaire de l‘améliorer voire de le
reconcevoir. Cette approche pose plusieurs problèmes et une telle approche est
longue et coûteuse, ce que permettent de moins en moins les contraintes
économiques.

Une alternative est de définir le système technologique à l‘aide d‘un modèle.

Le rôle de la modélisation dans la conception des systèmes est résumé dans la


figure suivante:
Les modèles des systèmes, 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, ou mettre en évidence des disfonctionnements non visibles. Pour cela
ces modèles peuvent vérifier entre autres :

- L‘activité : Vérifie si le fonctionnement d‘une partie ou de tout le


système évolue. C'est-à-dire qu‘il s‘agit d’examiner si une partie ou
l‘ensemble du réseau peut ou non évoluer
- La répétitivité : Vérifie s‘il y a des séquences qui se répètent dans le
fonctionnement du système.
- La bornitude : Caractérise la possibilité qu‘une partie ou tout le
système n‘évolue plus, une fois qu‘un état spécifique est atteint.
Cette propriété répond à la question de savoir si le nombre de jetons
circulant dans le réseau reste borné ou non.
- La vivacité : Vérifie qu‘un état du système puisse être atteignable, quel
que soit l‘état dans lequel il se trouve.
- La concurrence : Vérifie si le passage à un état entraîne la
collaboration de deux ou plusieurs parties du système.

QUELQUES CLASSES DE SED

Exemple de système d’une industrie manufacturière et système


informatique

Les Réseaux de Petri permettent la modélisation de systèmes à variables


d‘entrée, d‘état et de sortie discrètes. Quels types de systèmes cela recouvre-t-il?
On va simplement présenter succinctement deux classes de systèmes, sachant
qu‘il y a de nombreuses autres classes de système.

a- Une première application est la modélisation de processus de fabrication


de systèmes industriels manufacturiers (caractérisés par une variation
imprévisible des besoins).

b- La deuxième application concerne les systèmes informatiques

Les systèmes industriels manufacturiers flexibles (FMS) sont caractérisés par :

Un ensemble de machines flexibles (multi-produits) ;

Un système de transfert automatique (multi-ressources) ;

Un système de prise de décision (ordonnanceur).

EXEMPLE 1: SYSTEME INDUSTRIEL MANUFACTURIER

Un processus est une suite d‘opérations effectuées dans un ordre bien


EXEMPLE 2: SYSTEME INFORMATIQUE

Conclusion

II- INTRODUCTION: RDP

Selon la proposition des Monika Trompedeller en 1995, les réseaux sont


classifiés en 3 niveaux :

Niveau 1: Les réseaux caractérisés par les places qui peuvent représenter
des valeurs booléennes. Un exemple de ce type est les Réseaux de
Condition/Evénement ;

Niveau 2: Les réseaux sont caractérisés par les places qui peuvent représenter
des valeurs de nombre entier. Un exemple de ce type est les Réseaux
de Place/Transition ;

Niveau 3: Les réseaux sont caractérisés par les places qui peuvent représenter
des valeurs à niveau élevé, c-à-d, une place est marquée par un multi-ensemble
de jetons structurés. Un exemple de ce type est les Réseaux
colorés.

Généralités

Les réseaux de Petri constituent un outil graphique et mathématique qui


permet de simuler et modéliser des systèmes dans lesquels la notion
d‘événements et d‘évolution sont importants.

C‘est Carl Adam Petri qui a inventé ce formalisme en 1962.

Il est possible de définir formellement un réseau de Petri de diverses façons.


On peut considérer qu‘il s‘agit d‘un graphe avec deux types de nœuds (place et
-
transition notées respectivement o et ) et un comportement dynamique (une
sémantique opérationnelle), ou bien qu‘il s‘agit d‘un système d‘additions de
vecteurs d‘entiers positifs.

Ces deux façons de définir un réseau de Petri sont équivalentes, mais il est
intéressant de toutes les présenter. En effet, elles donnent une vision chaque fois
différente des réseaux de Petri, et l‘un des intérêts des réseaux de Petri est
précisément de pouvoir passer d‘une vision à une autre suivant ce que l‘on veut
faire.

La première vision relie bien entendu les réseaux de Petri à la théorie des
graphes, la seconde permet de travailler dans le cadre du calcul matriciel et de
l‘algèbre linéaire.

Le RDP est un outil mathématique très général permettant de décrire les


relations existant entre des conditions et des événements et de modéliser le
comportement de systèmes dynamiques à événements discrets.

Les RDP constituent donc 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. Le RDP sert aussi comme structure
interne d‘un système de contrôle ou d‘aide à la décision.

Un réseau de Petri est un outil graphique de modélisation de système complexe.


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

L‘apprentissage de la modélisation par réseau de Petri n‘est généralement pas


aisé pour un débutant. Le concepteur du modèle doit raisonner en termes d‘états
et de transitions d‘états ce qui n‘est pas une démarche naturelle. Il est nécessaire
tout d‘abord de maîtriser la modélisation des structures de base comme
l‘enchaînement d‘opérations, les communications et le partage de ressources.

On peut effectuer le parallèle avec l‘apprentissage de la programmation des


ordinateurs et la maîtrise des structures algorithmiques de base.

Toutefois, la modélisation par réseau de Petri se prête très bien à la conception


modulaire des systèmes. Ainsi chaque sous système est modélisé séparément,
puis les interactions de ceux-ci reviennent à interconnecter les réseaux par de
nouvelles places et transitions. Nous pouvons noter qu‘à l‘usage, la modélisation
par réseau de Petri s‘impose très rapidement aux autres outils de modélisation
pour étudier des systèmes complexes.

La puissance d‘expression des réseaux de Petri permet aux


concepteurs de modéliser un même système de plusieurs façons.
Par exemple, les activités d‘un système peuvent être modélisées par
des places ou des transitions. Dans le premier cas, le traitement de
l‘opération est symbolisé par la présence d‘un jeton dans la place la
modélisant et dans le second elle est modélisée par le tir de la transition la
modélisant. Mais il faut avoir présent à l‘esprit que le modèle sera plus ou moins
facile à analyser suivant la stratégie de modélisation adoptée.

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 :

- 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),
Et bien d‘autres.

En fait, tout système dans lequel circule objets et information.

LES ATOUTS DES RdP :

- ils permettent de décrire de manière précise la structure d‘un système,


- ils offrent un support graphique de conception,
- ils permettent de décrire un système étape par étape, en décomposant en
éléments plus simples les éléments constitutifs initiaux du système,
- ils permettent de décrire à l‘aide d‘un même support de base, à la fois la
structure et la dynamique d‘un système,
- ils permettent de passer d‘une description graphique d‘un système à une
description formelle permettant l‘analyse mathématique du système (cohérence).

CONCEPTS DE BASE DES RDP

Introduction

Un RdP est un graphe bipartie composé d'un ensemble de

- Places représentées par un cercle

- Transitions représentées par

- Reliées par des arcs orientés

Les modélisations par RDP peuvent porter sur différents niveaux


d‘abstraction, Orienté état-transition, mais distinct des automates

Système événement-condition :

Cette approche de modélisation permet d‘introduire les notions suivantes:

– Condition (condition) → maintien (holding)


– Événement (event) → occurrence (occurrence)
préconditions → occurrence → postconditions
Evénements coïncidents

Système de réseaux de places et transitions

Cette approche permet d‘introduire un modèle plus général qui travaille sur les
entiers.
– places (places) → marques (tokens)
– transitions (transitions) → franchissement (firing)

Système de production :

On considère dans ce réseau à marques distinguées que :


– places : composantes passives
– transitions : composantes actives

NOTION DE GRAPHE ORIENTE

Un graphe orienté comporte :

• un ensemble fini de places, P= {P1, P2, P3, ..., Pm}, symbolisées par des
cercles et représentant des conditions qui traduit l‘état d‘une ressource du
système (machine libre, stock vide, convoyeur à l‘arrêt, …).

• un ensemble fini de transitions, T= {T1, T2, T3, ..., Tn}, symbolisées par
des tirets et représentant l'ensemble des événements (les actions se déroulant
dans le système) dont l'occurrence provoque la modification de l'état du système

• un ensemble fini d'arcs orientés qui assurent la liaison d'une place vers
une transition ou d'une transition vers une place.

Un graphe orienté est dit biparti, c'est-à-dire qu'un arc relie alternativement une
place à une transition et une transition à une place. Ainsi les situations suivantes
sont interdites.
PRESENTATION INFORMELLE

Un exemple de Réseaux de Petri est représenté sur la figure suivante, à chaque


place et transition, un nom peut être associé: par exemple, les places sont
nommées P1, P2, P3 et P4 et les transitions T1, T2 et T3.
T1 est reliée à P1 par un arc oriente de T1 vers P1 : on dit que P1 est en sortie
ou en aval de T1.

P1 est relié T2 par un arc oriente de P1 vers T2 : on dit que T2 est en sortie de
P1. De même, on peut dire que P1 est en entrée ou en amont de T2. La place P3
est en entrée de T1.

Exemple d’un Réseau de Petri


Remarque :

- Une transition sans place d'entrée est toujours franchissable car c'est une
propriété concernant la transition source
Le franchissement d'une transition source consiste à rajouter un jeton à chacune
de ces places de sortie

- Le franchissement d'une transition puits consiste à retirer un jeton de chacune


de ses places d'entrée.

T0
NOTION DE SYSTEMES AVEC RESSOURCES

Type de ressource = place. Nombre de jetons = nombre de ressources


disponibles

Transition franchissable: toutes ressources en entrée disponibles

Condition (Etat du système) :


Une condition est un prédicat logique ou une description d‘un état du système.
Elle est soit vraie, soit fausse (composants passifs)

Une condition est la description de l‘état d‘une ressource du système modélisé:

• une machine est au repos,

• une machine est en réparation

• une commande est en attente

Une condition est soit vraie, soit fausse. Un état du système peut être décrit
comme un ensemble de conditions.

Dans le formalisme des Réseaux de Petri, la condition est modélisée à l‘aide


d‘une place.
Evénement :

Les événements sont des actions se déroulant dans le système. Le


déclenchement d'un événement dépend de l'état du système (composants actifs).

Un événement est une action qui se déroule au sein du système et dont la


réalisation dépend de l‘état du système :

• début de traitement sur une machine,

• panne sur une machine

• début de traitement d‘une commande

Dans le formalisme des Réseaux de Petri, l‘événement est modélisé à l‘aide


d‘une transition.

Principes:

Principe 1: Les composants actifs et passifs du système doivent être bien


distingués, un composant passif peut contenir/stocker des objets ou de
l‘information. Un composant actif peut transporter des objets ou de
l‘information.

Principe 2: Les arcs entre composants passifs et actifs ne doivent pas


représenter une composante réelle du système mais une relation abstraite entre
composants.

Principe 3: Un arc ne doit jamais relier deux composants du même type.


Si ces principes ne sont pas suivis, on aboutit à terme à des problèmes de
modélisation.

Principe 4 : La même structure de réseaux représentant l‘architecture du


système modélisé devra pouvoir être modélisée pour d´écrire sa dynamique.

Comment ?

✄ On placera des marques représentant des objets ou de l‘information dans les


composants passifs,

✄ On décrira par des règles strictes comment les composants actifs peuvent
faire transiter des objets de composants passifs en composants passsifs.
Principe 5: On obtient une description plus détaillée d‘un système

✄ soit en remplaçant un composant du système par un sous réseau,

✄ soit en ajoutant un nouveau composant au système.

Conclusion

Une place correspond à une variable d’état du système qui va être modélisé et
une transition à un événement et/ou une action qui va entraîner l‘évolution des
variables d‘état du système. A un instant donné, une place contient un certain
nombre de marques ou jetons qui va évoluer en fonction du temps: il indique la
valeur de la variable d‘état à cet instant.

Quand un arc relie une place à une transition, cela indique que la valeur de la
variable d‘état associée à la place influence l‘occurrence de l‘événement associé
à la transition. Quand un arc relie une transition à une place, cela veut dire que
l‘occurrence de l‘événement associé à la transition influence la valeur de la
variable d‘état associée à la place.
(Fin 2eme seance)

Exemple 1

Nous allons partir d‘un exemple simple de système à modéliser (dans une
bibliothèque, les utilisateurs peuvent poser ou prendre des livres sur une
étagère).

✄ les utilisateurs de la bibliothèque (composants actifs de la bibliothèque),


✄ les étagères de la bibliothèques (composants passifs).

Exemple 2

RDP du fonctionnement et de l‘arrêt d‘une machine à laver.

On dispose donc d‘un interrupteur marche/arrêt


Places (2 états) :

• P1 : le système est à l'arrêt


• P2 : le système est en fonctionnement

Transitions (2 évènements) :

• T1 : le bouton marche est enclenché

• T2 : le bouton arrêt est enclenché

Exemple 3

Soit une Recette A, permettant de produire des pots de compote et de gelée. On


se propose de modéliser son fonctionnement.

Ingrédients :
• 3 kg de pommes
• 1 kg de sucre

Donne :
• 2 pots de compote
• 1 pot de gelée de pomme
Exemple 4

Exemple « Service »
• Modélisation d’un service (imprimante,
coiffeur) … Service
Demande Service fait

Demande Service fait

En_cours

Libre

Demande Service fait

En_cours

Exemple 5

Pour assembler une voiture, il faut 1 chassis, 5 roues, 1 moteur, 2 sièges :


On se propose de modéliser ce montage.

Exemple 5
Exemple 6

Des cubes arrivent sur un tapis, un robot les saisit et les dépose dans un
emplacement, proposer une modélisation de ce fonctionnement dans le cas
suivant :

Solution
Exemple 7

Un atelier est constitué d'une machine de coupe et d'un


stockage. Quand une commande arrive, la pièce est stockée et la
coupe est effectuée lorsque la machine est disponible. Donner le RDP dans le
cas suivant :

Les places :

• P1 : la machine est en attente.

• P2 : des commandes sont en attente.

• P3 : la machine traite une commande.

Les transitions :

• T1 : arrivée d'une commande.

• T2 : prise d'une commande et début de la découpe.

• T3 : fin de la découpe.
Exemple 8

Un atelier est constitue d‘une machine de coupe et d‘un stock. Quand une
commande arrive et que la machine de coupe est disponible, la commande peut
être traitée. Une fois le traitement terminé, la commande qui à été traitée est
stockée. Sinon, la commande doit attendre que la machine de coupe se libère
avant de pouvoir être traitée.

Il faut noter les choses suivantes.

– Chaque place contient un nombre entier (positif ou nul) de marques ou


jetons. Elle indique la valeur de la variable d‘état associée à la place.

Par exemple, les 3 marques dans P2 représentent 3 commandes en attente.


– Le nombre de marques dans une place peut s‘interpréter comme le nombre de
ressources disponibles.

Par exemple, dans la place P1, une marque indique qu‘une machine est
disponible, pas de marque indique que la machine n‘est pas disponible. Ces
ressources sont consommées ou/et produites au cours du temps.

Par exemple, dans la place P2, le nombre de marques indique le nombre de


commandes en attente d‘être traitées par la machine de coupe, c‘est-a-dire le
nombre de ―ressources‖ qui vont être consommées.

Une marque dans la place P3 indique qu‘une commande est en train d‘être
traitée par la machine de coupe.

Le nombre de marques dans la place P4 indique le nombre de commandes qui


ont été traitées et stockées.

La fin de la coupe par la machine se traduit par la suppression de la marque dans


la place P3 et par la création d‘une marque dans la place P1 et dans la
place P4.

– Les marques d‘une même place n‘ont pas d’identité individuelle: elles sont
indiscernables.
Par exemple, chaque commande en attente dans la place P2 est traitée de la
même façon que les autres.

Exemple 9

Considérons un système assez général de production/consommation. Dans ce


système abstrait, on va considérer que des objets peuvent être:
1. produits,
2. transmis,
3. reçus,
4. consommés.

On distinguera 4 types d‘évènements que l‘on représentera par des barres.

De plus, on considérera que l‘occurrence de ces événements est conditionnée ;


on représentera des conditions à l‘aide de cercles.
L‘occurrence des divers évènements est conditionnée par exemple par le fait :

✄ Que le canal soit occupé ou non,


✄ Qu‘un émetteur soit prêt ou non.

Sur cet exemple on distinguera deux types de conditions, relativement à un


évènement donné :

✄ Certaines de ces conditions sont en aval de l‘évènement considéré,

Exemple : la condition canal occupé est une condition aval relativement à


l‘évènement transmettre.

✄ certaines conditions sont en amont de l‘évènement considéré :


exemple : la condition émetteur prêt est en amont de l‘évènement transmettre.

Dans ce cadre, une condition sera toujours satisfaite ou non satisfaite.

Déclenchement, pré-condition, post-condition:

Les conditions nécessaires au déclenchement d'un événement sont les pré-


conditions de l'événement.
Lorsqu'un événement se produit, certaines de ses pré-conditions peuvent cesser
d'être vrais alors que d‘autres conditions, appelées post-conditions de
l'événement deviennent vraies.
Exemple 10

Les 5 philosophes

=> Composition par mise en commun des fourchettes


=> Fusion des places « fourchette droite » du philosophe N et « fourchette
gauche » du philosophe N+1 (modulo 5)

QUELQUES STRUCTURES IMPORTANTES DE RDP


(FIn 3eme seance)

Méthode de modélisation
Selon le cahier de charges (ici les exercices) à traiter,

— identifiez les ressources et par conséquent les modes d‘accès ; chaque ressource sera
systématiquement modélisée par au moins une place ;

— identifiez les processus, et par conséquent leurs comportements (suites d‘actions) ; précisez pour
chaque processus, quelles ressources il utilise.
De façon générale une action est modélisée par une transition ; cependant pour certaines actions il
faut une autorisation (représentée par une transition) quand les conditions pour effectuer l‘action sont
remplies. Ces conditions sont représentées par des places. Ainsi chaque action (du comportement)
d‘un processus est précédée d‘une transition qui l‘autorise et éventuellement suivie par une transition.

— réutilisez les techniques de base (pour l‘accès à une ressource : demander, utiliser, libérer),
synchronisation, exclusion mutuelle.

— Vous pouvez alors synthétiser avec un tableau comme le suivant :


III- MODELISATION D'UN SYSTEME EVENEMENT - CONDITION :

MODÉLISATION PAR RDP

Les figures suivantes représentent de tels réseaux. Le premier représente un


processus à deux états (Arrêt-Marche, par exemple). Dans le deuxième réseau, le
passage d‘un état à l‘autre mobilise une ressource, symbolisée par le jeton
contenu dans la place qui a été rajoutée à partir de la 1ère figure. Le troisième
modèle peut représenter l‘assemblage et le désassemblage successifs de deux
éléments.
En général, les places sont repérées de P1 à Pn et les transitions de T1 à Tm. Les
poids des arcs sont indiqués sur le modèle en regard des arcs. L‘absence de
notation signifie que l‘arc en question est implicitement pondéré à 1.

Le RdP autonome récrit ―ce qui arrive‖. Il permet la description du


fonctionnement, de ce qui arrive, les transitions sont autonomes.

Voici un exemple de description

L‘appellation autonome de ces réseaux de Petri vient du fait qu‘on n‘associe pas
de condition, d‘événement, ni de temps aux transitions.

Un RdP autonome décrit donc le fonctionnement d'un système dont les instants
de franchissement ne sont pas connus ou indiqués.

Exemple:

RdP autonome

Un RdP autonome décrit le fonctionnement d’un système qui évolue de façon
autonome, c-à-d dont les instants de franchissement ne sont pas connus, ou pas
indiqués. (Exemple : Le cycle des saisons).
- Un RdP non autonome décrit le fonctionnement d’un système dont l’évolution est
conditionnée par des événements externes ou par le temps (Exemple : Démarrage
d’un moteur).

EXEMPLE DE RDP GENERALISE

Exemple 1

Il s‘agit d‘un modèle de RDP de l‘assemblage de pièces

Exemple 2
Définitions Informelles

• Le formalisme des réseaux de Petri est un outil permettant l'étude de


systèmes dynamiques et discrets.
• Il s'agit d'une représentation mathématique permettant la modélisation
d'un système.
• 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ésultats de cette analyse sont utilisés pour évaluer le système et en
permettre la modification et/ou l'amélioration le cas échéant.

• Un réseau de Petri (RdP) est un graphe biparti constitué de 2 sortes de


nœuds:

- Les places (représentées par des ronds)


- Les transitions (représentées par des barres).

Une place correspond à une variable d’état du système qui va être modélisé et
une transition à un événement et/ou une action qui va entraîner l‘évolution des
variables d‘état du système. A un instant donné, une place contient un certain
nombre de marques ou jetons qui va évoluer en fonction du temps: il indique la
valeur de la variable d‘état à cet instant.

• Le graphe est orienté: Des arcs vont d'une sorte de nœuds à l'autre (jamais de
places à places, ou de transitions à transitions directement).

• Graphe formé de :
- ensemble de places P = {P1, P2, P3,….}
Les places (Pi) permettent de décrire les états du système modélisé

- ensemble de transition T= {T1, T2, T3,….}


Les transitions (Ti) représentent les changements d'états

- Marquage initial M= {m1, m2, m3,….}


Les Places et transitions sont reliées par des arcs orientés. On dira qu‘un RdP est
un graphe biparti orienté.

A chaque arc, on attribut un poids (nombre entier). Par défaut ce nombre est égal
à 1.
Pour le RdP ci-dessus, le poids de l'arc reliant P1 à T1 est égal à 1, alors que
celui reliant T1 à P2 est égal à 5.

Une transition se compose d'un ou de plusieurs arcs amont ou arcs d'entrée et


d'un ou plusieurs arcs aval ou arcs de sortie. Chacun de ces arcs a son propre
poids.

EVOLUTION TEMPORELLE DES SYSTEMES MODELISES PAR RDP

L'évolution de l'état du réseau de Petri correspond à une évolution du


marquage. Les jetons, qui matérialisent l'état du réseau à un instant donné,
peuvent passer d'une place à l'autre par franchissement ou tir d'une transition.

Chaque place va contenir un nombre entier de jetons (ou


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

MARQUAGE

Chaque place contient un nombre entier (positif ou nul) de marques ou jetons.


Le nombre de marque contenu dans une place Pi sera noté soit M(Pi) soit mi.
Le marquage du réseau à l'instant ti est Mi, il est défini par le vecteur de ces
marquages mi c-à-d : Mi= (m1, m2, …, mn) ‗.

Le marquage dit initial décrit l'état initial du système modélisé (M0).

Par exemple, le marquage du RdP de la figure suivante est (M):


Remarque :

Un jeton peut avoir plusieurs significations en fonction de la place dans lequel il


se trouve.

Par exemple dans le RdP ci-dessous on considère que :

- P1 représente un stock : le nombre de jetons en p1 indique le nombre de


pièces stockées

- P2 représente une machine en cours de traitement : un jeton en p2


indique que la machine traite une pièce

- P3 représente une machine libre : un jeton en p3 indique que la machine


est libre.

- Les jetons d‘une place n‘ont pas d‘identité individuelle, autrement dit, ils
sont indiscernables.

Ces jetons sont consommés et produites par les événements du système.

La présentation faite des Réseaux de Petri est une représentation graphique,


alors qu‘il est possible d‘en faire une représentation mathématique grâce à
l‘algèbre linéaire. Cette notation permet de représenter un RdP de manière plus
formelle mais moins lisible que la représentation graphique. Ainsi, Pre et Post
sont représentés par des matrices à q lignes (nombre de places), n colonnes
(nombre de transitions).
En général, les places sont repérées de P1 à Pn et les transitions de T1 à Tm. Les
poids des arcs sont indiqués sur le modèle en regard des arcs. L‘absence de
notation signifie que l‘arc en question est implicitement pondéré à 1.

Vraie Fausse

Les ressources, indiscernables, sont consommées ("Pré-ressources") et produites


("Post-ressources") lors des transitions
Le nombre total de jetons n'a aucune raison d'être conservatif

La valuation des arcs permet d'exprimer que l'on consomme/produit plus d'une
ressource :

Exemple

Remarque
Nota 1 : le nombre de marques (ou jetons) d’un réseau de Petri n’est donc pas
nécessairement constant.

Nota 2 : En réseau de Petri, plusieurs transitions franchissables ne sont jamais


franchies simultanément.

Séquence de tir

Soit T= {t1,t2,t3,…,te} l’ensemble des transitions d’un réseau de Petri muni d’un marquage
initial M0.
On appelle T* le monoïde libre sur T et un mot de longueur s de T*.

Il faut distinguer parmi les mots de T* ceux qui sont des séquences de tir admissibles
(c'est à dire respectant la règle fondamentale d’évolution). Dans la pratique des
réseaux de Petri, seules ces séquences ont un intérêt et implicitement lorsqu'on parlera
de séquence de tir, celles-ci seront admissibles.
DEFINITION DES RDP ET FORMALISME

• L'un des intérêts de ce formalisme, c'est la possibilité de vérifier


formellement des propriétés

• Nécessite le recours à la formalisation (matrice d'incidence, séquence de


franchissement, vecteur caractéristique, équation d'état)

• Propriétés structurelles (structure du réseau) et/ou comportementales


(évolution du réseau)

Remarque

Le marquage à un instant donné définit l'état du RdP, ou plus précisément


l'état du système décrit par le RdP. L'évolution de cet état correspond donc à
l'évolution du marquage (par franchissement de transitions).
Par abus de langage, nous appellerons les RdP marqués: Rdp et les non marqués:
RdP non marqués. A tout marquage accessible à partir du marquage initial par
franchissement d'une séquence de transitions correspond un état du système.
Définition

On définit l‘application incidence avant et après comme suit sachant que k1, k2,
i1, i2 représentent le poids des arcs.

- Entrée (ou Pré) est une application, Entrée: P x T → N, appelée application


d‘incidence avant. Notée Pré(p,t) ou Entrée(p,t) ou encore I(p,t), contient la
valeur entière « n » associée à l‘arc allant de « p » à « t ».

- Sortie (ou Post) est une application, Sortie: P x T → N, appelée application


d‘incidence arrière. Notée Post(p,t) ou Sortie(p,t) ou encore O(p,t) contient la
valeur entière « n » associée à l‘arc allant de « t » à « p ».

- « p » est une place d‘entrée de la transition « t » si Pré(p, t) > 0

- « p » est une place de sortie de la transition « t » si Post(p, t) > 0

- t est une transition d‘entrée de p si Sortie (p,t) > 0:

- t est une transition de sortie de p si Entrée(p,t) > 0:


Par convention, lorsque le poids n‘est pas précisé sur un arc, alors ce poids vaut
1. Si aucun arc ne relie une transition t à une place p, alors Sortie(p,t) = 0. De
même, si aucun arc ne relie une place p à une transition t, alors Entrée(p,t) = 0.

Remarque

Exemple 1

Soit le RDP suivant :

On demande de déterminer :

- L‘ensemble P des places


- L‘ensemble T des transitions
- Le marquage initial
- La matrice d‘incidence avant
- La matrice d‘incidence arrière et
- La matrice C.
Exemple 2

Pour le RdP suivant :

1- Indiquer le marquage initial

2- Etablir la matrice d‘entrée E

3- Etablir la matrice de sortie S

Solution

1- Le marquage initial est Mo =[0 3 0]


2- La matrice E est:
3- La matrice S est:

Exemple 3

Déterminer le marquage initial, la matrice d‘incidence avant et après.

M0 est :
Définition

Un réseau de Petri est isomorphe à une matrice rectangulaire C(p,t) à coefficients


entiers (appelée matrice de description ou d’incidence) décrite comme suit :

Dimension C(p,t) : Nombre de lignes = Nombre de places


Nombre de colonnes = Nombre de transitions

Rappel: est un entier strictement positif appelé poids de l’arc

Remarque fondamentale: La matrice C(p,t) seule ne représente que la structure du


réseau, donc le réseau non marqué. Les propriétés qui seront obtenues avec cette
matrice uniquement, seront donc des propriétés structurelles (ou génériques) car
indépendantes du marquage initial M0.

Exemple
Déterminer la matrice d’incidence du RDP suivant :

Exemple

Déterminer la matrice d’incidence du RDP suivant :


Fin séance
Exemple

suivante :

- Déterminer le marquage initial


- Déterminer les conditions de franchissement (transition franchissable)
- Calculer le vecteur colonne Pre(.,a) , Pre(.,b), Pre(.,c) et Pre(.,d)
- Calculer le vecteur colonne Post(.,a) , Post(.,b), Post(.,c) et Post(.,d)
- Vérifier les conditions de franchissement pour les transitions

Propriétés Dynamiques des RDP


Exemple précédent :
Exemple

On s‘intéresse à l‘exemple précédent :

- Démonter si t1 est franchissable


- Si c‘est le cas, déterminer le nouveau marquage après son
franchissement
- Effectuer le calcul direct avec la matrice d'incidence

Sachant que : C = Post t – Pre


Remarque :

Soient les matrices d‘incidences avant et arrière suivante notées respectivement


W- et W+ :

Ces matrices peuvent être lues ainsi:

D‘après W-, le tir de la transition T1 retire un jeton à chacune des places P1 et


P3. Le tir de la transition T2 retire un jeton de la place P2.

D‘après W+, le tir de la transition T1 ajoute un jeton dans la place P2. Le tir de
la transition T2 ajoute un jeton dans chacune des places P1 et P3.

La matrice d'incidence W est la matrice:

Cette matrice fait le bilan de l‘action de toutes les liaisons du RdP sur le
marquage. Il faut cependant noter que les termes issus des matrices d'incidence
avant et arrière ne doivent pas se compenser par soustraction. Si tel est le cas, il
y a perte d'information lors de la transcription du modèle sous la forme
matricielle.

Exemple

- La matrice définissant les arcs entrants des transitions est nommée matrice
PRE (précédent).
- La matrice définissant les arcs sortants des transitions est nommée matrice
POST.

Soit le réseau de Petri suivant

Déterminer les matrices PRE et POST du réseau ci-dessus:

PRE POST

t1 t2 t3 t4 t1 t2 t3 t4
p1 1 0 0 0 p1 0 1 0 0
p2 2 0 0 1 p2 0 0 1 0
p3 0 1 0 0 p3 1 0 0 0
p4 0 0 1 0 p4 3 0 0 1
p5 0 0 0 2 p5 0 0 1 0

Notations :

POST(ti) : colonne ti de POST

POST(pj) : ligne pi de POST


Elément nij des matrices respectives PRE et POST : PRE(pj,ti) et POST(pi,tj)

Le franchissement d'une transition t n'est autorisée que si aprés


exécution de la seule soustraction

M - PRE(t) = M"

On vérifie qu'aucun des éléments du marquage intermédiaire M" n'est


négatif. Il faut tout naturellement que M => PRE(t).

Le franchissement d'une transition t implique l'exécution de la


soustration

POST( t ) - PRE( t )

Il est commode de disposer directement de la matrice d'incidence C,


telle que:

C = POST - PRE

On obtient pour cet exemple la matrice C:

Alors, l'équation de calcul du marquage M(k+1) à partir de Mk pour


le franchissement de la transition ti s'écrit:

M(k+1) = M(k) + C( ti )

Nota-Bene :

L'application directe de cette équation pour le calcul du marquage


consécutif au franchissement de la transition ti permet toujours le
test de validation de la transition ti. Il suffit de vérifier qu'aucune
des valeurs de la colonne M(k+1) est négative (pas de jetons négatifs
dans un RdP).
AUTRE DEFINITION D’UN RESEAU DE PETRI

Définition

Quintuple : R = (T, P, A, M0)


T : ensemble de transitions T = {t1, t2, …, tl}
P : ensemble de places P = {p1, p2, …, pm}
A : ensemble d‘arcs A = {a1, a2, … , an}, A ⊆ {PxT} ∪ {TxP}
M0 : marquage initial : {m(pi)} (entier ≥ 0 = nombre de jetons dans place.pi.)

Exemple

- Déterminer T ensemble de transition


- Déterminer P ensemble de Place
- Dresser l‘ensemble des arcs
- Quel est le marquage initial
- Calculer les matrices d‘incidences avant et après

T = {t1, t2, t3, t4}


P = {p1, p2, p3}
Arcs = {(p2, t1), (t1, p1), (p1, t2), (t2, p2), (p2, t3), (t3, p3), (p3, t4), (t4, p2)}
M0 = [0 2 0]
Exemple d’évolution de marquage

Déterminer les évolutions successives du marquage à partir du marquage initial

Exemple

Marquage avant déclenchement M0 = [1, 2, 0]


L‘application des règles de franchissement à un RdP permet de faire évoluer le marquage
initial et d‘obtenir un marquage M1. La ré-application de ces règles « sur » M1 fournit un
autre marquage, M2, ect…..

Le système modélisé « vit » ainsi par à-coups, selon un algorithme assez simple :

Tant qu‘il y a des transitions déclenchables faire


choisir une transition déclenchable
déclencher la transition
fintantque .

Le moniteur d‘exécution travaille donc en pas-à-pas, une transition après l‘autre. Ce travail
séquentiel n‘empêche bien entendu pas des choix. A certains moments, en effet, plusieurs
transitions sont déclenchables.

Le moniteur sélectionne la transition à déclencher, selon une politique.

- première trouvée,
- plus proche du but,
- plus forte priorité,
- ...

Il est possible de « programmer » le moniteur pour qu‘il travaille en parallèle, en déclenchant


toutes les transitions déclenchables.
Graphe associé

Réseau de Pétri peut-être vu comme un graphe orienté biparti (P, T)


P U T est l‘ensemble des sommets du graphe
Γ application multivoque de P U T → 2p U 2T
Ensemble des successeurs d‘une place ou d‘une transition

V : l‘ensemble des valuations des arcs du graphe définie par Pré et Post

Graphe = (P, T, Γ, V)
R est défini par :

- ∀ p ∈ P, Γ (p) = {t ∈ T, Pré (p, t) > 0} .


- ∀ t ∈ T, Γ (t) = {p ∈ P, Post (p, t) > 0} .
- ∀ t ∈ T, ∀ p ∈ P, V (p, t) = Pré (p, t)
V (t, p) = Post (p, t)

En reprenant cet exemple :

Déterminer les Γ (p) et Γ (t) du réseau de petri

Γ (1) = {a} ; Γ (2) = {b} ; Γ (3) = {c} ; Γ (4) = {d} ; Γ (5) = {d, e} ;
Γ (a) = {2, 3} ; Γ (b) = {4} ; Γ (c) = {5} ; Γ (d) = {1} ; Γ (e) = {5}

Exemple
Soit le réseau de Petri suivant, on demande de déterminer
Les matrices d‘incidences avant et après
P = {x, y} et T = {a, b, c}
R = <P, T, Pré, Post>

Pré a B c
x 5 2 0
y 0 1 5

Post a B c
X 2 0 5
y 3 3 0

Exemple

- Soit le réseau de Petri suivant, on demande de déterminer les matrices


d‘incidences avant et après et C

Une matrice Pré qui représente les arcs allant d‘une place à une transition.
L‘élément (i; j) de la matrice Pré est différent de 0 s‘il y a un arc de la place i
vers la transition j.
Une matrice Post qui représente les arcs allant d‘une transition à une place.
L‘élément (i; j) de la matrice Post est différent de 0 s‘il y a un arc de la transition
i vers la place j.

A partir de ces deux matrices, on définit la matrice d‘incidence du réseau de


Petri :

C = Post t – Pre

L‘élément (i; j) de la matrice C donne le bilan pour la place i du tirage de la


transition j.
Pour cet exemple, on écrit :

Exemple

Soit l‘exemple de RDP suivant, on demande de déterminer la matrice Pré, Post


et C

Solution
Les matrices Pré et Post
La matrice C est :

Nouvelle séance

Autre définition

- Le RDP est un Modèle permettant de décrire les aspects de contrôle et le flot


des données.
- Il permet de représenter les changements d‘états et la causalité des événements
provoqués par ces changements
- Il Permet de représenter les activités parallèles et concurrentes d‘un logiciel
- Il permet une notation formelle, opérationnelle, dynamique.

Exemple 1:

Ce RdP possède 4 places, 4 transitions et 8 arcs orientés. Soit donc :


P = {P1, P2, P3, P4} et T={T1, T2, T3, T4} ;
Le marquage initial est M0 = (2,1,1,0) ;
La place P1 est en amont (une entrée) de la transition T2 et elle est en aval (une
sortie) de la transition T1 ;
T1 est une transition sans place d'entrée: transition source ;
T2 est une transition sans place de sortie: transition puit

Exemple2 :
On dit que la place P2 est en amont ou est une entrée de la transition T2
On dira que la place P7 est en aval ou est une sortie de la transition T5

Franchissement :
Soit le réseau suivant avec un marquage M1, quelles sont les transitions
franchissables.

Quel est le marquage M2 après franchissement de t1 .


Quel est le marquage M2 après franchissement de t3 .
Le franchissement de tj conduit au nouveau marquage M' tel que :

∀pi ∈ P, M’(pi) =M(pi) - Pre(pi,tj) + Post(pi,tj)

La différence des marquages M et M‘ tels que M '→t j M est égale à Post-Pre.


On introduit la matrice W, dite matrice d'incidence telle que :

∀pi ∈ P, ∀ tj∈ T : W(pi,tj) = Post(pi,tj) - Pre(pi,tj)


La jieme colonne de la matrice d‘incidence W donne donc la variation du nombre
de jetons dans chaque place lors du franchissement de la transition tj. On peut
par conséquent établir le nouveau marquage M‘ à partir du marquage M par
franchissement de la transition tj en appliquant la règle suivante :

Exemple

Soit l‘exemple de RDP suivant, on demande de :


- Déterminer les matrices Pre, Post et W.
- Quelles sont les transitions franchissables
- Quel est le nouveau marquage M‘ après franchissement de T2. Retrouver
ce résultat par calcul
- Quel est le nouveau marquage M‘‘ après franchissement de T1 et puis T2.
Retrouver ce résultat par calcul
Le franchissement de la transition T2 conduit au marquage M‘=[1 1 0 3]T qui
peut être obtenu algébriquement par la relation :

A partir du marquage M‘, le tir de T1, donne le nouveau marquage M‘‘ dont la
valeur est :

M‘‘ =[0 0 1 3]T

Ce vecteur peut être également obtenu algébriquement par la relation :


Interprétation de la matrice W :

Le franchissement de la transition t1 enlève un jeton à p1 et un jeton à p2 et


ajoute un jeton à p3. Le franchissement de la transition t2 enlève un jeton à p3 et
ajoute un jeton à p1 et un jeton à p4. Un zéro dans la matrice W correspondant à
une transition ti et une place pj s‘interprète comme l‘absence d‘un arc reliant
ces deux nœuds. Mais attention, cette dernière interprétation ne concerne que les
Rdp dits purs. Par ailleurs, la matrice d‘incidence ne donne aucune indication
sur la possibilité de franchir une transition puisqu‘elle est indépendante du
marquage.

Exemple
Soit un atelier de coupe de bois, cet atelier est constitué d‘une machine de
coupe et d‘un stock. Quand une commande arrive et que la machine de coupe est
disponible, la commande peut être traitée (découpe). Une fois le traitement
terminé, la commande qui a été traitée est stockée. Sinon, la commande doit
attendre que la machine de coupe se libère avant de pouvoir être traitée.

Il faut noter les choses suivantes.


– Chaque place contient un nombre entier (positif ou nul) de marques ou jetons.
Elle indique la valeur de la variable d‘état associée à la place. Par exemple, les 3
marques dans P2 représentent 3 commandes en attente.
– Le nombre de marques dans une place peut s‘interpréter comme le nombre de
ressources disponibles. Par exemple, dans la place P1, une marque indique
qu‘une machine est disponible, pas de marque indique que la machine n‘est pas
disponible. Ces ressources sont consommées ou/et produites au cours du temps.
Par exemple, dans la place P2, le nombre de marques indique le nombre de
commandes en attente d‘être traitées par la machine de coupe, c‘est-à-dire le
nombre de ―ressources‖ qui vont être consommées. Une marque dans la place
P3 indique qu‘une commande est en train d‘être traitée par la machine de coupe.
Le nombre de marques dans la place P4 indique le nombre de commandes qui
ont été traitées et stockées. La fin de la coupe par la machine se traduit par la
suppression de la marque dans la place P3 et par la création d‘une marque dans
la place P1 et dans la place P4.
– Les marques d‘une même place n‘ont pas d’identité individuelle : elles sont
indiscernables.
Par exemple, chaque commande en attente dans la place P2 est traitée de la
même façon que les autres.

Exemple

Nous allons partir d‘un exemple simple de système à modéliser : une


bibliothèque.
Au niveau le plus haut on distingue :

- Les utilisateurs de la bibliothèque (composants actifs de la bibliothèque),


- Les étagères de la bibliothèque (composants passifs).

Sur ce schéma, on modélise un accès direct des utilisateurs aux livres.

Proposer une solution dans laquelle on trouve les utilisateurs, le comptoir, les
employés et les étagères.
Les flèches représentent les flots d‘objets ou d‘informations entre les
composants. Il est bien sur possible de compliquer les choses en intégrant
davantage de données.

Proposer donc une solution en ajoutant des employés de retour et des employés
pour le prêt des livres

Une autre solution en ajoutant des utilisateurs qui emprunte, commande ou


retourne les livres.

On ajoute pour chaque utilisateur un comptoir, et la possibilité de consulter les


fichiers pour les employés
Exemple

Les passagers ne peuvent rentrer dans la cabine que si l‘ascenseur est au 1er et ne
peuvent sortir que si la cabine est au 2ème
L‘ascenseur peut se déplacer entre les étages librement.

Solution

Exemple ascenseur (suite)


Exemple :

Déterminer le modèle RDP pour une file d'attente simple, on dispose pour
cela du cahier de charge suivant: (Les Ci représentent les places et les Ei les
transitions)

Un processeur P ; Des travaux à effectuer Ti

Une file d'entrée F ; Une file de sortie S

P accomplit un travail à la fois jusqu'à son achèvement, puis, si la file F est non
vide il commence à traiter un travail de la file, sinon il reste inoccupé.

Un travail terminé rejoint la file de sortie avant de quitter le système.

Evénements - transitions :

E1: un nouveau travail entre dans le système


E2: un travail commence à s'exécuter
E3: un travail achève de s'exécuter
E4: un travail quitte le système
Conditions - places :

Pour E1 : - aucune condition


Résultat de E1 :
- la file d'entrée contient au moins un travail (C1)

Pour E2 :
- le processeur est inoccupé (C2)
- la file d'entrée contient au moins un travail (C1)
Résultat de E2 :
- un travail est en cours d'exécution (C3)
- la file d'entrée contient un travail en moins

Pour E3 :
- un travail est en cours d'exécution (C3)
Résultat de E3 :
- un travail est dans la file de sortie (C4)
- le processeur est inoccupé (C2)

Pour E4 :
- un travail est dans la file de sortie (C4)
Résultat de E4 :
- la file des sorties contient un travail en moins

Remarque
On peut ajouter un sommet "condition" (C0) avant l'entrée et contenant une
indication du nombre de travaux à traiter (N)

On peut ajouter un sommet "condition" (C5) après la sortie et contenant un


compteur du nombre de travaux déjà traités (au départ 0)

Equation fondamentale ou équation d'état


· Soit S une séquence de franchissement réalisable à partir d'un marquage Mi :
Mi [S > Mk
· Soit S le vecteur caractéristique de la séquence S : c'est un vecteur de
dimension m égale au nombre de transitions dans le réseau. Sa composante
numéro j correspond au nombre de fois où la transition Tj est franchie dans la
séquence S.

Par exemple si S=T2T4T1T4T2T4 alors S=[1, 2, 0, 3]T

Si la séquence de franchissement S est tel que Mi [S > Mk alors l'équation


fondamentale correspondante s'écrit :

Exemple

Soit le réseau de Petri suivant :


Déterminer le nouveau marquage après la séquence de franchissement

suivante :

Sachant que

Le nouveau marquage M est :


Exemple

Soit le réseau de Petri suivant, on demande de déterminer l‘équation


fondamentale pour la séquence T1,T2.

Soit la séquence S= T1T2 donc S =[1, 1, 0, 0]T

Les matrices d‘incidences avant et après W- et W+ , et W sont

L‘équation fondamentale est :

M2= (0,0,1,1,0)t
Donner le nouveau marquage à partir de M0, si la séquence de franchissement
est :

Voici quelques séquences possibles du franchissement de cet exemple RdP.

Calculons maintenant le nouveau marquage induit par le franchissement de la séquence :


t2t3t4t1t3 à partir du marquage Mo = (0,1,1,0,0)t

Ce qui est bien le marquage attendu.

Remarques importantes :

– ATTENTION ! Le vecteur caractéristique ne fait que compter le


nombre d'apparition des transitions. Il ne donne pas, comme la
séquence, l'ordre dans lequel celles-ci ont lieu, par exemple :
T = {T1, T2, T3} peut représenter l‘ordre de franchissement des
transitions, par contre le vecteur V = (1, 2, 1) est le vecteur de
comptage de toutes les séquences de franchissement suivantes :

<T1, T2, T3, T2>, <T3, T1, T2, T2>, <T3, T2, T2, T1>,
<T1, T3, T2, T2>, <T1, T2, T2, T3>, …

– ATTENTION ! L'équation d'état permet de calculer le marquage


atteint après franchissement d'une séquence de transitions. Elle ne
permet pas de dire que la séquence est franchissable !!

La séquence <T1, T2, T3> est franchissable,


Les séquences <T2, T1, T3>, <T3, T2, T1>, <T2, T3, T1> ne le sont pas !

Elles ont pourtant même vecteur de comptage. L'équation d'état donnera donc le
même résultat pour les quatre.

– Le rôle de l'équation d'état est de matérialiser, en termes de jetons,


l'évolution du RdP. Elle représente l'outil qui va permettre de
calculer le résultat du franchissement de transitions. En tant que tel,
elle est nécessaire. Il faut toutefois l'utiliser correctement, en pas à
pas.

L'équation d'état peut signaler un non-franchissement. Une transition est


franchissable s'il y a suffisamment de jetons dans chacune de ses places en
entrée. La matrice d'incidence fournit le nombre de jetons produits par le
déclenchement de chaque transition.

L'équation d'état appliquée à une séquence réduite à une transition fournit le


nombre de jetons qui restent après « exécution » de cette transition.
=> Si ce nombre est négatif, alors la transition n'est pas franchissable.

– L'équation d'état peut également servir à autre chose. Il est possible


de calculer le marquage initial nécessaire pour franchir une
séquence donnée et arriver à un marquage donné. Le travail se fait,
dans ce cas-là, « à l'envers ». M0 = Mf - C . VsT

– Exemple :

Soit le RDP suivant :

Quel marquage initial doit en avoir pour fournir le marquage final


Mf= [2, 5, 1, 4, 0] selon la séquence <T1, T2, T2>

=> Calcul de M2
Solution

– Autre Exemple :

Quel est le marquage initial à prévoir pour avoir le marquage final Mf= [2, 5, 1, 4, 5]
selon la séquence <T1, T2, T2>
Solution


L'équation d'état peut également déterminer le marquage initial minimal pour
franchir une séquence donnée, sans se préoccuper du marquage final.
T
M0 + C . Vs > 0

– Exemple :

Quel marquage initial minimal permettant le franchissement de la séquence <T1, T2, T2>

Solution

=> Calcul des contraintes sur M2


Fin séance

Graphe des marquages


L‘idée la plus naturelle pour représenter le fonctionnement d‘un RdP (ou
d‘un automate) est de construire son graphe des marquages accessibles
(ou graphe d’accessibilité) :

Graphe fini: le RdP est borné et toutes les propriétés du RdP peuvent être
déduites de la lecture du graphe des marquages accessibles

Graphe infini: le RdP est non borné et il faut construire le graphe


de couverture pour déduire certaines propriétés

Exemple

On dispose du réseau de Petri ci-dessous, on cherche à déterminer le graphe de


marquages correspondant à ce réseau.
Exemple

Déterminer le graphe de marquage

Figure 2
Figure 1

On peur aussi représenter ce graphe d‘accessibilité par :

L'évolution temporelle d'un RdP peut être décrite par un graphe de marquage
représentant l'ensemble des marquages accessibles et d'arcs correspondant aux
franchissements des transitions faisant passer d'un marquage à l'autre pour un
marquage initial M0.

Exemples :

Déterminer le graphe de marquage des RDP suivants :

- Exemple 1
- Exemple 2

- Exemple 3
Remarque : cette représentation permet de déterminer certaines propriétés d'un
graphe.
Par exemple si le graphe présente une zone non bouclé, cette partie du marquage
une fois atteinte constitue un arrêt de l'évolution du RdP et celui-ci sera déclaré
avec blocage.

Exemple

Soit le RDP suivant, on demande de déterminer le graphe de marquage:

Le graphe des marquages du réseau de Petri de cette figure est :


Exemple d’évolution des RDP :

Exemple

Figure 3
Figure 4

On utilise le graphe de marquages quand le nombre de marquages accessibles


est fini.

ARBORESCENCE DE COUVERTURE

Un graphe de marquage ne peut plus être construit quand le réseau est non borné
c-à-d quand le nombre de marquages accessibles est infini. D'où le recourt au
graphe dit de couverture. C‘est un graphe à nombre de marquages fini.

Algorithme de construction d’un graphe de couverture

Pas 1 :
A partir du marquage initial M0, il faut indiquer toutes les transitions validées et
les marquages accessibles successeurs correspondants.

Si un des marquages est strictement supérieur à M0, on met la variable "" pour
chacune des composantes supérieures aux composantes de M0.

Pas 2 :
Pour chaque nouveau marquage Mi, on fait soit le pas 2.1 soit le pas 2.2
suivants:
Pas 2.1 :
S‘il existe sur le chemin de M0 jusqu‘à Mi (ce dernier exclut) un marquage Mj =
Mi alors Mi n‘a pas de successeurs.

Pas 2.2 :
Sinon, on prolonge le graphe avec les successeurs Mk (Mi): Une composante
" " de Mi reste une composante " " de Mk . S‘il existe un marquage Mj sur
le chemin de M0 à Mk tel que Mk > Mj, alors on met " " pour chacune des
composantes supérieures aux composantes de Mi.

Remarques
- Le marquage symbolique " " désigne un nombre de jetons dans une place Pi
qui peut atteindre un nombre très grand (l'infinie). Il représente en effet une
infinité de marquages possibles.

- Les opérations sur " " sont

ω va servir à construire le graphe de couverture dans le cas où le graphe des


marquages accessibles est infini : il permet de terminer une branche infinie en
symbolisant le comportement du RdP dans cette zone de fonctionnement

GRAPHE DE COUVERTURE

Soit le RDP suivant :

T1 est une transition source, franchissable un nombre infini de fois. D'où le


recours au graphe de couverture.

A partir du marquage initial Mo =(0), seule la transition T1 est franchissable :


Mo(T1>M1=(1). M1 est supérieur à Mo donc M 1=().

A partir de M1, les deux transitions T1 et T2 sont franchissables :

· Si on franchit T 1 : M2=( +1)=()= M1 donc M2 n'a plus de successeurs.


· Si on franchit T 2 : M3=( -1)=()= M1 donc M3 n'a plus de successeurs.

D'où le graphe de marquage correspondant :

Exemple

Déterminer le graphe de couverture de ce RDP

. M0(T1> M1=(0,1,1)

· M1(T2> M2=(0,0,0) : c'est un blocage

· M1(T3> M3=(1,0,1) ; M3 > M0 donc M3=(1,0,)

· M3(T1> M4=(0,1,)

· M4(T2> M5=(0,0,) : c'est un blocage

· M4(T3> M3=(1,0,) : donc M4 n'a plus de successeurs.

Le graphe de couverture est :


Soit le RDP suivant

Déterminer le graphe de couverture

Exemple

Soit le réseau suivant :

Déterminer l‘arbre de couverture


Construction de Graphe de couverture

Le graphe de converture, noté GC(R, M0), est obtenu de l‘arborescence


de couverture en fusionnant les sommets étiquetés par les mêmes
éléments et en redirigeant les arcs entre les sommets ainsi obtenus.

Début novembre

Exemple
Soit le réseau suivant :

Déterminer l‘arbre de couverture puis le graphe de couverture


Exemple

Enoncé: Donner l'arbre et le graphe de couverture de l'exemple suivant :

suivant :
Conclusion
A partir des graphes de marquage et de couverture, il est possible d'identifier
certaines propriétés de base. Le RdP de l'exemple précédent "Arbre et graphe de
marquage" est ainsi non borné, non-vivant, non ré-initialisable, etc.
Il est possible d'identifier dans le cas des RdP non bornés les places dont le
marquage va croître indéfiniment ou les réseaux dont certaines transitions non
vivantes (qui ne seront jamais franchissables pour un Mo donné).
Ces graphes servent enfin à identifier l'ensemble des marquages admissibles et
les chemins qui permettent de les atteindre.
Ceci est utile dans le cadre de l'analyse des systèmes de production (stock qui
croit indéfiniment, machine peu ou pas utilisée, cheminement des produits, etc.).
PROPRIETES DES RDP

A-Propriétés structurelles

Il existe différentes propriétés de RdP selon un point de vue structurel,


indépendamment des marquages. Cette partie les identifie.

Dans une seconde partie, nous considérons les propriétés dépendantes, c'est à
dire les propriétés qui sont dépendantes du marquage initial Mo.

Conflits et parallélisme

- Structure potentiellement conflictuelle

t1 et t2 sont en conflit structurel potentiel pour le partage des jetons de la place p

- Conflit relatif au marquage Structure potentiellement conflictuelle +


marquage insuffisant

t1 et t2 en conflit pour le partage du jeton : non déterminisme du tir (t1 ou t2)

Sans conflit (structurel) :


Toute place a au plus une transition en aval
Avec conflit :On note
un conflit : <P14,
Sans confit
{T13, T14}>

- Concurrence structurelle: Deux transitions t1 et t2 sont concurrentes structurellement si


elles n‘ont aucune place d‘entrée commune i.e. In(t1)  In(t2) = 

- Concurrence effective: Deux transitions t1 et t2 sont concurrentes effectivement pour un


marquage donnée M ssi elles sont concurrentes structurellement et sont franchissables i.e.
In(t1)  In(t2) = 
et  p  P, M(p) ≥ Pre(p,t1) et M(p) ≥ Pre(p,t2)
- Conflit structurel: Deux transitions t1 et t2 sont en conflit structurel si elles ont au moins
une place d‘entrée en commun i.e. In(t1)  In(t2)  

- Conflit effectif: Deux transitions t1 et t2 sont en conflit effectif pour un marquage M ssi
elles sont en conflit structurel et sont franchissables de façon exclusive i.e.
In(t1)  In(t2)  
 p  P, M(p) ≥ Pre(p,t1) et M(p) ≥ Pre(p,t2) et
 p  P, M(p) < Pre(p,t1) + Pre(p,t2)

Situation de Famine :
« Famine (starvation) : Un processus (une partie du réseau) est en situation de famine s‘il se
voit refuser l‘accès à une ressource pendant un temps indéfini. »

Le modèle des RDP de base n‘impose pas de politique pour résoudre les conflits et
ordonnancer le franchissement des transitions.
Il se peut donc qu‘un processus soit privé, pendant une période indéfinie d‘une
ressource, car la séquence des transitions franchies ne lui permet jamais de consommer cette
ressource.
RESEAUX DE PETRI REMARQUABLES

Convergence, Divergence

Fig 1: Convergence ET Divergence en ET ; Fig 2: Convergence OU Divergence en OU

Graphe d’états
Un RdP est un graphe d‘états si est seulement si toute transition a exactement
une place d‘entrée et une place de sortie.

Différence entre un Réseau de Pétri et un graphe d‘états

Propriété: un réseau de Petri graphe d‘états ne possède ni convergence ni


divergence en ET. Autrement dit, un réseau de Petri graphe d‘états est un réseau
de Petri ordinaire ne possédant que des convergences et/ou des divergences en
OU.

Graphe d’événement: toute place a exactement une transition d‘entrée et une


transition de sortie.

Propriété: Un réseau de Petri graphe d‘événements ne possède ni convergence


ni divergence OU. Autrement dit, un réseau de Petri graphe d‘événements est un
réseau de Petri ordinaire ne possédant que des convergences et/ou des
divergences ET.
Boucle élémentaire, Réseau pur
Dans une boucle élémentaire, une place P est à la fois place d‘entrée et de sortie
d‘une transition.

Réseau pur: C‘est un Réseau de Pétri qui ne contient pas de transition ayant la même place
en Entrée et en Sortie, c‘est à dire sans boucle élémentaire.

Réseaux de Pétri sans conflit

Réseaux de Pétri sans et avec conflits

Réseaux de Pétri avec conflit mais simple

Exemple de conflit
t1 ou t2 et t2 ou t3 ← Dépendance entre les conflits.
Réseaux de Pétri Purs

Un RdP pur est un réseau dans lequel il n‘existe pas de transition ayant une
place d‘entrée qui soit à la fois place de sortie de cette transition.

Figure 1 et 2

Transformation d‘un Réseaux de Pétri impur en son équivalent pur

Transformation de Réseau de Pétri impur

Les réseaux de Petri à arcs inhibiteurs

Un réseau de Petri à arcs inhibiteurs est un doublet <R,F> avec :


R= réseau généralisé, F= ensemble d‘arcs (place,transitions) inhibiteurs de
poids unitaire.
Une transition ti est sensibilisée si et seulement si, en plus des règles habituelles,
il n‘existe aucune marque dans des places d‘entrée reliées à ti par un arc
inhibiteur (places vides). Les marquages obtenus après franchissement de la
transition ti sont identiques au cas des réseaux de Petri généralisés.

Fig 1: RdP à arcs inhibiteurs Fig2: RdP à arcs inhibiteurs


t1 non tirable, t2 tirable t1 tirable, t2 non tirable

B- Propriétés non structurelles

Propriétés dépendantes du marquage

1- Réseau propre (réinitialisable) SSI ∀marquage Mi accessible depuis M0, ∃


une séquence de tirs conduisant à M0.

Etat d’accueil pour M0


Un marquage atteignable Ma est appelé état d‘accueil pour M0 si et seulement si
 Mi M0, il existe une séquence de tir  telle que Mi  Ma.

Un RdP dispose d'un état d'accueil Ma pour un marquage initial Mo si

Réseau réinitialisable pour M0


Si Ma=M0 le réseau de Petri est réinitialisable.

L'ensemble des états d'accueil est appelé espace d'accueil Ea.

Un RdP est réinitialisable (propre) pour un marquage initial Mo si Mo est un


état d'accueil

Intérêt physique de la notion de réinitialisation:


Beaucoup de systèmes ont un fonctionnement répétitif (ou cyclique). Le modèle
réseau de Petri correspondant doit être réinitialisable.
2- Réseau vivant (sans blocage)
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é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.

Un réseau de Petri vivant est sans blocage


∀ ti ∃ une séquence de tirs passant par ti allant de M0 vers Mk

Exemple
Soit le réseau de Petri suivant, étudier l‘évolution :

M0 = 1 1 0 0
M1 = 0 0 1 1
M2 = 0 1 2 0 blocage !
Transition 1 fois vivante pour M0
Une transition t est dite une fois vivante pour M0 si et seulement si elle est
franchissable (tirable) une fois à partir de M0.

Transition k fois vivante pour M0


Une transition t est dite k fois vivante pour M0 si et seulement si elle est
franchissable (tirable) k fois à partir de M0.

Transition infiniment vivante pour M0


Une transition t est dite infiniment vivante pour M0, si et seulement si elle est
franchissable (tirable) Mi  M0

Réseau vivant pour M0


Un réseau de Petri est vivant pour M0 si et seulement si Mi  M0, toute
transition ti est une fois vivante.

Autrement dit un Réseau de Petri est vivant si et seulement si pour toute


transition ti et pour tout marquage Mi  M0 , il existe une séquence de tir 
comprenant ti et tirable à partir de Mi.

Réseau pseudo-vivant pour M0


Un réseau de Petri est pseudo-vivant pour M0 si et seulement Mi  M0, s‘il
existe au moins une transition une fois vivante.
Autrement dit, un réseau de Petri est pseudo-vivant s'il est exempt de blocage et
si au moins une transition est infiniment vivante.

Transition vivante
Une transition Tj est vivante pour un marquage initial Mo, si pour tout marquage
accessible, il existe une séquence de franchissement qui contienne Tj à partir de
ce marquage accessible :
Cela signifie que quelle que soit l'évolution, il subsistera toujours une possibilité
de franchir Tj.

Transition quasi-vivante
Une transition Tj est quasi-vivante pour un marquage initial Mo s‘il existe une
séquence de franchissement qui contienne Tj à partir de Mo :

Interprétation : La vivacité indique que le système représenté est sans blocage,


mais également qu'il n'existe pas de branche morte dans le modèle graphique
donc pas de spécification incomplète.

RdP vivant
un RdP est vivant pour un marquage initial Mo si toutes ses transitions sont
vivantes pour Mo.

RdP quasi-vivant
un RdP est quasi-vivant pour un marquage initial Mo si toutes ses transitions
sont quasi-vivantes pour Mo. un RdP vivant est quasi-vivant.

Intérêt physique de la notion de vivacité:


Dans un réseau de Petri vivant, toute transition est toujours franchissable
(tirable) quel que soit l‘état du réseau donc aucune partie du graphe n'est morte
ou ne devient morte.

3- Réseau bloqué pour M0


Un réseau de Petri est bloqué pour M0 si et seulement s'il existe un marquage
atteignable Ma tel qu'aucune transition est au moins une fois vivante.

En résumé :
 Un réseau de Petri exempt de blocage peut être vivant ou pseudo-vivant.
 Un réseau de Petri qui possède un marquage atteignable bloquant n'est ni
vivant, ni pseudo-vivant.

4- Places et Réseaux de Pétri bornés (pour un marquage initial)

Définition: une place Pi est bornée pour un marquage initial Mo, si pour tout
marquage accessible à partir de Mo, le nombre de jetons dans Pi est fini, soit :
- Un RdP est borné pour un marquage initial Mo, si toutes ses places sont
bornées pour Mo.

• P est bornée pour M0 donnée ssi ∃k ∈ N, ∀M∗ ∈ M0, M∗(P) ≤ k

On dit que P est k-bornée

Figure 2.1
Remarque:
Borné: est une propriété dépendant du marquage initial. Pour un RdP borné, on
dira également que le nombre d'états accessibles à partir de l'état initial est fini,
le graphe d'états équivalent peut donc être construit. Lorsque la borne est égale à
1, le RdP est dit Sauf ou binaire

Réseau borné Si ∀marquage Mi accessible depuis M0, et ∀ pj ∈ P Mi(pj) ≤ MAX.

Exemple

Remarque
Intérêt physique de la notion de bornage: la notion de réseau borné et de places
bornées pour un marquage initial M0 assure au concepteur la ―non explosion‖
des marques dans une ou plusieurs places. Dans le monde de la Productique, une
place non bornée peut correspondre à un stock qui, du fait d‘un fonctionnement
de l‘atelier différent du fonctionnement nominal (cas très fréquent dans la réalité
industrielle), ne cesse d‘augmenter.
Exemple

Enoncé : Soit une machine dont les états sont soit en marche soit en arrêt (son
état initial). Proposez un RdP qui compte le nombre de passage de cet état dans
la valeur marche. Est-il borné ?

Réponse :

La place P3 n'est pas bornée. En effet on note l'accroissement infini du nombre


de jeton dans P3.

• Un Réseau de Pétri est dit borné ssi toutes les places sont bornées

5- RdP à capacités

Un RdP à capacités est un RdP dans lequel des capacités (nombres entiers
strictement positifs) sont associées aux places. Le franchissement d‘une
transition d‘entrée d‘une place Pi dont la capacité est cap(Pi) n‘est possible que
si le franchissement ne conduit pas à un nombre de jetons dans Pi qui est plus
grand que Cap(Pi).
Le franchissement de T1 conduit à 2 jetons dans P2 d'où T1 ne peut plus être
franchie.

6- RdP sauf (ou binaire)


un RdP est sauf (ou binaire) pour un marquage initial Mo, si pour marquage
accessible, chaque place contient au plus un jeton.

Enoncé : Dans le réseau suivant, indiquer la vivacité de T1 et T2.

Réponse : La transition T1 est quasi-vivante, non vivante et T2 est vivante, et


donc quasi-vivante.
Dès que le jeton arrive en P2, il lui est impossible de remonter en P1.

Remarque
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.
RDP non vivant

Exemples Les transitions T2 et T3 du RdP marqué de la figure précédente


gauche ne sont pas vivantes. Les transitions T1 et T2 du RdP à droite sont
vivantes.

Blocage (ou état puits)


Un blocage (ou état puits) est un marquage M où aucune transition est
franchissable.

RdP sans blocage


un RdP est sans blocage pour un marquage initial Mo si aucun marquage
accessible Mi ∈ *Mo n'est un blocage.

Exemple

Pour ce marquage T1 , T2 sont elles vivantes et existe-t-il un blocage

Les transitions T1 et T2 sont vivantes et le RdP marqué est sans blocage.

,
La transition T2 n‘est plus vivante et le marquage

Exercice : Déterminer les propriétés du RdP suivant, bornitude, blocage,


vivacité.

Solution : Cet RdP est borné (Sauf), avec blocage, donc il est non vivant et non
propre. Cependant il est quasi- vivant.

Type de structure Ce que l'on peut trouver... Ce que l'on ne trouvera pas...

Graphe d'état :
Toute transition a une place en
amont et une place en aval

Graphe d'événement :
Toute place a une transition en
amont et une transition en aval

Sans conflit (structurel) :


Toute place a au plus une transition
en aval
On note un conflit :
<P14, {T13, T14}>
Exercices

Enoncé : Identifier les propriétés structurelles et dépendantes des deux RdP


suivants :

Solution

Propriétés RdP #1 RdP #2

Conflit structurel Non Oui <P4,{T4,T5}>

Conflit effectif Non Oui <P4,{t4,T5},M0>

Graphe d'événement Non (P2) Non (P6,P5)

Graphe d'état Oui Oui

Sauf Oui Oui

Vivant Non (T1) Non (T4,T5)

Quasi - vivant

Blocage

Ré-initialisable

Propriétés RdP #1 RdP #2

Conflit structurel Non Oui <P4,{T4,T5}>

Conflit effectif Non Oui <P4,{t4,T5},M0>

Graphe d'événement Non (P2) Non (P6,P5)

Graphe d'état Oui Oui


Sauf Oui Oui

Vivant Non (T1) Non (T4,T5)

Quasi - vivant Oui Oui

Blocage Non Oui (P5)

Ré-initialisable Non Non

Exemple
Problèmes pratiques
Les protocoles de franchissement et les conditions de franchissabilité
décrites précédemment ne prennent pas en compte la notion de temps. En effet,
on fait évoluer le marquage d'un RdP sans prendre en compte ni la chronologie
ni la durée des événements. Il est donc indispensable, pour l‘application, de fixer
un certain nombre de règles qui vont être décrites plus loin. Ces règles sont
issues des contraintes temporelles imposées par les systèmes physiques. Elles
sont issues des deux considérations suivantes :
- Tout événement a une durée non nulle.
- Deux événements indépendants ne peuvent être simultanés.
L‘évolution du marquage dans un RdP, peut alors dépendre du temps de séjour
dans une place ou du temps de franchissement d‘une transition donnés.

Règles complémentaires
Les règles suivantes sont issues des remarques précédemment faites,
regardant l‘aspect temporel. Les propositions essentielles concernant ces points
sont abordées ici, laissant délibérément de côté les définitions plus spécifiques
qui seraient utiles pour des applications bien particulières.

Occurrences externes
La possibilité est offerte de conditionner le franchissement d'une transition à un
événement externe (occurrence). Le nom de l'occurrence est alors spécifié en
regard de la transition considérée. Il est alors nécessaire de proposer un
chronogramme sur lequel figurent toutes les occurrences en fonction du temps

Deux occurrences externes sont attachées aux deux transitions du réseau de la


figure suivante. Le chronogramme associé fournit d‘une part la définition des
deux occurrences et d‘autre part, le suivi du marquage des deux places qui
s‘ensuit, selon ces deux occurrences e1 et e2.
Temporisations

Il est également possible d'adjoindre une temporisation à une place, une


transition ou un arc du RdP.
Ainsi les marques sont maintenues dans une place pendant un certain temps t
avant tout franchissement de transition amont. On parle de RdP P-temporisé, T-
temporisé, Arc-temporisé. Il faut noter que tout RdP T-temporisé peut se
traduire en RdP P-temporisé et réciproquement. Ces réseaux de Petri nécessitent
la définition d‘une unité d‘horloge.
La temporisation est indiquée en regard de l'élément temporisé.
Conventionnellement, on ne peut pas trouver, au sein du même RdP, des places
et des transitions temporisées.
Ainsi les temporisations permettent de rendre les modèles effectivement
compatibles avec la réalité physique. Ce concept temporel est alors vu comme
une couche complémentaire aux modèles initiaux.
Paradoxalement peut-être, la notion d‘ordre mathématique, de chronologie, ne
nécessitent pas a priori de définition d‘horloge temporelle. Le temps devient
alors un attribut complémentaire qui n‘interfère pas nécessairement sur
l‘évolution des marquages.

RdP P-temporisé
Soit le RdP P-temporisé de la figure suivante. Ce réseau a été choisi
suffisamment simple pour fournir un exemple clair mais cependant significatif.
Les places P1, P2, P3 sont respectivement temporisées à 2, 3 et 1 unités de
temps, comme il est indiqué sur le modèle.
Au début de la séquence, le jeton situé dans la place P3 y séjourne 1 unité de
temps. T2 est franchie, distribuant un jeton dans chacune des places P1 et P2.
Deux unités de temps plus tard, le jeton de P1 est disponible, mais ne peut
franchir la transition T1 avant que le jeton de P2 soit disponible à son tour. T1
est alors franchie et l‘on retrouve la situation initiale.
L‘ordre des marquages est ici rigoureusement le même que celui qui serait
obtenu sans temporisation.
Cependant, une différence de comportement apparaît si l‘état de disponibilité
des jetons est considéré ici, les jetons des places P1 et P2 ne sont pas tout le
temps disponibles : le jeton de P1 est rendu disponible avant le jeton de P2.
Ainsi, si ce réseau est intégré dans un modèle plus important, les comportements
globaux peuvent différer (figure suivante).

Dans l‘exemple précédent, le jeton qui apparaît dans la place P1 est capté par la
transition T3 deux unités de temps après son arrivée dans cette place. Dans ce
même réseau qui serait démuni de toute temporisation, la situation serait
conflictuelle (ainsi que cela va être présenté plus loin), et le marquage pourrait
alors prendre deux évolutions différentes en fonction de la levée proposée pour
ce conflit.

RdP T-temporisé
De manière similaire, voici un RdP T-temporisé permettant de présenter le
principe de cette structure. Le réseau a été choisi suffisamment simple pour
fournir un exemple clair mais cependant significatif
Au début de la séquence, la transition T1 n‘est pas validée (pas de jeton dans
P1). La transition T2 est validée, mais temporisée à 3 unités. Lorsque les trois
unités sont écoulées, T2 est franchie et restitue immédiatement le jeton à la place
P2, tout en donnant un jeton à la place P1. Les transitions T1 et T2 sont alors
validées, mais cette fois, T1 est prioritaire puisque sa temporisation n‘est que de
2 unités de temps. T1 est alors franchie, fournissant un jeton à la place P3, jeton
qui y séjourne une unité de temps. T3 est alors franchie et fournit un jeton en P2.
Le cycle recommence.

Le même réseau non temporisé serait maintenant conflictuel, la place P2


comportant deux arcs de sortie.
Le comportement serait alors peu intéressant: T2 pourrait être systématiquement
validée au détriment de T1, générant ainsi un nombre sans cesse croissant de
jetons en P1.
Diverses solutions sont maintenant abordées pour s‘affranchir de ce type de
problème conflictuel. D‘ores et déjà, la temporisation peut être une première
solution.

RdP sans conflit


Un RdP dans lequel toute place a au plus une transition de sortie. Un conflit (ou
conflit structurel) correspond à l‘existence d‘une place P1 qui a au moins deux
transitions de sortie T1, T2,…On notera <P1, {T1, T2,….}>

RdP à choix libre


Un RdP à choix libre est un RdP dans lequel pour tout conflit <P1, {T1,
T2,….}> aucune des transitions T1, T2,…ne possède une autre place d‘entrée
que P1.
RdP simple
C‘est un RdP dans lequel chaque transition ne peut être concernée que par un
conflit au plus. S‘il existe une transition T1 et deux conflits <P1, {T1, T2,…}>
et <P2, {T1, T3,…}>, alors le RdP n‘est pas simple.

Remarque :
- L‘ensemble des RdP simples inclut l‘ensemble des RdP à choix libre, qui
inclut l‘ensemble des RdP sans conflit, qui inclut lui-même l‘ensemble des
graphes d‘événements
- L‘ensemble des graphes d‘états est inclus dans l‘ensemble des RdP à choix
libre.

RdP pur
C‘est un RdP dans lequel il n‘existe pas de transition ayant une place d‘entrée
qui soit également place de sortie de cette transition.

RdP sans boucle


Un RdP sans boucle est tel qu‘il existe une transition Tj et une place Pi qui est à
la fois place d‘entrée et place de sortie de Tj, alors Tj à au moins une autre place
d‘entrée.

Bornitude du réseau
Un RdP est dit borné si le nombre de marques de toutes ses places a une limite
finie. Ceci confirme par exemple qu'il n'y a pas accroissement pléthorique du
nombre de pièces dans un stock. Cette étude est abordée lors de la détermination
du P-invariant ou invariant lié aux places
K- borné: Un RdP est k-borné si le marquage de chaque place est toujours
inférieur ou égal à k, quelle que soit la séquence de franchissement réalisée.

Vivacité du réseau
A partir du marquage initial, qui modélise l'état initial d'un processus, il doit être
observé que toutes les transitions du réseau sont toujours franchissables, quelle
que soit l'évolution du système. Si tel n'est pas le cas, cela signifie qu'un sous-
ensemble du modèle proposé est inaccessible au marquage à partir d'un certain
point d'évolution du système, donc non vivant. Dans la majeure partie des cas, il
est alors estimé que le modèle a été mal conçu, puisqu'il devient en partie inutile
à partir d'un certain stade. Seule une réinitialisation de ce système permet alors
d'alimenter éventuellement ce sous-RdP. Tout concepteur de réseau aura à cœur
d‘en assurer la vivacité.
Vivant: Un RdP est vivant si pour toute transition et pour tout marquage
accessible, il existe une séquence de franchissement permettant de franchir cette
transition.
N.B. Un RP vivant ne peut pas se retrouvé en situation d‘interblocage.
Exclusion mutuelle
Les systèmes physiques présentent souvent une exclusion mutuelle des
situations (position marche/arrêt) ou une exclusion de l‘existence ou la non
existence d‘un objet sur un site. Ce principe de l‘exclusion mutuelle se traduit
dans le modèle réseau de Petri par la présence exclusive d‘un jeton dans une
place au détriment d‘une ou de plusieurs autres places. Ainsi, le modèle peut
gérer à l‘aide d‘un jeton, la disponibilité d‘une ressource (machine, robot,
stock). Un jeton peut également gérer le partage d‘une ressource (jeton tournant
dans le modèle).

Réinitialisation
La réinitialisation est le fait de s'assurer que le système est apte à retrouver son
état initial. Cette caractéristique est très souvent essentielle, puisqu'elle garantit
la possibilité de retour aux conditions initiales d'un équipement, quelle que soit
l'évolution de l'état de celui-ci. Au niveau du modèle qui représente ce système,
ce problème est abordé grâce à l'étude des T-invariants ou invariants de
transitions.
Les réseaux de Petri, appuyés sur une solide théorie mathématique, permettent
de vérifier de nombreuses propriétés fortes utiles. Je fais grâce des notations
mathématiques, elles se retrouvent facilement.
Le caractère k-borne (on dit binaire ou sauf, lorsque k = 1) : il permet d‘assurer
que jamais le marquage ne dépassera la valeur k (la décidabilité de cette
propriété est une conséquence du lemme de Karp et Miller) ;

Remarque :
- Un réseau de Petri binaire (conçu pour être binaire, ce qui arrive lorsqu‘on
simule des variables booléennes) présente un critère supplémentaire de
cohérence : si une place acquière plus d‘un jeton, le réseau est mal conçu.

La conclusion sur le bornage du réseau, le bornage d‘une place est toujours


possible par la présence ou absence de w.

 Si le réseau est borné (absence de w) et qu‘il n‘existe pas de blocage:


- La conclusion de pseudo-vivacité est toujours vraie,
-Les conclusions sur la vivacité et la réinitialisation sont possibles si
l‘arbre de Karp et Miller est fortement connexe.
 Si le réseau est borné (absence de w) ou non borné (présence de w) et qu‘il
existe au moins un blocage, le réseau est ni vivant, ni pseudo-vivant, ni
réinitialisable.
 Si le réseau est non borné (présence de w) et qu‘il n‘existe pas de blocage, il
n‘y a pas de conclusions possibles sur la pseudo-vivacité, la vivacité et la
réinitialisation.
Analyse et validation

Système physique  représenté par les spécifications du cahier des charges.


Le modèle RDP, qui doit être le plus fidèle possible, représente le comportement
du système.

L‘analyse du modèle sert à extraire les propriétés de ce dernier:


 Graphiquement, sur le graphe des marquages accessibles,
 Analytiquement, à partir des invariants de places et de transitions.

La phase de validation sert à vérifier la conformité des propriétés du modèle


avec les spécifications du cahier des charges.

L‘intérêt de la validation est qu‘elle permet de détecter les erreurs de


modélisation, les problèmes de spécification.

1-Validation graphique  analyse du graphe des marquages accessibles.

INCONVENIENTS :
• dépend du marquage initial,
• difficile à réaliser quand le graphe des marquages accessibles est de grande
taille.

2- Validation Analytique, à partir des invariants de places et de transitions

Les méthodes d’analyse des RdP peuvent être classées en trois groupes:
- Méthode d‘arbre de couverture

- Approche d‘équations matricielles

- Technique de réduction et de décomposition


Approche d’équations matricielles

Introduction
Les techniques d‘analyse présentées ici se basent sur l‘équation fondamentale
du franchissement que nous avons vue au début de ce cours. 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.

Notion sur Les invariants


A partir d‘un marquage initial, le marquage d‘un RdP évolue par
franchissements de transitions. En l‘absence de blocage, le nombre de
franchissements de transitions et le nombre de marquages effectivement
réalisées sont illimitées. Il est donc difficile d‘étudier les séquences de transition
et les marquages accessibles simplement par exemple en entreprenant une
énumération.
On est donc amener à définir des invariants caractérisant certaines propriétés des
séquences de transitions et des marquages accessibles quelque soit l‘évolution.

- Les T-invariants et P-invariants

Soit un marquage initial Mi et un marquage final Mf issu de Mi après


déroulement d'une séquence de franchissement de transitions S. Ceci s‘écrit par
convention :
Par définitions, S est un T-invariant si et seulement si :

Il existe des modèles avancés de réseaux de Petri permettant d‘étendre leur


expressivité.

Techniques algébriques

Pour l‘analyse des réseaux de Petri, il est utile de préciser que l‘équation d‘état
x = x0 + vW déterminée au paravent peut être exploitée pour résoudre des
problèmes d‘accessibilité et de conservation, notamment. Elle constitue une
alternative algébrique à la méthode graphique basée sur l‘arbre de recouvrement,
et elle peut s‘avérer très puissante pour identifier des propriétés structurelles qui
dépendent principalement de la topologie du graphe du réseau de Petri traduite
par la matrice d‘incidence W.
Par exemple, en ce qui concerne l‘accessibilité, si l‘on regarde l‘équation d‘état
x0 = x + vW, on peut voir qu‘une condition nécessaire pour que l‘état x soit
accessible depuis l‘état initial x0 est que l‘équation vW = x − x0 possède un
vecteur v solution dont toutes les coordonnées sont des entiers naturels. Ce
vecteur est le vecteur caractéristique déjà évoqué avant, dont les coordonnées
précisent le nombre de fois que chaque transition est franchie pour « tenter »
d‘atteindre l‘état x depuis l‘état x0.

L‘équation d‘état x0 = x + vW peut également être exploitée pour obtenir des


informations liées aux propriétés de conservation. Soit W la matrice d‘incidence
d‘un réseau de Petri. S‘il existe un vecteur non nul l = [l1, . . . , ln] L ∈ Nn tel que
W l = 0, alors on peut écrire :

Étant donné que cette dernière égalité est vraie pour tout état x accessible depuis
x0, cela signifie que le réseau de Petri est conservatif par rapport au vecteur de
pondération γ = lT.

Composante conservative
Chaque p-invariant minimal donne lieu à un invariant de marquage. Cette
relation s‘interprète par rapport au système physique comme la
conservation d‘une quantité (nombre de ressources, …).

On appel un invariant de place linéaire s'il existe une pondération sur le


marquage des places telle que :

Exemple 1

Machine de capacité unitaire

Invariants de places : le jeton est soit dans p1, soit dans p2, ce qui permet
d‘écrire M(p1) + M(p2) = 1. Ce qui veut dire que la machine est soit libre soit
occupée.
Composantes conservatives, invariants de places On cherche des propriétés
indépendantes du marquage initial, donc découlant directement de la structure
du réseau. Un invariant linéaire de places est une fonction linéaire du marquage
des places, ne dépendant pas du marquage initial du réseau et dont la valeur est
une constante. Il correspond à une contrainte sur les états du système qui sera
toujours vérifiée, quelles que soient ses évolutions.

Propriétés locales: chaque p-invariant minimal donne lieu à un invariant de


marquage. Cette relation s‘interprète par rapport au système physique comme la
conservation d‘une quantité (nombre de ressources, …).

Propriétés globales : finitude (bornitude), S‘il est possible de former à partir de


p-invariants minimaux une combinaison linéaire comprenant toutes les places du
réseau alors le réseau est borné. En d‘autres termes, il suffit que chaque place du
réseau apparaisse au moins une fois dans au moins l‘un des p-invariants
minimaux.

Invariants de transitions : après chargement de la machine (en vue du


traitement d‘une pièce selon la figure précédente), il y aura un déchargement 
une séquence répétitive est : t1t2.

Un invariant de transition est une séquence de franchissements de transitions qui


ne modifie pas le marquage du réseau. Un tel invariant correspond à une
séquence cyclique d‘événements qui peut être répétée indéfiniment.

La composante répétitive stationnaire ne dépend pas du marquage initial, par


contre l‘existence ou non d‘un invariant de transition correspondant en dépend
fortement.

Exemple 2

Lorsqu‘on considère l‘exemple des 4 saisons, modélisé par le RdP représenté sur
la figure suivante, on peut noter que la somme du nombre de marques présentes
dans le RdP à un instant donné est toujours égal à un (conservation du nombre
de marques): M(P1) + M(P2) + M(P3) + M(P4) = 1.
Cette égalité exprime qu‘on ne peut avoir qu‘une saison à la fois. D‘autre part,
elle implique que ∀i ∈ {1, 2, 3, 4}, M(Pi) ≤ 1. Le RdP est donc sauf.

Sur l‘exemple ci‐contre, on voit bien que, quelle que soit l‘évolution, il y aura
toujours une et une seule marque pour l‘ensemble des 4 places. Donc, à tout
instant, on a m1 + m2 + m3 + m4 = 1. Cet invariant a une signification
évidente : à tout instant, on est dans une et une seule saison

- Dans l‘exemple de l‘atelier de coupe simplifie présenté sur la figure 3.1


suivante, on a :

M(P2) est le nombre de commandes en attente, M(P3) le nombre de commande


traitée par la machine de coupe et M(P4) celui qui ont été traitées et stockées. Le
premier invariant indique donc que le nombre total de commandes dans l‘atelier
quelque soit sa forme reste constant.

M(P1) vaut 1 si la machine de coupe est disponible et M(P3) vaut 1 si la


machine de coupe traite une commande. Cet invariant indique donc que soit la
machine de coupe est disponible, soit elle traite une commande. On peut
interpréter cela comme une capacité limitée au niveau de la place P3 : elle ne
peut contenir qu‘une marque au maximum.
Les invariants de places

Il est possible d‘obtenir des informations pertinentes sur le réseau étudié :


(Réseau borné, pas de blocage, exclusion mutuelle et même dans certains cas la
vivacité) - par des techniques structurelles, c‘est à dire indépendant du graphe
des marquages accessibles.

En effet, soit X ∈ ZP un vecteur entier sur les places. Si W(t) désigne la teme
colonne de la matrice d‘incidence W, alors l‘équation de changement d‘état peut
s‘écrire :

Si maintenant tX.W(t) = 0 alors il vient tX.M′ = tX.M, et en particulier, tX.M′ =


t
X.M0 c‘est à dire que la somme des marques contenues dans l‘ensemble des
places défini par Supp(X) reste constante moyennant une pondération après le
franchissement de la transition t :

Les solutions entières X de l‘équation tX.W = 0 seront donc des invariants du


réseau. L‘intérêt de tels invariants est de permettre une analyse structurelle du
modèle étudié c‘est à dire sans développer tout ou partie du graphe des
marquages accessibles dont la taille devient rapidement gigantesque dès que l‘on
modélise un système un peu complexe.

Définition Soit W la matrice d‘incidence d‘un réseau de Petri. Alors toute


solution non nulle de l‘équation tX.W = 0 définit un invariant linéaire du réseau.
Si cette solution est à composante positive, on parle de semi-flot, dans le cas
contraire on parle de flot.

Autre définition

Soit un vecteur colonne Q = [q1 q2.. qn]' où qi, positif ou nul, correspond à la
pondération du marquage de Pi (le marquage mi est donné par M). Q est un P-
invariant ⇔ Q'.W=[0].

Si Q est un P-invariant, alors Q'.M = Q'.Mo = constante pour tout M accessible


(∈ *Mo).

À partir d‘un marquage initial, le marquage d‘un RdP peut évoluer par
franchissement de transitions, et, s‘il n‘y a pas de blocage, le nombre de
franchissements de transition est illimité.
Néanmoins, on ne pourra pas atteindre n‘importe quel marquage et on ne pourra
pas franchir n‘importe quelle séquence de transitions. Des INVARIANTS
permettent de caractériser certaines propriétés des marquages accessibles et des
transitions franchissables, quelle que soit l‘évolution.

INVARIANTS : COMPOSANTE CONSERVATIVE

Soit un Réseau de Petri R et P l‘ensemble de ses places. Le RdP R aura un


invariant de places s‘il existe un sous‐ensemble de places P‘ = {P1,P2, …,
Pr} inclus dans P et un vecteur de pondération (q1,q2, …, qr) dont tous les
poids qi sont des nombres entiers positifs tels que :

L‘ensemble de places P‘ est une composante conservative.


Le RdP R est dit conservatif si et seulement si P est une composante
conservative.
La propriété d‘être composante conservative est indépendante du marquage
initial (c‘est une propriété du RdP non marqué). En revanche, la constante de
l‘invariant dépend du marquage initial

Exemple
A partir des relations précédentes, déterminer les composantes conservatives et
les invariants linéaires de places

Solution
Enoncé : Donner W de l'exemple suivant. Trouver un P-invariant à partir des
équations linéaires.

Matrices d'incidence
P-invariant : En formant Q'.W = 0, on obtient 5 équations. Les trois premières
sont liées (C1+C2+C3=0), les deux dernières également (C4+C5=0). En
supprimant C3 et C5, il reste alors 3 équations où q1 = q2 = q3 = q4.
Un P-invariant est : Q = [1 1 1 1]'. ||Q|| = {P1, P2, P3, P4}.
Typiquement, le RdP de l'image de cet exemple peut modéliser les changements
d'états d'une machine sous la forme d'un graphe d'état : P1 = en attente, P2 = en
production, P3 = en déchargement, P4 = en panne. Le P-invariant décrit le fait
que cette machine est dans un état et un seul à chaque moment.

Exemple introductif
En reprenant le RdP de la partie précédente, on constate que la séquence de
franchissement T1T2 réinitialise le réseau. On appelle cette propriété un invariant
de franchissement.

Exemple

Soit le RDP suivant, on demande de déterminer les P-invariants

Solution
Exemple

Soit le réseau suivant, on demande de déterminer les P-invariants


Remarque

Définition Le support d‘un p-invariant X, noté est l‘ensemble des places


du réseau correspondant aux composants différents de 0 de X.
On parle également de composante conservative, c‘est un sous ensemble I ⊆ P,
tel qu‘il existe un p-invariant X du réseau considéré avec . Il est à
noter que deux p-invariants peuvent être associés à la même composante
conservative.

Soit le réseau R3

{p1, p2, p3} et {p1, p2} sont des exemples de composantes conservatives.

Définition

Le support d‘un p-invariant X est minimal si et seulement si il n‘existe pas


de p-invariant X0 tel que :

Une composante conservative est minimale si elle ne contient aucune


composante conservative.
Pour le réseau R3, on a x1 = x2 + x3. {p1, p2} est une composante conservative
minimale. Ce n‘est pas le cas de {p1, p2, p3}.

Un p-invariant X est minimal si et seulement si il n‘existe pas de p-invariant


X0 tel que X0 ≤ X et X0 différent de X.

Exemple

Soit le réseau suivant :

Déterminer les P-invariants minimaux:

Solution
On conçoit qu'un RdP puisse avoir plusieurs P-invariants, d'où:
Tout P-invariant est une combinaison linéaire de P-invariants minimaux

Exemple

Soit le réseau suivant

Quel est le P-invariant

La matrice d‘incidence est

Propriétés

-Si un RdP possède un p-invariant alors une combinaison linéaire des nombres
de marques dans ses places est constante.
- Si un RdP possède un p-invariant dont toutes les composantes sont strictement
positives alors il est borné.
- Si un RdP possède un p-invariant dont toutes les composantes sont égales à 1,
alors le nombre de marques dans ce réseau est constant.
Théorème : un RdP est répétitif si et seulement si:

Il est partiellement répétitif si le vecteur y contient des éléments égaux à zéro.


Théorème : un RdP est conservatif si et seulement si :

Théorème : un RdP est structurellement borné si et seulement si :

Remarque

On considère le réseau RDP (R3) de la figure précédente, Soit x un vecteur


colonne

X est un de ces p-invariants. Soit le réseau marqué N3 = < R3; M0> avec :

Le support d‘un p-invariant X, est l‘ensemble des places du réseau


correspondant aux composants différents de 0 de X.

Pour cet exemple du réseau R3


Remarque sur le P-invariant

Si X’* W(t) = 0 alors il vient que X’*M0 = X’ *M


C‘est à dire que la somme des marques contenues dans l‘ensemble des places
reste constante moyennant une pondération après le franchissement de t.
Les solutions entières X de l‘équation X’ * W = 0 seront donc les
invariants du réseau, aussi appelé flots.
Lorsque tous les coefficients d‘un flot sont positifs, ce flot est appelé
semi-flot

T-invariant
Définition

T-invariant
Soit S est un vecteur caractéristique d'une séquence de
franchissement σ possible. S est un T-invariant ⇔ W.S = [0].

Ce sont des Composantes répétitives (invariant de transitions)


C‘est une séquence cyclique d‘événement qui peut être répéter indéfiniment. On
appelle aussi séquence répétitive stationnaire
Propriété

Si S est un T-invariant, alors le marquage M résultant d'une séquence


correspondant à S est tel que M = Mo, Mo marquage initial.

Exemple : machine de capacité unitaire


Soit le RDP suivant, on demande les T-invariants

Solution

Il y a un seul t-invariant :

Deux séquences de tir sont associées à cet unique t-invariant: t1t2 et t2t1, mais à
partir de M0 seule t1t2 est réalisable (franchissable).

Enoncé : Trouver un T-invariant à partir des équations linéaires pour le réseau


suivant :
RdP

Réponse:

T-invariant : En formant W.S = 0, on obtient 4 équations. Ces équations sont


liées : L1 + L2 + L4 +L3 =0. En supprimant L2, il reste 3 équations soit : s1 = s2 =
s3 et s4 = s5. On identifie deux T-invariants (minimaux) :
S1 = [1 1 1 0 0]', ||S1|| ={T1, T2, T3},
S2 = [0 0 0 1 1]', ||S2|| = {T4, T5}. On peut en déduire d'autres T-invariants par
application linéaire : aS1+bS2 (sous réserve de franchissement possible). Du
schéma de cet exemple on identifie ainsi un cycle de production nominal et un
cycle de production en mode dégradé.

Exemples
Soient à nouveau les deux modèles des figures 1.1 et 1.2 : où les poids sont
indiqués en regard des arcs lorsqu‘ils ne sont pas égaux à 1.

Déterminer Les T-invariants :

La matrice d‘incidence de ce premier réseau est :

Ces réseaux sont caractérisés en dénombrant leurs invariants. Cette


caractérisation implique un certain nombre de propriétés permettant l‘évaluation
et la validation du modèle sans aucune simulation par ailleurs.

Les T-invariants :
- Pour le RdP de la figure 1.1 :
Le vecteur Sa1 =(1,1) répond au problème car Wa*Sa1 = 0. Ceci signifie que le
tir successif de T1, puis T2 (séquence <S1,S2)>, replace le système dans sa
configuration initiale.

D'autre part, DimKerWD = 1, ce qui signifie que tous les T-invariants de ce


système s'écrivent S = λSa1 où λ est un nombre entier positif. Il faut cependant
noter que l‘ordre des franchissements des deux transitions n‘est pas géré par
cette étude. C‘est seulement le marquage initial du réseau qui détermine les
diverses possibilités de franchissement. Ainsi, pour cet exemple, l‘ordre de tir
T2 puis T1 (séquence <S2,S1)>) n‘est pas possible à partir du marquage
proposé alors que cette séquence est représentée par le même vecteur de
franchissement .

- Pour le RdP de la figure 1.2 , La matrice d‘incidence est ;

Le vecteur Sb1 = (1,1,1,1) répond au problème car Wb*Sb1 = 0.


Ceci signifie que le tir successif de T1, T3, T2 puis T4 replace le système dans
sa configuration initiale. D'autre part, la dimension du noyau à droite
DimKerWD = 1, ce qui signifie que tous les T-invariants de ce système
s'écrivent S = λSb1 où λ est un nombre entier positif.

Cette fois, le tir des transitions T2 et T4 peut se faire selon les deux ordres.
Ainsi, deux séquences répondant au vecteur Sb1 sont possibles : S =<
T1T3T2T4>, S = < T1T3T4T2>.

Remarque

Pour Les P-invariants


- Pour le RdP de la figure 1.1 :

Les pondérations Pa1T =(0,1,2) et Pa2T =(2,1,0) répondent au problème, en


effet :
Pa1T * Wa= 0, et Pa2T * Wa = 0 . Les deux vecteurs Pa1T et Pa2T forment une base
de KerW à gauche, dont la dimension DimKerWG = 2. Ceci signifie que tout P-
invariant de ce RdP s'exprime comme une combinaison linéaire des deux
précédents vecteurs libres. Il reste alors à exprimer l'invariance de marquage

sous la forme de deux expressions (voir expression suivante :

m1, m 2 , m3 sont les marquages des places P1 ,P2, P3 et K1, K2 sont des
constantes dépendantes du marquage initial.
D‘après le marquage initial proposé, ces constantes sont égales à 2.

Exemple

Soit Le RDP suivant

Déterminer les T-invariants de ce réseau

La matrice d‘incidence est :

Les composantes du vecteur X qui vérifient C.X=0


Exemple

Soit les RDP suivants :

Etudier les P et T invariants

Figure 1 Figure 2

Exemple

Soit le RDP suivant, déterminer les T-invariants:

La matrice d‘incidence est :

Le produit C* X‘ a la forme :
s1 = (t1 ; t2 ; t3) et s2 = (t4 ; t5 ; t6) sont deux invariants de transitions pour le réseau marqué
de la figure précédente.

Propriétés

- Propriété 1 (Bornitude) :
Le RdP est structurellement borné si et seulement si
- Propriété 2 (vivacité)
Il n‘existe pas de marquage M0 tel que le réseau de Petri < R;M0 > soit vivant si

Tous les éléments de fTC sont négatifs ou nuls avec au moins un qui est
strictement négatif).
- Soit R un RdP : R est conservatif SSI il existe un P-semi-flot f tel que ||f|| = P
(On dit autrement, il existe un vecteur non nul « f » de N P qui vérifie f T C = 0.).
- R est consistant SSI il existe un T-semi-flot v tel que ||v|| =T (on dit autrement,
il existe un vecteur non nul « v » de N T qui vérifie C. v = 0 )
- R est répétitif SSI il existe un vecteur non nul « v » de N T qui vérifie C. v ≥ 0 .

Si R est conservatif alors R est structurellement borné.


Si R est consistant alors R est répétitif.

Remarque : Liens entre les propriétés structurelles et comportementales

◊ Si R est borné et vivant alors R est consistant.


◊ Si R est structurellement borné et structurellement vivant alors il est consistant
et conservatif.
◊ Si R est vivant alors il est répétitif. Si de plus il possède des états d‘accueil
alors il est consistant.
Remarque

On rappelle que la modélisation par les RDP se résume ainsi:

Abréviations et extensions :
Abréviations : Des représentations simplifiées utiles pour alléger le graphisme
mais auxquelles on peut toujours faire correspondre un RdP ordinaire (c.-à-d. un
RdP autonome marqué fonctionnant selon les règles prédéfinies).

Extensions : Des modèles auxquels des règles de fonctionnement ont été


ajoutées afin d‘enrichir le modèle initial pour aborder un plus grand nombre
d‘applications.

Remarque : Toutes les propriétés des RdP ordinaires se conservent pour les
abréviations moyennant quelques adaptations, tandis que ces propriétés ne se
conservent pas toutes pour les extensions.

a. RdP généralisé
Un RdP dans lequel des poids (nombres entiers strictement positifs) sont
associés aux arcs.

L‘arc Pi Tj a un poids p


La transition Tj ne sera validée que si Pi contient au moins p jetons.
Lors du franchissement de cette transition, p jetons seront retirés de la place Pi.
Lorsqu‘un arc Tj Pi a un poids p cela signifie que lors du franchissement de
Tj, p jetons seront ajoutés à la place Pi.

b. RdP à capacité
Un RdP dans lequel des capacités (nombres entiers strictement positifs) sont
associés aux places. Le franchissement d‘une transition d‘entrée d‘une place Pi
dont la capacité est cap(Pi) n‘est possible que si le franchissement ne conduit
pas à un nombre de jetons dans Pi qui dépasse cette capacité.

Note : Tout RdP à capacité peut être transformé en un RdP ordinaire.

c. RdP coloré
Un RdP coloré comporte des jetons auxquelles on attribue des couleurs
(possibilité de représenter des processus parallèles)

d. RdP à arcs inhibiteurs


Un arc inhibiteur est un arc orienté qui part d'une place pour aboutir à une
transition (et non l'inverse). Son extrémité est marquée par un petit cercle. La
présence d'un arc inhibiteur entre une place Pi et une transition Tj signifie que la
transition Tj n'est validée que si la place Pi ne contient aucun jeton. Le
franchissement de la transition Tj consiste à retirer un jeton dans chaque place
située en amont de la transition à l'exception de la place Pi, et à ajouter un jeton
dans chaque place située en aval de la transition.
e. RdP à priorité
Un tel réseau est utilisé lorsque l‘on veut imposer un choix entre plusieurs
transitions validées.

f. RdP continu
Leur particularité est que le marquage d‘une place est un nombre réel (positif) et
non plus un nombre entier.

Remarque :
- Les RdP généralisés, à capacité, coloré sont des abréviations des RdP
ordinaires. Toutes les propriétés que nous allons voir dans ce qui suit peuvent
donc être adaptées à ces modèles.
- Les RdP à arcs inhibiteurs, les RdP à priorités, les RdP non autonomes et les
RdP continus sont des extensions des RdP ordinaires. Certaines propriétés des
RdP ordinaires leur sont applicables mais pas toutes.

Vivacité :
Une transition Tj est vivante pour un marquage initial M0 si pour tout marquage
accessible Mi *M0, il existe une séquence de franchissement S qui contient Tj
à partir de Mi (c-à-d il subsistera toujours une possibilité de franchir Tj).

Un RdP est vivant pour un marquage initial M0 si toutes ses transitions sont
vivantes pour M0 (c-à-d aucune transition ne sera jamais définitivement
infranchissable)

Transition source et puit

Une transition source ts d‘un réseau de Petri (R,M0) est une transition de
T telle que
Une transition puits tp d‘un réseau de Petri (R,M0) est une transition de T
telle que

Une transition source est toujours validée.


Les transitions source et puits permettent de modéliser des flux continus.

Lancement de tâches en parallèle

Communication asynchrone

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


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

Le nombre de jetons dans p3 correspond au nombre de messages en attente.

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


message en le plaçant dans un tampon de communication tandis que τ2 est
réceptrice, et est bloquée tant qu‘elle n‘a pas reçu le message.
Le nombre de jetons dans p3 correspond au nombre de messages en attente.

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


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

Section critique
Deux processus concurrents demandent l‘accès à une section critique en
exclusion mutuelle. La procédure d‘accès se décompose de la manière suivante :
- Demander l‘accès à la section critique ;
- Utiliser la ressource en section critique ;
- Libérer l‘accès à la section critique.
VI. METHODES DE REDUCTION

1) Introduction :

Pour faciliter les algorithmes dont la complexité est fonction du nombre d‘états
et de transitions, on peut effectuer une simplification du réseau en supprimant
des états tout en conservant ses propriétés. Les états dits « substituables »
peuvent être retirés. Dans un cadre physique, il s‘agit de réduire le degré
d‘abstraction du modèle.

La construction du graphe des marquages est certes une méthode efficace pour
trouver les propriétés d‘un RdP de taille modeste, mais cela peut être très long et
fastidieux pour un RdP qui a de nombreux marquages accessibles. Pour cela,
nous proposons dans cette section d‘utiliser quelques méthodes de réduction qui
permettent d‘obtenir à partir du RdP initial un autre RdP plus simple mais qui
possède certaines propriétés identiques à celle du RdP initial.

Une place est substituable si :

• tous les arcs entrants et sortants sont du même poids;


• la place en question est seule place d‘entrée de ses transitions de sortie ;
• aucune transition n‘a le mauvais gout de sortir et rentrer dans la place ;
• au moins une transition n‘est pas un puits (c‘est-à-dire possède au moins une
place de sortie).

Cette substitution effectuée, il faut encore prendre garde à quelques


modifications dans les propriétés. En effet, si la place substituée était marquée, il
est possible de perdre le caractère réinitialisable. Si la place substituée possédait
des transitions puits, il est envisageable de perdre le caractère borné. Dans tous
les cas la valeur de k pour le caractère k-borné n‘est pas conservée.
Il est aussi possible de définir des places dont l‘information est redondante avec
le reste du réseau. On parle alors de places implicites. Leur marquage est celui
d‘une combinaison linéaire des autres places et ses transitions de sortie
n‘introduisent pas de conditions de franchissement. En la retirant, une
composante conservative se perdra. Un cas particulier de places implicites est le
cas des places identiques (mêmes transitions en entrée et en sortie)

Les transitions peuvent à leur tour faire l‘objet d‘une réduction. L‘exemple est
celui d‘une transition neutre, c‘est-à-dire qui ne modifie pas le marquage. Dans
ce cas nous avons la disposition Pre(.,t) = Post(.,t). Retirer une pareille transition
est susceptible d‘altérer le caractère vivant du réseau. En effet, si la transition
n‘était pas franchissable, en la retirant on peut retirer la seule partie morte du
réseau.
Deux transitions vérifiant Pre(.,t1) = Pre(.,t2) et Post(.,t1) = Post(.,t2) sont
identiques. L‘une d‘elles peut être supprimée.

Il existe 6 méthodes de réduction des RDP:

• 4 méthodes conservent les propriétés classiques : R1 → R4


R1 : Substition de place (en fait suppression)
R2 : Suppression des places implicites
R3 : Suppression des transitions neutres
R4 : suppression des transitions identiques
• 2 méthodes conservent les invariants de marquage : Ra → Rb
Ra : Suppression des transitions impures
Rb : Suppression des transitions pures

Attention :
Le RdP obtenu après simplification n‘est pas équivalent du point de vu
fonctionnel au RdP initial, c-à-d qu‘il ne représente plus le système modélisé au
départ.
Les règles de simplification ne permettent pas de préserver toutes les propriétés,
donc un soin particulier doit être accordé à l‘application de ces réductions et à
l‘élaboration des propriétés

Dans ce paragraphe nous allons nous limiter à la présentation de quelques règles


qui permettent essentiellement de préserver les propriétés de vivacité et de
bornage !

2) Réduction R1 : Substitution d’une place :

a- Principe :
Une place Pi peut être substituée si elle remplit les 3 conditions suivantes :
- les transitions de sortie de Pi n‘ont pas d‘autres places d‘entrées que Pi ;
- il n‘existe pas de transition Tj qui soit à la fois transition d‘entrée et de
sortie de Pi ;
- au moins une transition de sortie de Pi n‘est pas une transition puit.

Méthode
• on supprime la place
• on supprime les transitions en sortie
• on crée une transition ti,j par couple ti , tj des transitions en entrée et sortie de
P
Exemple :
La place P2 du RdP ci-contre remplit ces conditions, donc elle peut être
substituée.

b- Propriétés conservées par la réduction :

Elles sont : borné (mais pas la valeur de la borne), sauf, vivant, quasi-vivant,
sans blocage, …

Exemple 1:
Sur le RdP ci-contre (a), on voit que si la transition T1 est franchie, alors la
transition T2 le sera tôt ou tard parce qu‘il n‘y a aucun autre arc arrivant sur T2
que celui qui vient de P2. On peut alors substituer à la place P2 et aux deux
transitions (d‘entrée et de sortie) une seule transition appelée T12 (b).

Exemple 2:
Nous avons ici un cas similaire montrant qu‘il n‘y a pas de restriction sur
la transition T1. En effet, les places d‘entrée de T1 sont les places d‘entrée de
T12 et si T1 a d‘autres places de sortie que P2, ce sont également des places de
sortie de T12. On notera également que la place P2 est marquée. Comme cette
marque doit nécessairement arriver dans P3, on la met dans cette place après la
substitution.
Exemple 3 :
Toute marque arrivant en P3 doit passer dans P4, qu‘elle vienne de P1 ou
de P2. La substitution consiste à mettre une transition T13 qui correspond à la
séquence de franchissement T1T3 et la transition T23 qui correspond à la
séquence de franchissement T2T3.

Exemple 4 :
Une marque arrivant dans P2 passera tôt ou tard soit dans P3, soit dans
P4. L‘application de la réduction conserve cette propriété, d‘où la substitution
par les deux transitions T12 et T13 qui correspondent respectivement aux
séquences de franchissement T1T2 et T1T3.
Exemple 5 :
Une marque dans P3 peut provenir soit de P1, soit de P2 et aboutir soit
dans P4, soit dans P5. Tous ces cas de figures seront conservés après
substitution en utilisant les transitions T13, T23, T14 et T24.

Remarque :
Dans le cas où la place à substituer est marquée:
- si elle a une seule transition de sortie alors le marquage passe à la place
suivante;
- si elle en a plusieurs, alors il faut considérer tous les cas de figures. Chaque cas
est obtenu en passant le marquage à travers une de ces transitions de sortie.

Ceci est le cas de la place P2 du RdP ci-contre.


Exemple 6 :
Dans l‘exemple suivant, la marque qui est dans P2 avant la substitution
pourrait aboutir soit dans P3, soit dans P4. Il faut donc considérer les 2 cas, c-à-d
qu‘il faut étudier les 2 réseaux ainsi obtenus. Les propriétés qui se conservent
par la réduction R1 ne seront vraies pour le réseau initial que si elles sont vraies
pour les 2 réseaux obtenus après substitution.

Exercice
Réduire le RDP suivant :
Exemple

Réduction, est elle possible du réseau suivant


Ce Réseau ne pouvant être modifié, en effet :

La séquence de franchissement t1, t2 et t3 laisse la place s vide et la transition


t4 franchissable.
La séquence de franchissements t1t3t3 laisse par contre une marque dans la
place s et la transition t4 non franchissable, ce qui exclut toute possibilité
d‘utilisations de la marque laissé dans la place s. Il est donc impossible de
retenir la transformation qui aboutirait au réseau donné par la figure suivante,
car ce dernier, au contraire du précédent est vivant.

3) Réduction R2 : Place implicite :

a- Principe :
Une place Pi est implicite si elle remplit les conditions suivantes :

- Le marquage de cette place n‘est jamais un obstacle au franchissement de ses


transitions de sortie. C-à-d, si Tj est une transition de sortie de Pi, alors quand
M(Pk) = Pré (Pk,Tj) pour toutes les places d‘entrée de Tj autres que Pi, alors
M(Pi) = Pré(Pi,Tj) .
- Ce même marquage peut s‘exprimer sous la forme d‘une combinaison linéaire
des marquages des autres places

Une place Pi est implicite si les deux conditions sont vérifiées:


Dans l'exemple ci-contre, la place P2 est implicite !

La réduction R2 consiste à supprimer une place implicite et les arcs


correspondants.

Les propriétés conservées par la réduction sont : borné (mais pas la valeur de la
borne), vivant, quasi-vivant, sans blocage. Cependant, si le RdP est sauf après
réduction, le RdP initial peut ne pas l‘être.
b- Exemple :

La place P2 est une place implicite. En effet :

Condition 1 : cette place n‘est place d‘entrée que de T3. Pour franchir T3, il
faut une marque dans P3, donc il a fallu franchir T2 avant de pouvoir franchir
T3. Pour franchir T2, il fallait une marque dans P1 et cette marque ne pouvait
provenir que du franchissement de T1. Or, le franchissement de T1 met une
marque dans P2 et il n‘y a aucune autre sortie de P2 que la transition T3. Donc,
s‘il y a une marque dans P3, il y en a aussi dans P2.

Condition 2 : le raisonnement précédent conduit à Mj(P2)=Mj(P1)+Mj(P3) pour


tout marquage Mj. L‘application de la réduction R2 à ce réseau conduit au RdP
de la figure (b).

Exercice :
Pour chacun des RdP suivants, déterminer si P2 satisfait les conditions d‘une
place implicite et éventuellement donner le RdP obtenu après la réduction R2.
Réponse :
La place P2 du RdP A satisfait la condition 2 mais pas la condition 1 parce qu‘il
n‘y a pas de marque dans P2 alors que P3 contient une marque. La place P2 ne
peut pas être supprimée, sous peine de ne pas conserver certaines propriétés du
réseau initial.

La place P2 du RdP B est une place implicite. En effet, le raisonnement donné


dans l‘exemple précédent permet de montrer que lorsqu‘il y a une marque dans
P3, il y‘en a 3 dans P2, donc la condition 1 est satisfaite. La condition 2 l‘est
aussi car Mj(P2)=Mj(P1)+Mj(P3)+2 et ceci pour tout marquage Mj.

La place P2 du RdP C n‘est pas une place implicite. En effet, bien que la
condition 1 soit satisfaite, la condition 2 ne l‘est pas puisque la transition T4 est
une transition source.

Exemple

Réduire ce RDP
4) Réduction R3 : Transition neutre :
a- Principe :
Une transition Tj est neutre si et seulement si l‘ensemble de ses places d‘entrée
est identique à l‘ensemble de ses places de sorties. Nous pouvons supprimer une
transition neutre Tj et ses arcs entrants et sortants, si et seulement s‘il existe une
transition Tk différente de Tj, telle que Post(Pi, Tk) = Pré(Pi, Tj) pour toute
place Pi d‘entrée de Tj.

Méthode: On supprime transitions et arcs

Exemple :

La transition T5 est neutre !


Les propriétés conservées par la réduction sont: borné (mais pas la valeur de la
borne), sauf, vivant, quasi- vivant, sans blocage, …
b- Exemple :

Réduire le RDP suivant

5) Réduction R4 : Transitions identiques :


a- Principe:
Deux transitions Tj et Tk sont identiques si elles ont le même ensemble de
places d‘entrées et le même ensemble de places de sorties. Dans ce cas, nous
pouvons supprimer l‘une d‘entre elles et les arcs correspondants

Exemple :
Les transitions T1 et T2 sont identiques !
Les propriétés conservées par la réduction sont : borné (mais pas la valeur de la
borne), sauf, vivant, quasi- vivant, sans blocage, …

b- Exemple :

Exemple

Réduire ce RDP
Exercice :

On considère le RdP suivant.

Etudier les possibilités de réduction applicables successivement à ce RdP (R1,


R2).
6- Suppression des transitions impures : Ra

Conditions : La transition doit être impure.

Exemple de transition impure

Méthode
• Suppression des arcs Pi → tj et tj → Pi où Pi est la place impure
• Suppression de la transition si elle est isolée

Exemple
Exemple

Réduction de ce RDP

Suppression des transitions pures : Rb


Conditions :

On peut réduire tj si :

Méthode
• Supprime de la transition tj

On va créer une place Pi+k

Le marquage de Pi+k = M(Pi) + M(Pk )

• Les transitions en entrée de Pi + k sont celles de Pi et Pk. Idem pour les transitions en sortie.

Exemples
Exemple 1 de réduction Rb

Exemple 2 de réduction Rb

Exercice

Effectuer les réductions sur le RDP suivant: réduction Ra et Rb


Exercice

Réduire le RDP suivant :


Exercice

Réduire ce réseau

Exercice
Remarque:

Certaines configurations telles que la présence d‘une transition neutre ou


des transitions identiques, voire de place implicites, sont rarement rencontrées
dans un RdP initial bien conçu. Néanmoins, on peut les rencontrer après que le
processus de réduction ait commencé. Il existe d‘autres règles de réduction
données par divers auteurs. Elles sont généralement plus compliquées et celles
qui nous avons présentées ici suffisent souvent.

Conclusion

Le RDP souffre de limitations du modèle de base, en effet

- Les jetons sont anonymes


- Parfois, on aimerait que les jetons portent une valeur pour pouvoir les
discriminer, pouvoir mettre des conditions sur les arcs pour décider du
franchissement d‘une transition en fonction de la valeur des jetons dans les
places.
-Absence de politique de sélection des transitions franchissables (pas de
politique d‘ordonnancement)

- Absence de notion de temps


- Etc.
INTRODUCTION AUX RESEAUX DE PETRI DE HAUT-NIVEAU
(LES RESEAUX DE PETRI COLORES)

Introduction
Du point de vue de la modélisation, les réseaux de Petri, s'ils modélisent
aisément les synchronisations, le partage de ressources et d'autres mécanismes
similaires, ils présentent toutefois deux limitations importantes. Il est impossible
de transporter une information structurée car les places ne contiennent que des
jetons uniformes et il faut définir de manière explicite le comportement d'objets
différents mais qui se comportent de manière identique. Pour pallier à ces
limitations différentes extensions ont été proposées, dont les deux plus
importantes sont les réseaux à prédicats et les réseaux colorés (ces deux modèles
étant par ailleurs très proches l'un de l'autre) [Gen81] , [Jen81b].

Dans le cas des réseaux colorés les idées de base sont les suivantes :
- on attache à chaque place et à chaque transition un domaine de couleurs.
Chaque jeton contenu dans une place est coloré par l'une des couleurs du
domaine de la place. Chaque couleur d'une transition représente une manière
différente de franchir la transition. Si l'on fait le rapprochement (approximatif)
avec un langage de programmation dans lequel les places symbolisent des
variables et les transitions des procédures, le domaine d'une place est le type de
la variable et le domaine de la transition est le type de l'unique paramètre de la
procédure.

- La valuation d'un arc n'est plus un entier (compteur de jetons retranchés ou


ajoutés) mais une fonction dont l'ensemble de départ est le domaine de la
transition adjacente et l'ensemble d'arrivée est le multi-ensemble associé au
domaine de la place adjacente.

- Lors du franchissement d'une transition, on instancie la transition par l'une des


couleurs de son domaine, puis on évalue les fonctions qui valuent les arcs
entrées de la transition, cette évaluation fournit le nombre de jetons de chaque
couleur à retrancher à chaque place. Si le marquage courant dispose d'assez de
jetons on les retire puis on réitère l'opération pour les arcs sortis de la transition.

L'intérêt de ce nouveau modèle est triple :


- Il ne souffre pas des limitations des réseaux de Petri.
- Il est équivalent à un réseau de Petri où les places et les transitions sont
dupliquées en fonction des domaines et les arcs sont obtenus par évaluation des
fonctions de couleur. Ce point est fondamental car il laisse espérer l'extension
des résultats théoriques obtenus pour les réseaux de Petri.
- Moyennant une représentation implicite des domaines et des fonctions, il
autorise une modélisation paramétrée (par exemple : un réseau coloré modélise
une gestion de n tâches où n est laissé variable).

Remarque :

Pourquoi les réseaux de haut niveau : RDP colorés?

Les réseaux de Petri ordinaires


– ne capturent pas les symétries d‘un problème
– ne permettent pas d‘associer des informations aux jetons
– Ne permettent pas de paramétrer la solution d‘un problème
➥ Utiliser une notation concise et paramétrée des réseaux de Petri: les réseaux
de haut-niveau

Dans cette extension, une information est associée aux jetons. Cette information
est appelée couleur. Cette information supplémentaire permet de modéliser des
comportements plus complexes ou de simplifier fortement la structure de RdP
non colorés en « mettant en facteur » des parties de graphe similaires.

Définition

Couleur
Une couleur est un n-uplet d'un ensemble donné Cn, éventuellement indicé, que
l'on associe à un jeton et que l'on note <ci,cj,..ck,..>.

Pour certains systèmes complexes, les RdP "basiques" ne suffisent pas.


Exemple:

FIFO, capacités 4

Idée : au lieu de différencier les places, on va différencier les jetons.

- Association à chaque jeton d'une couleur.


- Association aux places des ensembles de couleurs (couleurs possibles des
jetons de ces places)
- Association aux transitions des ensembles de couleurs de franchissement
- Association aux arcs des fonctions permettant la description du franchissement

⇒ le comportement du RdP va dépendre de la couleur des jetons

Exemple

Notation :
- Couleur neutre notée < ● >
- Fonction identité Id : Id(Ci) = Ci

Ensemble des couleurs : C = {Ca, .. ,Cz, Ca', .. ,Cz'} „

Franchissement de la transition Ti pour la couleur Cx :


- Il faut un jeton de couleur fji(Cx) (ici, Ca) dans la place amont Pj et un
jeton de couleur fj'i(Cx) (ici, Ca') dans la place amont Pj'.

- Cela génère un jeton de couleur fjk(Cx) (ici, Cb) dans la place aval Pk et
un jeton de couleur fjk'(Cx) (ici, Cb') dans la place aval Pk'.

Un RdP coloré est un sextuplet R tels que :

P : ensemble de places
T : ensemble de transitions
C : ensemble fini de couleurs
ω : fonction associant à chaque place et à chaque transition un ensemble de
couleurs possibles Pré et Post : fonctions des arcs. !! Chaque arc porte une
fonction f(C).
M0 : marquage initial

Remarques:

A chaque transition de T on associe le type de la transition, c'est à dire les


jetons admissibles à cette transition.
Une fonction est définie au niveau de chaque arc (appartenant soit à Pré, soit à
Post). Elle effectue une opération sur un ensemble de jetons en aval d'une
transition à partir d'une autre opération établie à partir d'un ensemble de jetons
disponibles dans les places en amont. Une fonction peut alors modifier une
couleur, générer des jetons, simplifier des jetons, ajouter des couleurs, etc. Par
convention, on notera F(Transition)=Place.
La fonction Id est la fonction identité, ce qui signifie qu'un jeton qui transite
par cette fonction n'est pas modifié.
Exemple

Exemple
Exemple

L‘exemple proposé à présent va permettre une première approche de la


démarche de coloration. Il s‘agit d‘étudier la modélisation de l‘état de trois
machines similaires traitant tour à tour deux types de pièces C1 et C2. La
première modélisation (figure suivante) se base sur l‘utilisation de réseaux de
Petri ordinaires. Ce RdP se présente sous la forme de trois boucles similaires et
totalement indépendantes. Le marquage initial indique que les machines 1 et 2
sont entrain de traiter une pièce de type 1, alors que la machine 3 traite une pièce
de type 2

Si maintenant il est question de représenter la situation de n machines


identiques, il apparaît que le graphisme du modèle va se dupliquer et qu‘il serait
souhaitable que l‘information soit alors plus condensée.
La figure suivante modélise le même problème par un réseau de Petri coloré. Le
principe des RdPC va être de traduire l'idée suivante: En fait, dans le RdP initial,
le même modèle est utilisé, dupliqué 3 fois. Il est alors intéressant de concentrer
toutes les informations dans une seule boucle.

Dans ce nouveau type de réseau de Petri, les jetons sont dits colorés de par le
fait qu‘ils ont maintenant chacun une identité propre. Chaque jeton de ce modèle
représente à présent une machine spécifique. Les deuxpremières machines,
symbolisés par les couleurs <1> et <2>, sont entrain de traiter des pièces de type
C1 . La machine 3 traite une pièce de type C2. Les jetons <1>, <2> et <3> sont
alors respectivement situés dans les places PC1, PC1 et PC2.

Les transitions représentent, pour chaque machine le passage d'un type d'usinage
à l'autre. Ces franchissements sont indépendants pour chaque couleur. Le RdPC
est plus synthétique, mais les marques contiennent plus d'information
puisqu'elles possèdent une identité. Les couleurs sont dites ici, à une dimension,
couleur de chaque machine.

Il faut noter que, pour cet exemple de coloration, les couleurs restent toujours
identiques à elles-mêmes. Autrement dit, elles ne sont pas amenées à être
transformées, elles sont simplement déplacées dans le modèle, occupant tour à
tour, soit la place PC1 ou la place PC2 selon leur état de travail.

Il sera vu plus loin que des fonctions peuvent être attribuées aux arcs d‘un
réseau coloré. Ces fonctions ont pour rôle de transformer les couleurs des jetons
et sont indiquées en regard de l‘arc concerné. En l‘occurrence, pour cet exemple,
les jetons n‘étant donc pas transformés, les fonctions appliquées sur ces arcs
seront les fonctions dites Identité. Par défaut, la mention Identité (Id), pourra
être éludée.

Dans ce réseau, les jetons <1>, <2>, <3> circulent indépendamment les uns des
autres, transcrivant bien ainsi le cahier des charges initial. Il est encore possible
de colorer à un niveau supérieur ce RdPC, en redonnant une dimension
supplémentaire à l‘espace des couleurs. Ce RdPC est à nouveau coloré en le
repliant et obtenant le RdPC de la figure suivante :

L‘unique place de ce réseau se substitue aux deux places précédentes PC1 et


PC2. Chaque jeton coloré, de type <mi, cj> représente une machine et spécifie
son état. La couleur à deux dimensions <mi, cj> indique que la machine mi traite
une pièce de type cj. Les marques, colorées à deux dimensions, possèdent alors
toute l'information concernant l‘état de fonctionnement de chaque machine. La
quantité d'information contenue dans chaque marque est accrue. Le
franchissement de la transition entraîne cette fois un changement de couleur,
tout au moins sur l'une de ses dimensions, la dimension pièce. Une fonction
différente de la fonction identité est maintenant affectée à l‘un des deux arcs,
transformant ainsi les couleurs. La fonction f est définie ainsi :

Pour toute représentation par RdPC, il convient de définir les fonctions attachées
aux arcs, en précisant quelles transformations impliquent chaque fonction vis-à-
vis de chaque couleur.

Lors de l‘élaboration du RdPC, il faut également spécifier pour quelle couleur


chaque transition est franchissable. Cette spécification peut être
conventionnellement portée sur le graphe, en regard de chaque transition
concernée. Ainsi pour cet exemple, la transition est franchissable pour toute
couleur de type <mi,cj> telle que i ∈ {1,2,3}, j ∈ {1,2}.

Exemple
Exemple

Enoncé : Factoriser l‘exemple suivant en codant jeton = chariot <r>ouge ou


<b>leu. Factoriser encore ce réseau (2èmedimension) en utilisant des couleurs à
deux dimensions (la première pour la position, la seconde pour la couleur du
chariot). Donnez les fonctions associées aux arcs.
Exemple

Déterminer le nouveau marquage après franchissement de T1 à partir de M°:


Exemple

Le modèle client serveur

a. On considère un modèle client/serveur composé d‘un client et un serveur. Le


client émet une requête qui est traitée par le serveur qui envoie ensuite une
réponse. Modéliser ce fonctionnement par un RdP

b. On veut maintenant prendre en compte 2 clients. Modéliser ce nouveau


problème d‘une part par un réseau Place/transition, d‘autre part par un réseau
coloré
c. On suppose qu‘il y a maintenant 2 serveurs et que les clients envoient leurs
requêtes à un serveur qu‘ils choisissent au moment de l‘émission. Donner le
réseau coloré associé puis le réseau déplié.

Le réseau de Petri de la figure suivante modélise un réseau formé de deux clients


et d‘un serveur.
Ce modèle est trop abstrait. Il ne distingue en effet, ni l‘état respectif
de chacun des clients, ni à qui appartient un message ou une réponse.

Une première solution est illustrée sur la figure suivante. Elle consiste à
dupliquer toutes les places et les transitions à l‘exception de la place initialement
marquée du serveur.

Une seconde solution est la solution des réseaux de Petri colorés permettant de
définir un modèle générique du clients-serveurs valide pour tout nombre (fini)
de clients et de serveurs.

Considérons le modèle du client serveur illustré sur la figure suivante. On


discrimine les clients de la façon suivante :

– On associe à chaque jeton des places (toutes sauf serveur), le numéro


du client concerné par ce jeton. Le domaine de ces places est {1,2}.
– Ce même domaine est aussi associé aux transitions.
– Les entiers qui étiquettent les arcs d‘entrée ou de sortie d‘une transition sont
remplacés par des fonctions de {1,2} dans Z indiquant pour
chaque couleur du domaine le nombre de jetons de cette couleur respectivement
consommés (pre(p,t,c)) ou produits (post(p,t,c)) lors du franchissement de cette
transition.

On peut généraliser le modèle illustré à la figure suivante à plusieurs serveurs


en introduisant un domaine de couleurs pour les serveurs. Le modèle à trois
serveurs est illustré à la figure suivante. La transition en rouge peut être
exécutée par différents serveurs. Si elle est exécutée par le serveur y, elle doit
consommer deux jetons (une de couleur y et une autre de couleur quelconque
x) et produire un jeton de couleur < x, y >. Ces deux informations sont
essentielles pour savoir lequel des serveurs est occupé et à qui appartient le
message en cours de traitement par le serveur. Ces deux informations sont
aussi indispensables pour pouvoir ensuite ultérieurement envoyer la réponse
au bon client et modifier l‘état du bon serveur.
Exercice

Soit Le réseau coloré, on demande de le transformer en réseau ordinaire.

Le passage du RdP (Figure droite) au RdP coloré (Figure gauche) est appelé
pliage, le passage du RdP colore au RdPest appelé dépliage.
Exemple

Considérons la figure du RDP coloré suivant :

C = {a, b, c, d}, domaine(x) = {a, b}, domaine(y) = {b, c, d}.


Considérons le marquage M1 représenté pour chaque place par un vecteur dont
les composantes sont indicées par les numéros des couleurs, et vérifions le
franchissement de t

– M1(p1) =< 1, 0, 2, 1 >, M1(p2) =< 1, 2, 1, 0 >, M1(p3) =< 1, 0, 0, 0 >,


M1(p4) =< 0, 2, 0, 0 >

La transition t n‘est pas franchissable depuis M uniquement parce que P3 et P4


ne contiennent pas une même couleur.

Pour le marquage M2 suivant, t est elle franchissable

– M2(p1) =< 1, 0, 2, 1 >, M2(p2) =< 1, 2, 1, 0 >, M2(p3) =< 2, 2, 1, 0 >,


M1(p4) =< 0, 2, 0, 0 >

Par contre, pour le marquage M2, t est franchissable:


– M2(p1) =< 1, 0, 2, 1 >, M2(p2) =< 1, 2, 1, 0 >, M2(p3) =< 2, 2, 1, 0 >,
M1(p4) =< 0, 2, 0, 0 > , p2 et p3 contiennent en effet la couleur b

Examinons la situation en reprenant l‘exemple donné par la figure précédente,


complété de trois places de sorties de la transition t avec domaine(x) =
{a, b}, domaine(y) = {b, c, d}, domaine(z) = {a, d} (voir figure suivante).
Nous avons vu que t était franchissable pour le marquage M2 tel que :
M2(p1) =< 1, 0, 2, 1 >, M2(p2) =< 1, 2, 1, 0 >, M2(p3) =< 2, 2, 1, 0 >
, M2(p4) =< 0, 2, 0, 0 >, M2(p5) = M2(p6) = M2(p7) =< 0, 0, 0, 0 > .

Les quatre marquages accessibles par le franchissement de t sont M′1, M2′, M3′,
M4′ avec :

– M′1(p1) =< 1, 0, 1, 0 >, M1′(p2) =< 1, 1, 1, 0 >, M1′(p3) =< 2, 1, 1, 0 >


,M1′(p4) =< 0, 1, 0, 0 >, M1′(p5) =< 1, 1, 0, 0 >, M1′(p6) =< 1, 0, 0, 0 >,
M1′(p7) =< 0, 1, 0, 0 >

– M′2 se diffère que M1′ que par le marquage de la place p6 qui devient
M′2(p6) =< 0, 0, 0, 1 > ;

– pour obtenir M3′ il suffit de changer dans M1′ le marquage de p2, M′(p2) =<1,
2, 0, 0 > ;

– quant au marquage M4′ il est identique à M3′ sauf pour la place p6, nous avons
alors M′ 3(p) = M2′(p6) =< 0, 0, 0, 1 >.

Exemple 1 : Un système de production est constitué d‘une première machine


avec son stock en sortie de capacité limitée à 3 produisant la pièce a et d‘une
seconde machine avec son stock en sortie de capacité limitée à 3 produisant la
pièce b.

L‘état du système est caractérisé par :

– La première machine produit la pièce a (une marque dans la place Pa1)


– La première machine est en attente (une marque dans la place Pa3)
– Le nombre de pièces dans le stock de sortie de la première machine (nombre
de marques dans la place Pa2)

– Le nombre de places libres dans le stock de sortie de la première machine


(nombre de marques dans la place Pa4)

– La seconde machine produit la pièce b (une marque dans place Pb1)


– La seconde machine est en attente (une marque dans place Pb3)
– Le nombre de pièces dans le stock de sortie de la seconde machine (nombre de
marques dans la place Pb2)
– Le nombre de places libres dans le stock de sortie de la seconde machine
(nombre de marques dans la place Pb4) L‘état du système va évoluer quand se
produit :
– le début de la production d‘une pièce a par la première machine
(franchissement de Ta1)
– la fin de la production d‘une pièce a par la première machine (franchissement
de la transition Ta2)
– le retrait d‘une pièce a du stock de la première machine (franchissement de la
transition Ta3)
– le début de la production d‘une pièce b par la seconde machine
(franchissement de Tb1)
– la fin de la production d‘une pièce b par la seconde machine (franchissement
de la transition Tb2)
– le retrait d‘une pièce b du stock de la seconde machine (franchissement de la
transition Tb3)

Au départ, la première machine attend tandis que la deuxième machine produit


une pièce b.
Le stock de sortie de la première machine contient une pièce a et celui de la
seconde deux pièces b. On obtient le RdP représenté Figure ci-dessous. Ce
système est constitué de deux sous systèmes identiques (première machine avec
son stock et seconde machine avec son stock) chacun produisant un type de
pièces différent. Cela suggère l‘idée que l‘on pourrait superposer les RdPs
représentant chacun des sous systèmes. Par contre, dans le RdP représentant le
premier sous système, une marque dans une place fait référence à tout ce qui a
trait à la pièce a: première machine occupée ou non, état du stock de la machine
a.

Dans le second RdP, une marque fait référence à la pièce b. Si on superpose les
deux RdPs, il est donc nécessaire de différencier deux types de marque: une
première que l‘on baptise <a> qui correspond au marquage du premier RdP et
une seconde baptisée <b> correspondant au marquage du second RdP.

On parle alors de couleur1. L‘ensemble des couleurs est note C = {< a >, < b
>}. On obtient alors le RdP coloré représenté sur la figure suivante. Chaque
transition est alors validée pour une couleur.

– La transition T1 est validée pour la couleur <a> mais pas pour la couleur <b>:
le franchissement de T1 pour la couleur <a> consiste a enlever une marque <a>
dans la place P3 et à ajouter une marque <a> dans la place P1;
– La transition T2 est validée pour la couleur <b> mais pas pour la couleur <a>:
le franchissement de T2 pour la couleur <b> consiste à enlever une marque <b>
dans les places P1 et P4 et à ajouter une marque <b> dans les places P2 et P3;
– La transition T3 est validée pour les couleurs <a> et <b> : le franchissement
de T3 pour la couleur <a> (respectivement <b>) consiste à enlever une marque
<a> (resp. <b>) dans la place P2 et à ajouter une marque <a> (resp. <b>) dans
la place P4.

On associe à chaque transition l‘ensemble des couleurs pour lesquelles le


franchissement est envisage: par exemple pour T1, l‘ensemble {<a>, <b>}.

Le marquage d‘un RdP coloré est maintenant défini pour chaque couleur. Par
exemple, sur le RdP coloré représenté sur la figure précédente, le marquage

Le marquage peut être ainsi défini par une matrice où chaque colonne
correspond à une couleur :

Il peut être aussi défini comme une application qui à une couleur donnée associe
un marquage:
Le marquage est donc une application de C → N4. Pour ne pas alourdir
l‘écriture, cette application est définie en utilisant des notations formelles:

Définition du marquage d’un RdP coloré

Le marquage d‘un RdP coloré est défini pour chaque couleur et p eut être
représenté sous la forme :

- d‘une matrice où chaque colonne correspond à une couleur,

- d‘une matrice à une seule colonne dont les éléments sont des combinaisons
linéaires des couleurs de chaque place.

Vous aimerez peut-être aussi