Vous êtes sur la page 1sur 25

Systèmes Dynamiques à Evénements Discrets

_____________________________________________________________________________________________________________

SYSTÈMES DYNAMIQUES A ÉVÉNEMENTS DISCRETS :


DU MODÈLE À LA COMMANDE

Jean-Louis FERRIER, Jean-Louis BOIMOND

ISTIA - Université d'Angers


Laboratoire d'Ingénierie des Systèmes Automatisés (LISA)
62 Avenue Notre-Dame du Lac, F-49000 ANGERS
e-mail : ferrier@istia.univ-angers.fr
web : http://www.istia.univ-angers.fr/LISA

Les Systèmes Dynamiques à Evénements Discrets sont une classe de systèmes dynamiques, pour la plupart "man-made" et complexes.

Par opposition aux systèmes dynamiques "continus", ils satisfont généralement les deux propriétés suivantes :
a) l'espace d'état est décrit par un ensemble discret
b) les transitions d'état apparaissent seulement en des instants discrets du temps ; ces transitions d'état sont associées à des événements.

De nouveaux outils et de nouvelles méthodologies doivent être développés afin de modéliser, concevoir, analyser les performances et
commander de tels systèmes.

1. INTRODUCTION
2. SYSTEMES A EVENEMENTS DISCRETS
2.1. Un exemple de SED
2.2. Systèmes continus, systèmes à événements discrets
3. DIFFERENTS MODELES POUR LES SED
3.1. Réseaux de Petri
3.2. Algèbre des dioïdes
3.3. Langages et Automates
3.3.1. Langages
3.3.2. Automates
4. COMMANDE DES SED
4.1. Réseaux de Petri de commande
4.2. Suivi de trajectoires : séquences de dates de tirs
4.3. Commande sous contraintes : un exemple
5. COMMANDE PAR SUPERVISION
6. CONCLUSION

____________________________________________________________________________________________
1
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
1. INTRODUCTION

Les systèmes automatisés de production, à l'initiative de l'Homme, sont caractérisés par une forte complexité
et flexibilité ; selon un certain point de vue, ils peuvent être spécifiés par des modèles à "événements discrets".
Les systèmes de trafic (aérien, ferroviaire,...), les systèmes de communication, le génie logiciel,... sont d'autres
exemples de systèmes dynamiques dont l'activité est due aux occurrences asynchrones d'événements discrets,
dont certaines sont provoquées (appui sur une touche du clavier) et d'autres pas (panne spontanée d'un
équipement) [Ho 89] [Cassandras 93].

Dans la section 2 le concept de Systèmes Dynamiques à Evénements Discrets (SDED), qui sera par la
suite abrégé en Systèmes à Evénements Discrets (SED), sera illustré. Un parallèle avec les systèmes
dynamiques "classiques" à variables continues sera tenté et les différences entre ces systèmes1 seront mises en
exergue.
Si le cadre de modélisation des systèmes linéaires est bien établi, il n'en est pas de même pour les SED.
Quelques exemples simples illustreront en section 3 les potentialités de modélisation et d’analyse par les réseaux
de Petri, par l'algèbre (max,+), par les automates et les langages.
Les notions de signal de commande et de loi de commande dans le cadre des SED seront abordées en
section 4.
En section 5 la commande par supervision, qui repose sur la théorie des langages et des automates, sera
esquissée.
Dans la conclusion, il sera tenté de dégager quelques éléments de réflexion sur cette classe de systèmes
"artificiels" dont le développement depuis quelques décades a été concomitant de celui de l'informatique.

2. SYSTEMES A EVENEMENTS DISCRETS

2.1. Un exemple de SED

Une souris se déplace de manière spontanée (elle agit sans intervention extérieure) à l'intérieur d'un
labyrinthe.

P1 S0 p2
Les salles S i communiquent par des portes
P3
unidirectionnelles P1 et P3 et bidirectionnelle P2. p1 p2
S1 On note par "p i" l'événement : "la souris passe par A B C
la porte Pi".
P2 S2
p3

fig. 1.a fig. 1.b

Soit ∑ l'ensemble des événements : ∑ = {p 1, p 2, p 3}.

1
Le concept de système est caractérisé par :
- des "composants" en interaction
- une "fonction" particulière qu'il est sensé réaliser, avec le respect d'un ensemble de contraintes.
Quelques définitions de "système" :
* "Un système est un objet complexe, formé de composants distincts reliés entre eux par un certain nombre de relations" - Encyclopaedia
Universalis.
* "An assemblage or combination of things or parts forming a complex or unitary whole" - Webster's Dictionary.
* " A combination of components that act together to perform a function not possible with any of the individual parts" - IEEE Standard
Dictionary of Electrical and Electronic Terms.

____________________________________________________________________________________________
2
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
On conçoit que les situations (ou comportements) possibles sont :
• la souris est dans la salle S 0
• la souris est dans la salle S 1
• la souris est dans la salle S 2
ce qui définit trois états différents, relatifs aux possibilités d'occupation des salles.
Le passage de l'état "souris en S 0" (état A) à "souris en S 1" (état B) a lieu sur l'occurrence de l’événement p 1. On
peut alors construire le diagramme des états (fig. 1.b). L'espace d'état s'écrit X = {A, B, C}.

2.2. Systèmes continus, systèmes à événements discrets

Des grandeurs telles que la position, la vitesse, l'accélération, le niveau, la pression, la température, le débit,
la tension, le courant,... sont des variables continues, dans le sens qu'elles peuvent prendre n'importe quelle valeur
dans R lorsque le temps, lui-même "continu", évolue. Les équations différentielle s (et aux différences) sont alors
un outil de base approprié pour la modélisation, l'analyse et la commande des systèmes physiques à temps continu
(et à temps discret) correspondants, de même que pour des systèmes autres que physiques et/ou à base de lois de
la nature (i.e., dynamique des populations).

Comme nous pouvons le constater sur l'exemple présenté au § 2.1., notre environnement est fait aussi de
systèmes pour lesquels :
- les grandeurs auxquelles nous avons affaire sont discrètes, telles que le nombre de produits dans un stock, le
nombre de processeurs en activité, ...
- l'évolution est conditionnée par l'occurrence d'événements, à "certains instants", tels que la fin d'exécution d'une
tâche, le franchissement d'un seuil devant entraîner une action, l'arrivée d'un produit, d'un client, la défaillance
d'un dispositif, ...

On sait que le comportement d'un système continu à l'instant t peut être résumé par son état qui représente
la mémoire minimale du passé nécessaire à la détermination du futur 2.
Pour les modèles à état continu, l'espace d'état est un continuum composé de tous les vecteurs à n
dimensions à composantes dans R (fig. 2.a). Dans la description des systèmes échantillonnés avec une période
Te, généralement constante, la variable réelle t est remplacée par la variable entière k. Ces systèmes sont décrits
par des équations aux différences. Il est important de noter que la discrétisation du temps n'implique pas la
discrétisation de l'espace d'état. L'état peut prendre n'importe quelle valeur dans l'ensemble des nombres réels,
comme dans le cas continu. On ne distinguera donc pas fondamentalement dans la suite les systèmes décrits par
des équations différentielles et par des équations aux différences : ils sont simplement à temps continu ou à temps
discret et la variable temps est une variable naturelle indépendante qui apparaît comme argument de
toutes les fonctions d'entrée, d'état ou de sortie.

2
L'état X(ti) d'un système au temps ti est l'information nécessaire en ti telle que la sortie y(t), pour tout t ≥ ti, est uniquement déterminée à partir
de cette information X(ti) et de la connaissance du signal d'excitation u(t), pour t ≥ ti.
L'espace d'état d'un système est l'ensemble de toutes les valeurs possibles que peut prendre l'état, c’est ici un continuum.
Un modèle de système s'écrit dans l'espace d'état sous la forme générale (cas contin u) :

X ( t ) = f(X(t), u(t), t) X(t0 ) = X0
y(t) = g(X(t), u(t), t)

Dans le cas des systèmes linéaires invariants dans le temps cette forme se réduit à :
temps continu temps discret

X ( t ) = AX(t) + Bu(t) X(t0 ) = X0 X(k+1) = FX(k) + Gu(k) X(k0 ) = X0
y(t) = CX(t) + Du(t) y(k) = CX(k) + Du(k)
____________________________________________________________________________________________
3
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
Pour les modèles à événements discrets (fig. 2.b), l'espace d'état est un ensemble discret et l'état
change seulement à certains instants du temps , de façon instantanée. A chacune de ces transitions, on peut
associer un événement, d'où la définition informelle d'un SED.

Un Système à Evénements Discrets est un système à espace d'état discret dont les transitions entre états sont
associées à l’occurrence d’événements discrets asynchrones.

Dans le jeu d'échec par exemple, chaque configuration définit un état. L'espace d'état résultant est grand, mais discret.

état
(espace d'état discret X)
X2
état
x1 (t) X6
X (t) = x2 (t)
X4
X1
x2
X5
X3
x1
t

e1 e2 e3 e4 e2 e5 e6 e7 événements

temps
ti tj tk tl tm tn to tp

X = { X1, X2, X3, X4, X5, X6 } ensemble (discret) d’états = espace d’états

∑ = { e1, e2, e3, e4, e5, e6, e7 } ensemble d'événements discret


fig. 2.a fig 2.b

fig. 2. Comparaison des trajectoires pour


a) un modèle à état continu (système continu)
b) un modèle à événements discrets (SED)
La trajectoire (constante par morceaux) saute d'un état à un autre avec l'occurrence d'un événement
Remarques : • un même événement (e2) peut conduire à des états différents.
• des événements différents (e1 et e5) peuvent conduire à un même état
• des événements (e3) peuvent se produire et être inactifs pour ce système
• la séquence des états et le temps de maintien associé à chaque état caractérisent la trajectoire.

Lorsque l'entrée du SED est spécifiée de manière déterministe comme une séquence d'événements
{e1, e2,...}, sans information sur le temps auquel les occurrences de ces événements se produisent, partant d'un
état initial, on décrit la trajectoire en termes de séquence d'états résultants : on a un modèle non temporisé
qui décrit le comportement logique du système et qui permet de répondre en particulier à la question :
"Un état particulier peut-il être atteint ?"

____________________________________________________________________________________________
4
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
Lorsque l'entrée du SED est spécifiée de manière déterministe comme une séquence d'événements auxquels
sont associées les dates d'occurrence ti, on peut construire la trajectoire complète du modèle temporisé et
répondre notamment aux questions :
"Quand un état particulier sera-t-il atteint ?"
"Combien de temps le système passe-t-il dans un état particulier ?"
"Combien de fois un état particulier peut-il être atteint sur un intervalle de temps donné ?"

____________________________________________________________________________________________
5
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
3. DIFFERENTS MODELES POUR LES SED

Rappelons qu'un modèle est une approximation, une vue partielle plus ou moins abstraite de la réalité afin de
l’appréhender plus simplement, selon un point de vue et qu’il est établi pour un objectif donné.
Un modèle est donc subjectif puisqu'il est établi en fonction des objectifs, du jugement, de la nature et de la
qualité des informations dont dispose le concepteur. Il peut être exprimé par des mathématiques, des symboles,
des mots,...[Calvez 90].
Seront présentés succinctement les réseaux de Petri, l’algèbre (max,+), les langages et automates, trois outils
de modélisation et d'analyse des systèmes qui trouvent également une application en commande.

3.1. Réseaux de Petri

Les réseaux de Petri (RdP), qu’ils soient ordinaires, généralisés, colorés, temporisés, temporels,
stochastiques,... sont un outil graphique à support mathématique permettant de modéliser, visualiser et analyser
des évolutions comportant du parallélisme, de la synchronisation et du partage de ressource [Brams 83] [Murata
89] [David et al. 89] [Alla et al. 00].

Un RdP ordinaire non marqué peut être défini par un 4-uplet, Q = 〈P, T, Pré, Post〉 tel que :
P = {P1, P2, ..., Pn} est un ensemble fini et non vide de places ;
T = {T1, T2, ..., Tm } est un ensemble fini et non vide de transitions ;
P∩T=∅ c’est-à-dire que les ensembles P et T sont disjoints (avec P ∪ T ≠ ∅) ;
Pré : P × T → {0,1} est l’application d’incidence avant ;
Post : P × T → {0,1} est l’application d’incidence arrière.
Pré(Pi, Tj) est le poids de l’arc (orienté) reliant la place Pi à la place Tj ; ce poids vaut 1 si l’arc existe et 0 sinon. Post(Pi, Tj) est le
poids de l’arc (orienté) reliant la transition Tj à la place Pi.

Un RdP généralisé non marqué est défini comme un RdP ordinaire non marqué, sauf que :
Pré : P × T → ℵ et Post : P × T → ℵ .

Un RdP marqué, ordinaire ou généralisé, est un RdP auquel on associe un marquage initial m0 à la structure définie précédemment.

On appelle matrice d’incidence avant la matrice W- = [wij-] , où wij- = Pré(Pi, Tj), et matrice d’incidence arrière la matrice
W = [wij+ ] , où wij+ = Post(Pi, Tj).
+

On appelle matrice d’incidence, la matrice W = W+ - W- = [wij] de dimension n × m. Une colonne de cette matrice correspond à
la modification du marquage apportée par le franchissement de la transition correspondante. La matrice d’incidence est une
représentation structurelle du RdP, elle est indépendante du marquage.
Le franchissement d’une transition Tj ne peut s’effectuer que si le marquage de chacune des places Pi directement en amont de cette
transition est tel que : m(Pi) ≥ poids (Pi → Tj) = wij- (condition nécessaire). Le franchissement (tir) de Tj consiste à retirer wij- marques
dans chacune des places directement en amont de Tj et à ajouter wij+ marques dans chacune des places directement en aval de Tj .

Un RdP P-temporisé (respectivement T-temporisé) est un 2-uplet 〈R, Tempo〉 tel que :
R est un RdP marqué ;
Tempo est une application de l’ensemble P des places (respectivement de l’ensemble T des transitions) dans l’ensemble des
nombres rationnels positifs ou nuls. Tempo(Pi) = di est la valeur de la temporisation associée à la place Pi (respectivement Tempo(Tj)
= dj est la valeur de la temporisation associée à la transition Tj).
On notera aussi l’existence des RdP P-temporels (respectivement T-temporels), pour lesquels on associe aux places (respectivement
aux transitions) une temporisation dont la valeur se situe à l’intérieur d’un intervalle [a, b]. Cette situation se rencontre typiquement
pour les bains de trempage ou les fours pour lesquels une pièce doit séjourner entre une durée minimale et une durée maximale.

Un RdP synchronisé est un 3-uplet 〈R, E, Sync〉 tel que :


R est un RdP marqué ;
E est un ensemble d’événements externes ;
Sync est une application de l’ensemble T des transitions de R dans E ∪ {e}, où e est l’événement toujours occurrent.

____________________________________________________________________________________________
6
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________

Exemple :
Un système du type file d'attente élémentaire est représenté fig. 3.a. Chaque client qui arrive est, soit servi
immédiatement par le serveur, soit il doit d'abord attendre dans la file jusqu'à ce que le serveur soit disponible.
Après avoir reçu le service, chaque client repart. Vue comme un SED, on associe à la file d'attente un ensemble
d'événements ∑ = {a, s, d} où a désigne l'événement "arrivée du client", s l'événement "démarrage du
service" et d l'événement "départ du client". La fig. 3.b représente une modélisation de ce procédé par réseau
de Petri synchronisé :
P = {F, SO, SL} ; T = {T1, T2, T3} ; ∑ = {a, s, d} ; m0T = [0, 0, 1]
avec F : file, SO : serveur occupé, SL : serveur libre, Σ : ensemble des événements externes

• le tir de la transition source T1 est lié à


a T1
arrivée client l’occurrence de l’événement a.
SL
File Serveur F • le tir de la transition T2 est lié à 2
arrivée départ
conditions :
client client s T2
démarrage service - validation par la présence d'au moins un
client dans la file F (matérialisée par la
SO présence d’au moins un jeton dans la place
F) et le fait que le serveur soit libre
d T3 (présence d’un jeton dans la place SL),
- le démarrage effectif du service
départ client
(occurrence de l’événement s).
(fin du service)
• un jeton dans la place SO indique que le
serveur est occupé.
fig. 3.a fig. 3.b

L'état du système modélisé par le RdP est représenté par le vecteur de marquage définissant le nombre de
jetons que contient chaque place. L’évolution de l’état (dynamique du système) correspond donc à une évolution
du marquage. L’évolution du marquage se produit par le franchissement de transitions : à l'occurrence d'un
événement correspond le franchissement d'une transition, si certaines conditions sur le marquage de ses places
amont sont satisfaites (dans le cas d’un RdP autonome seuls les marquages des places interviennent pour le
franchissement des transitions). L'espace des marquages accessibles tient lieu d'espace d'états.

Par analyse, deux types de propriétés sont étudiées à partir d’un modèle RdP :
• celles indépendantes du marquage initial (propriétés de structure),
• celles dépendant du marquage initial (propriétés de comportement).
Parmi les principales propriétés que l’on peut extraire du modèle citons la bornitude, la vivacité (non blocage),
l’accessibilité, la réinitialisabilité, la présence de conflits effectifs, le temps de cycle (pour un RdP temporisé), etc.
Les principales méthodes d’analyse des propriétés peuvent être classées en trois groupes :
• graphe des marquages ou de l’arborescence de couverture. Une arborescence est un graphe particulier
composé d’arcs orientés qui divergent progressivement à partir d’un nœud appelé racine de l’arborescence
(une arborescence ne contient pas de circuit),
• algèbre linéaire (dans ℵ ),
• réduction de RdP.
L'algèbre linéaire rend possible l'étude de propriétés structurelles, en particulier par la recherche des
invariants linéaires de places (composantes conservatives) et des invariants linéaires de transitions (composantes
répétitives) et donne aussi des résultats dépendant du marquage. On peut en déduire si le réseau est borné ou
sauf, sans blocage et s'il est réinitialisable ou vivant.
____________________________________________________________________________________________
7
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
Si depuis un marquage mi, on atteint un marquage mk avec la séquence de franchissement S (de vecteur
caractéristique s de dimension m dont la composante numéro j correspond au nombre de franchissements de la
transition Tj dans S), on peut écrire l'équation fondamentale :
mk = mi + W ⋅ s
avec W la matrice d'incidence du réseau.

On notera deux structures particulières de RdP :


• les graphes d’état, tels que toute transition a exactement une place d’entrée et une place de sortie. Ils
permettent de visualiser des conflits (décisions), mais pas des phénomènes de synchronisation ;
• les graphes d’événements, tels que toute place a exactement une transition d’entrée et une transition de sortie.
Ils permettent de visualiser des phénomènes de synchronisation mais pas de conflits. De nombreux résultats
existent pour cette sous-classe de modèles.

Un RdP peut décrire un fonctionnement qui dépend du temps. Pour évaluer les performances dynamiques
(temporelles) du modèle, on peut associer des temporisations (nombres rationnels) aux transitions ou aux places.
Sous certaines conditions, après un certain régime transitoire, le réseau fonctionne en régime permanent. Pour
étudier le régime stationnaire (régime permanent) d'un RdP temporisé, on s'intéresse aux fréquences de
franchissement des transitions, ce qui permet de déterminer une période minimale de fonctionnement d'un réseau
temporisé3 [Sifakis 79] [Ramamoorthy et al. 80] [Mares et al. 94].

3.2. Algèbre des dioïdes

La structure algébrique de dioïde permet de modéliser et d’évaluer les performances de certains systèmes à
événements discrets, essentiellement les graphes d'événements temporisés (GET)4, via des équations d’état
linéaires, ce qui n'est pas possible par utilisation de l'algèbre classique [Baccelli et al. 92].
Cette approche présente de grandes analogies de forme avec la théorie "classique" des systèmes linéaires
continus.
A la différence du modèle d’état classiquement associé à un RdP, l’état considéré ici pour aboutir à cette
représentation linéaire est associé non plus aux places des GET mais à leurs transitions. Le temps, associé aux
événements, est intégré de manière naturelle à cette classe de modèles.

L’ensemble R∪ {-∞}, muni des lois max (notée ⊕) et + (notée ⊗) est un dioïde car il respecte les axiomes suivants :
l’opération ⊕ est associative ((a ⊕ b) ⊕ c = a ⊕ (b ⊕ c)), commutative (a ⊕ b = b ⊕ a), idempotente (a ⊕ a = a) et admet un élément
neutre noté ε (c’est-à-dire (a ⊕ ε = a)) ;
l’opération ⊗ est associative, distributive par rapport à ⊕ (c’est-à-dire ((a ⊕ b) ⊗ c = (a ⊗ c) ⊕ (b ⊗ c))), admet un élément neutre noté e
(c’est-à-dire (a ⊗ e = e ⊗ a = a)) et un élément absorbant ε (c’est-à-dire (a ⊗ ε = ε ⊗ a = ε)).
∀ a, b ∈ R∪ {-∞}, a ⊕ b = max(a, b) et a ⊗ b = a+b ; ε = -∞ et e = 0. Généralement on écrira ab pour a ⊗ b.
La structure algébrique (R∪ {-∞}, ⊕, ⊗), notée Rmax , est un dioïde commutatif (⊗ est commutative).

• La borne minimale de la période de fonctionnement, ou temps de cycle, pour un RdP P -temporisé s’exprime par :
τmin = max {x kT ⋅ D ⋅ W + ⋅ y / x kT ⋅ m 0 }, l’expression entre accolades étant évaluée pour chaque P -invariant x kT.
D est une matrice diagonale telle que Dii = di ; W + est la matrice d’incidence arrière ; y est le T -invariant.
• Soit un graphe d’événements temporisé fortement connexe. L’ensemble de ses circuits élémentaires est C = {C1 , C2 , ...}. Soient Ck un circuit
élémentaire, d(Ck) la somme des valeurs des temporisations des places composant ce circuit et m(Ck) la somme des valeurs des marquages des
places composant ce circuit. On montre alors que la borne minimale (fonctionnement en vitesse propre) du temps de cycle pour le graphe
d’événements considéré s’exprime simplement par :
τmin = max {d(Ck) / m(Ck)}, l’expression entre accolades étant évaluée pour chaque circuit élémentaire Ck ∈ C.

4
On rappelle que les graphes d'événements (GE) sont une sous-classe des réseaux de Petri ; ils modélisent des actions qui coopèrent en se
transmettant des résultats, mais ne permettent de modéliser ni des choix, ni des conflits d'allocation de ressources entre processus.

____________________________________________________________________________________________
8
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
De manière duale on définit le dioïde noté Rmin par la structure algébrique (R∪ {+∞}, ⊕, ⊗), les opérations ⊕ et ⊗ étant
définies par a ⊕ b = min(a, b) et a ⊗ b = a + b, avec ε = +∞ et e = 0.
La plus petite solution de l’équation linéaire x = ax ⊕ b est donnée par x = a*b avec a* = ⊕k∈N ak .
L’équation linéaire ax = b n’admet pas toujours une solution unique (quand elle existe). Cependant, il existe un sous-ensemble S de sous-
solutions ayant une borne supérieure. Cette borne est appelée résiduée à gauche de b par a.

Pour obtenir un modèle linéaire au sens de Rmax, il faut que le RdP associé soit un graphe d'événements.
Dans l'approche (max,+), l'état est constitué des dates de franchissement des transitions et xi(k) représente
la date du k e franchissement de la transition Ti. On associe à la place Pi la temporisation d i ; un jeton arrivé dans
la place Pi doit rester dans cette place pendant d i unités de temps (il est indisponible). Le k e tir de Ti peut se
produire après la k e arrivée d’un jeton dans les places en amont de Ti ; ces places auront donc reçu de leurs
transitions amont (une transition pour chaque place), la quantité k - m0(Pi) jetons, où m0 est le marquage initial du
graphe. A chaque transition Ti , on peut associer une application appelée dateur xi : k → xi(k).

Si, au lieu de s’intéresser aux dates de franchissement des transitions d’un graphe d’événements temporisé, on
considère le nombre de franchissements des transitions jusqu'à l’instant t , la description du comportement du
graphe peut se représenter par des équations (min,+)-linéaires. A chaque transition Ti , on peut associer une
application appelée compteur xi : t → xi(t).

Exemple :
Considérons une machine susceptible de fabriquer une pièce en d 3 unités de temps. Cette durée inclut le
chargement et le déchargement [Boimond 93]. La machine est pourvue d’un stock d’entrée. Le modèle du
système est représenté ci-dessous :

P2
Le tir de la transition T0 indique qu’une pièce pénètre dans le
P1 stock d’entrée représenté par la place P1.
Le tir de T1 représente le chargement de la pièce sur la machine
P3 quand celle-ci est libre (jeton alors présent dans la place P2) et
T0 T1 T2 qu’une pièce est présente dans le stock d’entrée.
La temporisation d 3 associé à la place P3 représente le temps de
fabrication.
fig. 4 d3 Le tir de T2 indique que la fabrication d’une pièce est terminée,
la machine est disponible.

Dans l’algèbre (max,+), le comportement du modèle au plus tôt (l’inégalité ≥ entre le premier et le
deuxième membre des deux équations ci-dessous devient l’égalité =) est décrit par :
x1(k+1) = max (x2(k), x0(k+1)) et x2(k) = x1(k) + d 3
qui s’écrit, en omettant ⊗ pour alléger l'écriture,
x1(k+1) = d 3 x1(k) ⊕ x0(k+1)
x2(k) = d 3 x1(k) où x1, x2, x0 sont des scalaires.
En posant, par analogie avec la théorie des systèmes, x0(⋅) = u(⋅) et x2(⋅) = y(⋅), alors l’équation d’état et
l’équation de sortie s’écrivent :
x1(k+1) = d 3 x1(k) ⊕ u 0(k+1)
y(k) = d 3 x1(k)

Cette représentation d’état peut se généraliser pour un modèle relatif à un système plus complexe (MIMO)
et toujours se ramener à une forme récurrente markovienne du type :
____________________________________________________________________________________________
9
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________

X(k) = AX(k-1) ⊕ BU(k)


Y(k) = CX(k)
où u l(j), xi(j) et yp(j) représentent ici les temps auxquels ont lieu respectivement les j e tirs de u l (entrée ou
commande), de xi (transition Ti), de yp (transition de sortie).

Les lois ⊕ et ⊗ utilisées pour le calcul matriciel suivent les mêmes règles que celles de l'algèbre usuelle :

Si A ∈ (Rmax )n×p, B ∈ (Rmax )n×p, alors C = A ⊕ B, avec cij = aij ⊕ bij = max(aij, bij).
Si A ∈ (Rmax )n×p, B ∈ (Rmax )p×q, alors C = A ⊗ B, C ∈ (Rmax )n×q et cij = ⊕ (aik ⊗ bkj) = max (aik + bkj).
k k
L’élément neutre pour ⊗ est la matrice identité, notée e, dont les éléments sur la diagonale principale sont égaux à 0 et tous les autres à
−∞ ; l’élément neutre pour ⊕ est la matrice zéro, notée ε, dont tous les éléments sont égaux à −∞.

Si l’entrée n’est pas une contrainte pour l’évolution de l’état du GET, celui-ci fonctionne alors en régime
autonome. Le calcul de la valeur propre λ de la matrice d’évolution A (cas irréductible)5 d’un GET permet de
déduire la période du régime stationnaire : la valeur propre λ correspond au temps de cycle du GET, c’est-à-
dire au temps séparant deux tirs consécutifs d’une transition. Ce régime périodique est généralement atteint après
un régime transitoire fini. La séquence et les dates de franchissement des transitions peuvent être déterminées
analytiquement pour le régime transitoire. On détermine ainsi avec précision le début du régime permanent
[Mares et al. 94].

Outre la représentation d’état présentée, il est possible d’obtenir une représentation du comportement
entrée-sortie des systèmes étudiés :
• la sortie correspond à une sup-convolution de la réponse impulsionnelle par l’entrée ;
• la sortie d’un GET mono-entrée mono-sortie apparaît comme le produit d’une série de transfert par une série
d’entrée par l’utilisation des transformées en γ et en δ (analogues à la transformée en z) ;
• la prise en compte simultanée des aspects événementiel et temporel conduit à une représentation bi-
dimensionnelle et à l’établissement d’une matrice de transfert entrée-sortie.

3.3. Langages et Automates

Ils permettent de traiter mathématiquement les problèmes relatifs aux SED, essentiellement d’un point de
vue logique (analyse qualitative).
La théorie des automates à états finis (à nombre d’états fini) a été principalement développée avec la théorie
des langages. Ces modèles reviennent à spécifier des ensembles d’états et des transitions entre ces états
[Arnold 92].
Chaque SED a un ensemble d’événements qui lui est associé, ces événements font évoluer le SED. Cet
ensemble Σ peut être vu comme un alphabet d’un langage et les séquences d’événements sont des mots (aussi
appelés chaînes) de ce langage. Un automate est alors un dispositif qui engendre un langage en manipulant
l’alphabet (les événements).

3.3.1. Langages

5
Le problème de la recherche de valeurs propres et vecteurs propres de la matrice A s’exprime comme la recherche de couples (λ, v), avec v ≠ ε
tels que :
A ⊗ v = λ ⊗ v.

____________________________________________________________________________________________
10
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
Un langage L, défini sur un alphabet Σ, est un ensemble de mots, ou de chaînes, formés à partir des (étiquettes des) événements dans Σ. La
longueur d’un mot s, notée s , correspond au nombre d’événements qui le composent.
Soit Σ = {α, β, γ} un alphabet. On peut alors définir un langage, par exemple, L1 = {ε, α, αββ} constitué de 3 mots seulement où le mot
vide est noté ε, soit ε = Ø . Un langage L2 tel que L2 = {tous les mots possibles de longueur finie qui démarrent avec l’événement α}
comporte un nombre "infini" de mots, ce langage ne peut pas être totalement décrit par une énumération.
La classe des langages réguliers peut être représentée par une expression régulière, expression compacte. Des opérations sur
des ensembles sont ainsi transformées en des opérations algébriques sur des expressions régulières. Les expressions régulières sont définies
à partir d’expressions élémentaires et des opérations de concaténation, d’union, de fermeture itérative6 [Hopcroft et al. 79]. Les
expressions régulières sur ∑ sont les expressions formées par les règles suivantes :
• ∅, ε et les éléments de ∑ sont des expressions régulières,
• si r1 et r2 sont des expressions régulières, alors (r1 ⋅ r2), (r1 + r2), (r1)* et (r2)* sont des expressions régulières.

Un exemple de calcul de L* : soit L = {abc , cba} , alors L* = ∪ Ln . On calcule de manière itérative L0 = {ε } , L1 = L L0 = {abc, cba },
n =0

L = L L = {abc, cba}{
2 1
. abc, cba }= {abcabc , abccba , cbaabc, cbacba }, L3 = L L2 , etc., ce qui conduit à
L = {ε , abc, cba , abcabc , abccba , cbaabc, cbacba ,...} . La concaténation n’est pas commutative ab ≠ ba .
*

Le théorème de Kleene établit l’équivalence entre les langages réguliers et les langages modélisables par des automates finis : il existe
toujours un automate qui génère un langage régulier donné et, à l’inverse, le langage d’un automate s’exprime toujours par une expression
régulière.

Quelques opérations sur les ensembles, utilisées par la suite, méritent d’être présentées.
L’ensemble ∑ * est un ensemble infini qui contient tous les mots susceptibles d’être formés à partir des éléments de ∑.
La notation ∑ 1 − ∑ 2 correspond à la différence de deux ensembles :
∑ 1 − ∑ 2 = {σ  σ est dans ∑ 1 et σ n’est pas dans ∑ 2}.
Le power set d’un ensemble ∑, noté 2∑, est l’ensemble de tous les sous-ensembles de ∑. Soit Σ = {a, b} , alors 2Σ = {Ø, {a}, {b}{
, a, b}} .
Une chaîne s1 est dite préfixe d’une chaîne s3 s’il existe une chaîne s2 ∈ ∑ * telle que s1s2 = s3. Une chaîne est le préfixe d’elle-même.
Le langage Préf(L) est la fermeture préfixielle d’un langage L. Le langage Préf(L) consiste en tous les préfixes des mots de L :
Pref(L) = {s1 ∈ ∑ *  ∃ s2 ∈ ∑ *, s1s2 ∈ L}.
Un langage L est fermé par ses préfixes (ou préfixe-clos) si L = Préf(L). Par exemple, L = {ε ,α ,αββ } n’est pas préfixe-clos ;
L = {ε ,α ,αβ , αββ } est préfixe-clos.

Exemple :
Soit Σ = {α, β, γ}, l’expression régulière (α + β)⋅γ* dénote le langage infini L = {α, β, αγ, βγ, αγγ, βγγ, αγγγ,...}.
Il est à remarquer qu’un langage régulier n’est pas nécessairement constitué d’un nombre fini de mots. En
revanche, tout langage fini peut être décrit par une expression régulière : si L = {s1, s2 ,K , sn } , alors l’expression
régulière s1 + s2 + L + sn définit ce langage.

3.3.2. Automates

Les automates considérés seront des automates finis (dont le nombre d’états est fini) et déterministes.

Un automate fini peut être défini par un 5-uplet A = (X, Σ, f, x0, XF) tel que :
X est l’ensemble (fini) des états ; c’est l’espace des états, il est discret ;
Σ est un alphabet fini ;
f est la fonction de transition (partielle si non définie pour certaines valeurs) d’état f : X × Σ → X ;

6
Soient l’alphabet Σ et deux langages A et B construits sur ce même alphabet.
• Concaténation : A⋅B = {w  w = u⋅v, u∈A, v∈B} ; l’élément neutre pour l’opération "⋅" est le mot vide ε, à savoir r⋅ε = ε⋅r = r.
• Union : A ∪ B = {w  w ∈ A ou w ∈ B}.

• Fermeture itérative (étoile de Kleene) : A* = ∪ An avec A0 = ε et An = A⋅An-1 , ∀ n ≥ 1. L’expression régulière associée à r* est alors : r* = ε
n =0
+ r + rr + rrr + ... on obtient un ensemble infini de chaînes.
____________________________________________________________________________________________
11
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
x0 est l’état initial ;
XF est l’ensemble d’états finals, XF ⊆ X.
L’état courant xi du système modélisé par l’automate résume l’information sur le passé. Cette information est suffisante pour déterminer
l’évolution future, connaissant les entrées appliquées appartenant à l’ensemble Σ.

Un langage L engendré par un automate (d’états) fini A est dit régulier. On le note L(A).

Exemple :
Soit l’automate représenté figure 5. L’état initial est repéré par une flèche entrante, l’état final xj, aussi appelé
état marqué, est représenté par un double cercle.
Soit Σ = {α, β} et l’expression régulière (α + β)*α.
Le langage L décrit par l’expression régulière (α + β)*α peut être reconnu par l’automate fini de la figure 5 ;
c’est le langage marqué Lm qui s’exprime par : Lm = {α ,αα , βα ,ααα ,αβα , βαα ,K}.

où X = {xi, xj}
β α
α x0 = xi ; XF = {xj}
xi xj et
f(xi, α) = xj f(xi,β) = xi
β f(xj,α) = xj f(xj,β) = xi

fig. 5

L’automate engendre le langage L(A) décrit par l’expression régulière (α + β )∗ + (α + β )∗ α . Ce langage


s’exprime par : L( A) = {ε ,α , β ,αα ,αβ , βα , ββ ,ααα ,αβα , βαα ,K} .

Une chaîne, ou séquence, s appartient au langage L d’un automate si f(x0, s) ! (c’est-à-dire si f(x0, s) est
définie). Une chaîne s est reconnue par un automate si f(x0, s) = x avec x ∈ XF.
Soit P l’automate modélisant le comportement d’un procédé. Soit L(P) tel que L(P) ⊆ ∑ * et L(P) non vide,
le langage constitué de tous les mots de l’automate P donné. Toute séquence d’événements qui se produit dans
l’automate est précédée de ses préfixes, donc L(P) = Préf(L(P)). Le langage Lm(P) tel que Lm(P) ⊆ L(P) est
appelé langage marqué de l’automate, il est constitué de tous les mots de l’automate dont l’exécution traduit la
réalisation d’une tâche (on atteint un –ou plusieurs- état final, c’est-à-dire marqué). Généralement, le langage
marqué n’est pas fermé par ses préfixes : les premières étapes d’une tâche ne représentent pas la réalisation de
cette tâche. Le couple (L(P), Lm(P)) ainsi défini modélise le comportement de l’automate et du SED sous-jacent.
Un automate est dit déterministe si l’état initial est unique et si la relation de transition, appliquée à un couple
(xi, σ), définit toujours un unique état. Un automate non déterministe peut avoir plusieurs états initiaux, et sa
relation de transition est définie par f : X × ∑ → 2X et non plus par f : X × ∑ → X.
Un état xj ∈ X est dit accessible s’il existe une chaîne s ∈ ∑ * telle que xj = f(x0, s), c’est-à-dire que
l’automate peut y accéder depuis l’état initial.
Un état xi ∈ X est dit co-accessible s’il existe une chaîne s ∈ ∑ * telle que xj = f(xi, s) ∈ XF, c’est-à-dire
que à partir de cet état l’automate peut atteindre un état marqué.
Un automate A est qualifié de non-bloquant lorsque tout état accessible est co-accessible, ce qui s’écrit
aussi : L(A) = Préf(Lm(A)) ; toute chaîne qui peut être générée par A est le préfixe d’un mot marqué.
Si on suppose qu’un langage est décrit par une expression régulière, on sait alors construire l’automate fini
associé à ce langage. Le problème inverse consiste à construire une expression régulière décrivant L(A) à partir
d’un automate A.

Exemple :
____________________________________________________________________________________________
12
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
Soit l’automate A de la fig. 6.

a b b
x1 x2 x3 x4
c a
x5

fig. 6

Procédons à la mise en équation du modèle afin d’établir le langage et le langage marqué correspondants de
l’automate A [Gouin 99]. Le langage L (A) correspond à tout ce qui peut être fait depuis l’état initial x1 . Le
langage marqué Lm (A) correspond à tout ce qui peut être fait à partir de l’état initial pour atteindre un –ou
plusieurs- état marqué.
Deux résultats sont nécessaires pour la résolution des équations :
la plus petite solution de l’équation X = AX + B est X = A*B (1)
*
et la plus petite solution de l’équation X = XA + B est X = BA . (2)
• Langage L(A).
Depuis chaque état, il faut décrire tout ce que l’automate peut faire (mise en équations), puis procéder par
substitution pour définir l’équation de l’état initial x1 uniquement par des événements (résolution de l’équation).
L’automate A se traduit par le système :
x1 = ax2 + ε
x2 = bx3 + cx5 + ε
x3 = ax2 + bx4 + ε
x4 = x5 = ε
La première équation exprime que depuis x1, l’automate peut rester dans l’état x1 (événement ε), ou atteindre
l’état x2 (sur occurrence de l’événement a).
En procédant par substitution, on obtient :
x3 = ax2 + b + ε
x2 = bx3 + c + ε = bax2 + bb + b + c + ε
= (ba)* (bb + b + c + ε) (application de (1)).
Ainsi :
x1 = a(ba)*(bb + b + c + ε) + ε = a(ba)*(ε + b + c + bb) + ε = L(A).

• Langage Lm(A).
Ce langage représente tout ce que l’automate peut faire à partir de l’état initial pour atteindre un état marqué.
Une première méthode, qui pourrait être qualifiée de "backward", procède de la manière suivante : pour tout état
accessible et co-accessible -c’est-à-dire dans l’exemple x1 , x 2 , x 3 , x 4 ( x 5 n’est pas co-accessible)-, il faut
chercher comment l’automate a pu arriver dans cet état, puis procéder par substitution pour résoudre l’équation
de l’état marqué. Si l’automate contient plusieurs états marqués, il faut résoudre une équation par état marqué et
le langage sera un « ou » entre ces différentes équations. L’automate A donne lieu au système :
x1 = ε ; x2 = x1a + x3a ; x3 = x2b ; x4 = x3b.
En procédant par substitution et en appliquant la relation (2), soit par exemple x 2 = a + x 2ba , d’où x 2 = a (ba)∗ ,
on aboutit à :
x4 = a(ba)*bb = Lm(A).
Une deuxième méthode, qui pourrait être qualifiée de "forward", procède de la manière suivante : depuis tout état
accessible et co-accessible il faut chercher tout ce que l’automate peut faire pour atteindre un état marqué, puis

____________________________________________________________________________________________
13
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
procéder par substitution pour résoudre l’équation de l’état initial. D’après l’automate A, il est possible de
construire le système :
x1 = ax2 ; x2 = bx3 ; x3 = bx4 + ax2 ; x4 = ε.
En procédant par substitution et en utilisant la relation (1), on aboutit à :
x1 = a(ba)*bb = Lm(A). Une autre expression possible est : Lm ( A) = ab(ab) * b .

Les concepts d'automate et de langage sont largement exploités dans la commande par supervision des SED.

4. COMMANDE DES SED

L'objectif d'une commande est d'imposer au procédé un comportement spécifié, tout en respectant un
ensemble de contraintes.
La synthèse de la commande est basée sur un modèle du procédé.
Le respect d’objectifs temporels nécessite des outils mathématiques aptes à manipuler des dates.

Cette section se veut volontairement synthétique, seules les grandes lignes de la commande des SED sont
abordées. La section 5 développera en détail les aspects commande par supervision.

4.1. Réseaux de Petri de commande

Les RdP permettent à la fois de modéliser le procédé et d'en représenter la commande [Godon et al. 97].
Dans le contexte des réseaux de Petri, les spécifications ou contraintes peuvent se décliner en état interdit
(marquage interdit), ensembles de marquages interdits, séquences d’événements interdites,... Pour cela, on va
restreindre par le contrôle le fonctionnement du procédé de telle manière que seulement les marquages légaux
puissent être atteints, donc interdire le tir de certaines transitions contrôlables. Généralement les modèles RdP
sont compacts, ils permettent de représenter un grand nombre d’états possibles du procédé avec un nombre de
places et de transitions limité. De plus, on peut mettre à profit la structure du modèle (graphes d'événements,
graphes d'états,...) et les propriétés résultantes (invariants, bornitude,...) pour diminuer la complexité algorithmique
de la synthèse de la commande [Holloway 90] [Baghdadi 96][Holloway et al. 97].
Des méthodologies de synthèse de la loi de commande ont été proposées ; parmi les outils existants, l'atelier
logiciel Petri MAKER permet, dans un environnement homogène, de modéliser, d'évaluer les performances et de
commander un système, via une interface d'entrées-sorties [Godon et al. 95a][Godon 96].Cette méthodologie a
été appliquée à la commande de convertisseurs statiques [Sechilariu et al. 95].

4.2. Suivi de trajectoires : séquences de dates de tirs

Considérons un objectif de pilotage en juste à temps d’un SED. Dans le cas d’un GET, il s’agit de répondre
au problème suivant : connaissant les dates de tir désirées des transitions de sortie, à quels instants doit-on tirer
au plus tard les transitions d’entrée afin que les jetons sortent au plus tard avant les dates désirées ? Dans le
cas d’une ligne de production cela revient à introduire les matières premières le plus tard possible tout en
respectant les demandes des clients.
Dans le cas théorique où le modèle est exact, une commande optimale vis-à-vis du juste à temps, reposant sur
une structure en boucle ouverte a été proposée en utilisant l’algèbre (max,+) [Baccelli 92].
Afin de compenser d’éventuelles erreurs de modélisation et/ou l’influence de perturbations extérieures, une
structure de commande en boucle fermée a été développée. Les différentes approches retenues s'inspirent de la
théorie linéaire des systèmes continus : problème de l’inversion du modèle, mise en œuvre d’un modèle de
référence, principe de la commande adaptative, synthèse de feedback linéaire dans les dioïdes. [Boimond et al.
96][Hardouin et al. 97][Menguy 97][ Cottenceau et al. 99a][Cottenceau 99b][Lahaye et al. 99].

____________________________________________________________________________________________
14
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
4.3. Commande sous contraintes : un exemple

Prenons l'exemple bien connu [Wonham 87] du chat et de la souris pouvant se déplacer dans un labyrinthe
de 5 pièces (fig. 6.a). Le chat peut évoluer à travers 7 portes (C1 à C7) et la souris à travers 6 portes (M 1 à M 6).
Le SED à commander (procédé) noté G est ici une combinaison (composition) des deux systèmes
indépendants : celui associé au chat, noté C, et celui associé à la souris, noté M. Ils peuvent être représentés par
les matrices des fig. 6.b et fig. 6.c.

chat
R1 C2 R2 0 1 2 3 4
0 c1 c4 ouverture des portes M 5 et C3
M2 M1 C3
1 c2 c7
2 c3
M3 3 c7 c5
C1 4 c6
C7 m4 ou c 2 m5 ou c 3
R0
C4
souris
0 1 2 3 4
M6
0 m1 m4
1 m3
M5 M4 C6
2 m2 fermeture des portes M 5 et C3
R3 C5 3 m6
R4 4 m5

fig. 6.a fig. 6.b et 6.c fig. 6.d

Par exemple, la souris peut se déplacer de la pièce R2 à la pièce R1 en franchissant la porte M 2 (événement m2) ;
le chat peut se déplacer depuis la pièce R3 à la pièce R4 à travers C5 (événement c5).

L'objectif de la commande consiste, dans la conception du système global (procédé + commande), à prendre
en compte les contraintes suivantes :
• dans l'état initial, le chat est dans la pièce R2 et la souris dans la pièce R4
• Les animaux ne doivent jamais être dans la même pièce
• le système peut être réinitialisé (l'état initial est toujours accessible)
• toutes les portes sont commandables (on peut assurer leur ouverture ou fermeture), excepté la porte C7
(toujours ouverte)
tout en permettant un déplacement maximal des animaux.
Les systèmes C et M ont chacun 5 états, leur produit synchronisé (composition) G permet de représenter le
comportement global du système composé du chat et de la souris. Il comporte donc 5 × 5 = 25 états.
Une méthodologie de prise en compte des différentes contraintes (statiques et dynamiques) conduit, par
affinages successifs, à une réduction du nombre des états de G, puis à l'obtention d'un modèle de commande que
l'on peut représenter par un réseau de Petri. La fig. 6.d montre le résultat obtenu pour notre exemple.
Les algorithmes mis en jeu, implantés sur calculateur, produisent un code exécutable, en mesure de
commander le système [Godon et al. 97].

Une application de la théorie de la supervision à la commande d'un atelier flexible est présentée dans
[Charbonnier et al. 95]. La synthèse de la commande est basée sur les concepts d'une modélisation par
automates et langages. La supervision suppose que l'on puisse interdire l'occurrence de certains événements, ce
qui sous-entend la notion d'événements contrôlables et événements incontrôlables. La section 5 a pour objectif de
présenter de manière détaillée la commande par supervision.

____________________________________________________________________________________________
15
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________

5. COMMANDE PAR SUPERVISION

Comme il a été déjà mentionné, l’objectif de toute commande est d’imposer au procédé un comportement spécifié, tout en
respectant un ensemble de contraintes.
La synthèse de la commande est basée sur un modèle du procédé.
Au niveau d’une description ol gique (qualitative), le comportement d’un SED est spécifié par la liste ordonnée des
événements, sans tenir compte du temps entre deux événements consécutifs. Un objectif typique de commande par
supervision est de faire en sorte qu’une séquence non désirée d’événements ne se produise pas.

5.1. Introduction

Les modèles machines à états sont de manière conceptuelle les plus attractifs à cause de leur simplicité inhérente et par le
fait qu'ils peuvent être décrits de façon adéquate par des automates à états finis et la théorie des langages réguliers.
Dans une approche automate, on modélisera un SED au niveau de son comportement logique par une paire de langages
notés L et Lm :
L = Pref(L) est l’ensemble des séquences que le SED peut générer,
Lm ⊆ L est le langage associé aux séquences qui conduisent à des états marqués ; il est utilisé pour représenter la réalisation
de certaines opérations particulières ou tâches.
Les langages L et Lm sont définis sur l’ensemble des événements, noté ∑.
Exemple 5.1. Soit l’automate de la figure 5.1 qui modélise le comportement d’un système suite à l’occurrence des
événements a, b, c ∈ ∑. L’état q 0 est l’état initial, l’état q 2 est l’état marqué.

q0
q1

b
c

q2

Figure 5.1. Automate modélisant le comportement d’un système.

Partant de l’état initial, on peut atteindre q 0 par l’occurrence de l’événement ε, de la séquence (d’événements) ab, de la
séquence abab, etc. Partant de l’état initial, on peut atteindre q 1 par l’occurrence de la séquence a, de la séquence aba, etc.
Partant de l’état initial, on peut atteindre q 2 par l’occurrence de l’événement c, de la séquence abc, etc. Le langage L associé à
ce modèle automate du procédé s’écrit donc sous forme d’une expression régulière :
L = (a⋅b)*⋅(ε + a + c)
Partant de l’état initial, on peut atteindre q 2 (état marqué) par l’occurrence de c, de la séquence abc, de la séquence ababc,
etc. Le langage Lm associé à ce modèle du procédé s’écrit donc sous forme d’une expression régulière :
Lm = (a⋅b)*⋅c
Cet exemple sera repris ultérieurement.
Apportons quelques informations supplémentaires.
On dispose d’un ensemble ∑ de trois événements a, b, c. En l’absence d’autres données, on peut construire à partir de ces
trois événements une infinité de mots (ε, cabacb, aaabcbcca, etc.) Ces mots appartiennent à ∑ *, et sont indépendants de
toute considération physique. Si l’automate est censé représenter les comportements possibles du système, l’ensemble des
comportements possibles est alors un sous ensemble de ∑ *. Si on impose une spécification du type ababc, alors cela revient
à restreindre le comportement (physiquement) possible. Affectons à l’état q 0 la signification machine en attente, à l’état q 1 la
signification machine en opération et à l’état q 2 machine à l’arrêt. Envisageons deux cas, l’objectif étant de satisfaire la
spécification, à savoir la séquence ababc :

____________________________________________________________________________________________
16
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
• si tous les événements sont contrôlables (cela signifie par exemple que la machine étant en attente le “conducteur ”de la
machine décide quand il le veut d’autoriser ou pas l’occurrence de l’événement a ou l’occurrence de l’événement c), on
interdira d’abord l’occurrence de c (les autres événements étant autorisés à se produire). Puis, après l’occurrence de a,
on pourra n’interdire aucun événement (si on admet que a et c sont alors sans effet compte tenu du comportement
physique du système). Après l’occurrence de b, on devra interdire c, puis après l’occurrence de a, on n’interdira aucun
événement. Après l’occurrence de b on interdira a et autorisera c.
Nous laissons au lecteur le soin de faire la relation avec un distributeur automatique de billets (simplifié) tel que le clavier
comporterait trois touches et le code confidentiel serait ababc.
• si par exemple seul l’événement c n’est pas contrôlable, cela signifie que le conducteur de la machine ne pourra pas
interdire l’occurrence de l’événement c dès lors que la machine est en attente, ce qui peut amener au non respect des
spécifications.
C’est la présence d’événements incontrôlables qui rend difficile la synthèse d’une commande pour les systèmes à
événements discrets.

Dans une approche réseaux de Petri, l’occurrence d’un événement correspond au franchissement d’une transition, si
certaines conditions relatives au marquage des places sont satisfaites. L’état du système est représenté par le vecteur des
marquages des places. L’espace des marquages accessibles tient lieu d’espace d’état.

5.1.1. Modélisation et commande des SED

Dans la théorie de base de RW, il est supposé que les événements associés au procédé se produisent instantanément,
spontanément, c’est-à-dire qu’il n’y a pas de mécanisme de forçage auxiliaire, et de manière asynchrone, c’est-à-dire qu’ils ne
sont pas dépendants d’une horloge. De plus on suppose qu’ils sont observables à l’extérieur du procédé par leur étiquette σ.
Le problème du chat et de la souris va servir à illustrer les différentes notions rencontrées.
Exemple 5.2. Le procédé est constitué de cinq pièces (R0 à R4), dans lesquelles se trouvent un chat et une souris. Les
pièces communiquent entre elles par diverses portes, à l’usage exclusif d’un des animaux (figure 5.2a). Ainsi, seul le chat peut
emprunter les portes Ci, tandis que la souris ne peut emprunter que les portes Mj (dans le sens indiqué par les flèches). En
associant un événement à chaque franchissement de porte et un état à chaque situation géographique des animaux, on décrit
successivement par les figures 5.2b et 5.2c les comportements du chat et de la souris. Le passage de l’état “souris en R0” à
l’état “souris en R4” a lieu sur l’occurrence de l’événement (instantané, spontané, asynchrone) m4. L’ensemble des
événements relatifs à ce procédé s’écrit : ∑ = {m1, m2, ..., m6, c1, c2, ..., c7}. On suppose que l’état initial du système est décrit
par “chat en R2” et “souris en R4”. On conçoit que la modélisation du comportement du “couple chat-souris” nécessite une
opération supplémentaire que l’on appellera composition et qui sera définie plus loin.

C2 R1 c2 R2 R1 m2 R2
R2
M2
M1 C3
c1 c3 m3 m1
R1 M3
C1 c7 c7 R0 R0

C7 c4 c6 m6 m4
C4 R0
M6
M4 C6 R3 c5 R4 R3 m5 R4
R3 M5

C5 R4

(a) (b) (c)

Figure 5.2. (a) Possibilité d’évolution des animaux. (b) Modélisation du comportement du chat. (c) Modélisation du comportement de la
souris.

Après analyse et modélisation (partielle) du procédé, énonçons les spécifications que doit remplir le système :
• les deux animaux ne doivent jamais se rencontrer (on comprend aisément pourquoi). Ceci est un problème d’exclusion
mutuelle, de sécurité.

____________________________________________________________________________________________
17
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
• les deux animaux doivent pouvoir toujours regagner leur pièce initiale, c’est-à-dire R2 pour le chat et R4 pour la souris.
Ceci est un problème de retour à l’état initial ou réinitialisation.
Pour cela, chaque porte peut être ouverte ou fermée, à l’exception toutefois de C7, toujours ouverte. Un événement est
associé au franchissement d’une porte par l’un des animaux. Interdire l’occurrence d’un événement consiste, dans le
système, à fermer la porte associée. Par conséquent, à l’exception de l’événement c7 qu’on ne peut interdire de se produire et
qui sera qualifié d’événement incontrôlable, puisque associé à la porte C7 toujours ouverte, tous les autres événements
peuvent être interdits par la fermeture des portes correspondantes et seront qualifiés d’événements contrôlables.
Le rôle de la commande (supervision) est d’observer la séquence (trajectoire) des événements générés par le procédé et après
chaque événement généré, compte tenu de la partition entre événements contrôlables et incontrôlables, d’autoriser ou
interdire l’occurrence des événements contrôlables (on ouvrira ou fermera les portes correspondantes) de manière à satisfaire
les spécifications. Par exemple pour le premier point des spécifications, on conçoit que si la séquence des événements est :
c3c1c2m5 suivis de m6, alors il faudra que le superviseur interdise pour ce point de fonctionnement l’occurrence de
l’événement c3 (la porte devra être fermée). Si au cours du fonctionnement, on se trouve dans la situation pour laquelle le
chat est en R1 et la souris en R3, on conçoit que l’occurrence de l’événement incontrôlable c7 ne pouvant être interdite, l’un
des animaux servira de déjeuner à l’autre et la spécification ne sera pas respectée. L’occurrence de cet événement non
contrôlable fait sortir de la spécification ; cette notion sera formalisée par les langages contrôlables (ou commandables) .
Remarque 5.1. Nous avons introduit la notion de spécification en énonçant que les deux animaux ne devaient pas se
trouver dans la même pièce. Cette spécification a un caractère négatif par le fait qu’elle indique ce que ne doit pas faire le
procédé pour des raisons de sécurité. Dans les systèmes de production il est courant de rencontrer des spécifications du
type “le stock de pièces entre deux machines ne doit pas dépasser une quantité donnée” ; ceci peut être assimilé à une
contrainte (de stock). Une spécification du type “l’ordre de réparation des machines, en cas de pannes multiples est imposé”
présente un caractère positif, en ce sens qu’elle indique ce que doit faire le procédé ; il en est de même du problème de
reinitialisation évoqué précédemment. La modélisation des spécifications, exprimées la plupart du temps sous forme littérale,
est en général un problème difficile.

5.1.2. Composition d’automates

Un procédé réel est souvent composé de procédés élémentaires en interaction plus ou moins forte. Supposons deux
machines indépendantes au sein d’un même atelier. Leur comportement individuel peut être décrit par un automate (un pour
chaque machine), chaque automate disposant de son propre alphabet des événements. Le comportement de l’ensemble des
deux machines, vu de l’atelier, peut être décrit par un seul automate moyennant une composition des deux automates
précédemment évoqués. On parle alors de composition asynchrone (aucun événement commun). Dans le cas où ces deux
machines ont une liaison qui les amène à partager au moins un événement commun, on parlera de composition synchrone. La
composition est donc l’outil permettant de construire un procédé complexe à partir de procédés élémentaires. De plus, on
verra dans la section 5.2. qu’elle intervient aussi dans l’élaboration de la commande par supervision du procédé : il y a
composition du procédé avec les spécifications. La composition occupe donc une place essentielle dans l’étude des
systèmes à événements discrets.
En désignant par ∑1 (respectivement ∑2) l’ensemble des événements associé au procédé 1 (respectivement au procédé 2),
nous traitons trois cas de composition7, selon que :
Σ1 ∩ Σ2 ≠ 0 synchronisation d’événements avec étiquettes σi en commun
Σ1 ∩ Σ2 = 0 pas de synchronisation d’événements
Σ1 = Σ2 synchronisation totale
On définit le produit cartésien de Q par X, noté Q × X, par l’ensemble des paires ordonnées (q, x) telles que q ∈ Q et x ∈ X.

5.1.2.1. Composition synchrone


Soit L1 ⊆ ∑1*, L2 ⊆ ∑2*, avec Σ1 ∩ Σ2 ≠ 0 et Σ = Σ1 ∪ Σ2
Soient deux automates
A1 = (Q, Σ1, δ, q 0, Qm) et A2 = (X, Σ2, ξ, x0, Xm)
Le composé synchrone Ar de A1 et A2, noté Ar = A1|| A2 est défini par le 5-uplet :

(Q × X, Σ1 ∪ Σ2, δ × ξ, q 0 × x0, Qm × Xm)

où Q × X est l'ensemble des états


Σ1 ∪ Σ2 = Σ représente l'alphabet de Ar
q 0 × x0 est l'état initial

7
La composition synchrone est généralement définie sur les langages Li et nécessite les opérations de projection et de projection inverse.
Nous retiendrons que la composition synchrone est associative : (L1 L2) L3 = L1 (L2 L3).
____________________________________________________________________________________________
18
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
Qm × Xm est l'ensemble des états finals
et où la fonction de transition d'états δ × ξ est définie par :

(δ × ξ)((q, x), σ) = (q', x') si δ (q, σ) = q'! et ξ (x, σ) = x'! (synchronisation sur un événement commun) (1)

(δ × ξ)((q, x), σ) = (q', x) si δ (q, σ)! avec σ ∈ Σ1 \ Σ2 (2)

(δ × ξ)((q, x), σ) = (q, x') si ξ (x, σ)! avec σ ∈ Σ2 \ Σ1. (3)

Les événements qui appartiennent à ((Σ2 \ Σ1) ∪ (Σ1 \ Σ2)) n'introduisent pas de contrainte et peuvent être exécutés dès que
possible.
Exemple 5.3. Soient Σ1 = {α, β} et Σ2 = {β, γ}. Les automates A1 et A2 associés aux deux procédés considérés sont
représentés ci-après.

α
1 2 β
β 1 2
β
γ
3

On déduit : L1 = {ε, α, αβ, αββ, ...} et L2 = {ε, β, βγ, ...}


Σ1 ∩ Σ2 = β et Σ = Σ1 ∪ Σ2 = {α, β, γ}.

• Dans leur état initial, les deux automates ne sont pas sensibles à l’événement commun β ; la relation (1) ne peut
s’appliquer. L’événement α appartient à l’ensemble des événements actifs lorsque l’automate A1 est dans l’état initial et α
n’appartient pas à l’ensemble des événements ∑2 associés à l’automate A2 (α ∈ ΣA1(q) \ Σ2) ; la relation (2) s’applique
donc. On peut par ailleurs vérifier que β appartient bien à l’ensemble des événements actifs lorsque l’automate A2 est
dans l’état initial, mais β appartient aussi à ∑1 ; la relation (3) ne peut s’appliquer. L’automate résultant de la composition
(Ar) évoluera donc depuis son état initial vers l’état suivant sur l’occurrence de l’événement α, comme représenté ci-
dessous.

α
11 21
11

• L’automate A1 a évolué depuis son état initial vers l’état suivant sous l’occurrence de l’événement α. L’automate A2 est
resté dans son état initial. Ces deux automates deviennent maintenant sensibles à l’événement (commun) β. La relation (1)
peut s’appliquer. L’automate Ar évoluera comme représenté ci-dessous.

α β

• L’automate A1 devient alors sensible à l’événement β, l’automate A2 à l’événement γ. La relation (3) s’applique alors :
l’événement γ appartient à l’ensemble des événements actifs de l’automate A2 dans son état courant et γ n’appartient pas
à l’ensemble des événements ∑1 associés à l’automate A1. L’automate Ar évoluera comme représenté ci-dessous.

α β γ

• A l’étape suivante, β étant un événement commun, la relation (1) s’applique. On obtient pour Ar :
α β γ β

____________________________________________________________________________________________
19
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
• L’événement α est maintenant actif pour A1 et γ l’est pour A2. Ils remplissent respectivement les conditions associées aux
relations (2) et (3).
Si on considère l’évolution selon γ on obtient pour Ar :

α β γ β

Si on considère l’évolution selon α on obtient pour Ar :

α β γ β
α

• Nous laissons le soin au lecteur de terminer la construction de l’automate Ar (le composé synchrone) qui représente tous
les comportements possibles du procédé résultant du couplage des deux procédés élémentaires par l’intermédiaire de
l’événement β (ceci n’est pas sans rappeler l’expérience bien connue en physique d’un couplage élastique entre deux
pendules élémentaires ; toutefois les outils mathématiques utilisés pour modéliser les comportements sont totalement
différents). Le résultat final est représenté ci-dessous.

α β γ β α

5.1.2.2. Composition asynchrone


Soit L1 ⊆ ∑1*, L2 ⊆ ∑2*, avec Σ1 ∩ Σ2 = 0 et Σ = Σ1 ∪ Σ2
(pas d’événement commun)
Soient deux automates
A1 = (Q, Σ1, δ, q 0, Qm) et A2 = (X, Σ2, ξ, x0, Xm)
Le composé Ar de A1 et A2, noté Ar = A1|| A2 est défini par le 5-uplet :

(Q × X, Σ1 ∪ Σ2, δ × ξ, q 0 × x0, Qm × Xm), avec

(δ × ξ)((q, x), a) = (q', x) si δ (q, a) = q' pour a ∈ Σ1 (4)

(δ × ξ)((q, x), a) = (q, x') si ξ (x, a) = x' pour a ∈ Σ2 (5)

La composition asynchrone n’est qu’un cas particulier de la composition synchrone.


Exemple 5.4. Soient deux machines indépendantes qui traitent des pièces brutes et produisent des pièces usinées. On
peut associer à chacune d’elle un automate décrivant son comportement, avec ses événements associés.
Soit ∑1 = {d 1, f1, p 1, r1} l’ensemble des événements associé à l’automate noté M1 et Σ2 = {d 2, f2, p 2, r2} l’ensemble des
événements associé à l’automate noté M2. On associe aux événements respectivement les significations de début
d’opération, fin d’opération, panne, réparation.

q0 q3

f1 r1 f2 r2
d1 d2

q1 p1 q2 q4 p2 q5

M1 M2

____________________________________________________________________________________________
20
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
Σ1 ∩ Σ2 = 0 et Σ = Σ1 ∪ Σ2 = {d 1, f1, p 1, r1, d 2, f2, p 2, r2}
Le modèle défini par Mr = M1||M2 est représenté par le graphe de transitions d'états ci-dessous :

r1
f1 q 13 q 23
q 03
d1 p1

d2 f2 d2 f2 d2 f2
r1
d1
q 24
q 14 p1
q 04
f1
r2 p2 r2 p2 r2 p2
r1
d1
q 15 p1
q 05 q 25
f1

Il représente le comportement global du système composé des deux machines élémentaires.


Remarques 5.2. Bien que ceci n’ait aucune relation avec la composition, on note sur les figures précédentes la présence
de traits associés à certains événements. Ceci permet de particulariser les événements en événements contrôlables et non
contrôlables. En effet, le départ d’un cycle de fonctionnement d’une machine peut être autorisé ou interdit (donc
contrôlable), alors que la panne est une chose qui ne peut malheureusement pas être interdite, elle est par conséquent
toujours autorisée (donc non contrôlable).
Ainsi, ΣC = {d 1, d 2, r1, r2} et Σu = {f1, f2, p 1, p 2}
Si m est le nombre d’états associé à l’automate M1 et n le nombre d’états associé à l’automate M2, le nombre d’états
associé à l’automate Mr sera égal à m x n dans le cas d’une composition asynchrone.

5.1.2.3. Composition complètement synchrone


Σ1 = Σ2 = Σ. Compte tenu de ces hypothèses sur les ensembles, les relations (2) et (3) de la section 5.1.2.1. ne seront
jamais vérifiées.
La relation de composition se réduit à :

(δ × ξ)((q, x), a) = (q', x') si δ (q, a) = q' et ξ (x, a) = x' pour a ∈ Σ et (q, x) ∈ (Q×X)

et non définie sinon (6)

Exemple 5.5. Soient Σ1 = {α, β, γ, δ} = Σ2 = Σ et S 1 et S 2 deux automates dont on veut réaliser la composition.

S1
β γ
à partir de là,
pas d'événement
α commun
⇒ blocage
S2 δ
β

____________________________________________________________________________________________
21
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________

L’automate résultant S r est représenté ci-après.

L’opération de composition complètement synchrone est généralement notée ‘×’ ; les langages résultants obéissent aux
relations ci-dessous :
L(S r) = L(S 1 × S 2) = L(S 1) ∩ L(S 2)
Lm(S r) = Lm(S 1 × S 2) = Lm(S 1) ∩ Lm(S 2)
Ce type de composition complètement synchrone se rencontrera lors du fonctionnement en parallèle du procédé avec son
superviseur (voir § 5.2).

____________________________________________________________________________________________
22
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________

6. CONCLUSION

L'espace d'état des Systèmes à Evénements Discrets est discret et le changement d'état est lié à
l'occurrence d'événements.

Pour cette (large) classe de systèmes, la conception (intégrant la sûreté de fonctionnement), la mise en
évidence de caractéristiques par l'analyse et l’évaluation de performances, le respect d'un comportement par
synthèse d'une commande, nécessitent le développement de modèles et de méthodologies spécifiques. La prise en
compte d'incertitudes, de perturbations, de défaillances, conduit à des modèles stochastiques.

Il n'existe pas de cadre théorique unique pour l'étude des SED. En l’absence de théorie standard, de
nombreux outils reconnus sont utilisés à la fois par des chercheurs de la communauté Automatique et des
chercheurs de la communauté Informatique, tels que les réseaux de Petri, l’algèbre des dioïdes, les automates et
les langages, les files d’attente,... Cette diversité peut s’expliquer du fait de l’intérêt scientifique relativement
récent pour ces systèmes et aux différents problèmes qu’ils soulèvent. ; vis-à-vis des systèmes de production, la
planification de la production, l’ordonnancement de la production, l’approvisionnement des entrées, la gestion des
flux peuvent être considérés, selon un certain point de vue, comme appartenant à la famille des SED.

Les systèmes industriels deviennent de plus en plus complexes et les détails nécessaires pour modéliser et
commander sont différents à chaque niveau8. Les procédures de décomposition, d'agrégation,... facilitent l'étude
de ces systèmes. "Le" modèle adopté doit être adapté à son objectif.
Classiquement, l'évaluation des performances à base de modèles est faite par simulation sur calculateur ou par
des techniques analytiques.

L'exposé a mis en évidence les notions de comportement logique et de comportement temporel (régime
transitoire puis régime permanent pour un fonctionnement cyclique). Certains problèmes d'optimisation consistent
par exemple à minimiser le nombre de ressources, un temps d'attente, à maximiser un flux de sortie,... La stabilité
(par exemple le nombre de pièces dans un stock est fini), la commandabilité, l'observabilité sont également des
concepts étudiés dans le cadre des SED.

Le nombre d'états physiques d'un SED explose de manière combinatoire (si de plus on couple trois
systèmes possédant respectivement, l, m, n états, on obtient en général un système résultant à lxmxn états). Les
temps de calculs peuvent devenir prohibitifs. Pour la synthèse de la commande, on recherchera des algorithmes
performants. Parallèlement on s'oriente pour les systèmes complexes vers le contrôle décentralisé.

Enfin, on ne peut ignorer -comme c'est le cas des procédés manufacturiers- l'interaction entre l'Homme et
le SED.

8
On peut rencontrer des systèmes dont le fonctionnement est manifestement de type "continu", excepté sur l'occurrence d'événements discrets
qui provoquent des sauts de leur trajectoire. Ces sauts peuvent correspondent à des changements de mode opératoire. On associe généralement à
de tels systèmes le qualificatif de "hybrides" Plus généralement, des systèmes hybrides ont un comportement qui est déterminé par l’interaction
entre une partie continue et une partie discrète [Cebron et al. 99].
____________________________________________________________________________________________
23
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________

BIBLIOGRAPHIE

[Alla et al. 01] A. Alla, R. David, M. Di Mascolo, J.-L. Ferrier. Analyse et commande des systèmes à événements discrets.
Hermès Ed., 2000.

[Arnold 92] A. Arnold. Systèmes de transitions et sémantique des processus communicants. Masson, 1992.

[Baccelli et al. 92] F. Baccelli, G. Cohen, G.J. Olsder, J.P. Quadrat. Synchronization and linearity. An algebra for Discrete Event
Systems. Wiley, 1992.

[Baghdadi 96] L. Bagndadi - Ben-Naoum. "Control of discrete event systems modelled as Petri nets". Thèse de l’Université
Catholique de Louvain, Belgique, décembre 1999.

[Boimond 93] J.L. Boimond. "Internal model control of discrete-event process in the max-algebra". ECC'93, p. 150-157,
Groningen (NL), 28 juin-1 juillet 1993.

[Boimond et al. 96] J.-L. Boimond, J.-L. Ferrier. "Internal model control and max-algebra. controller design". IEEE transactions on
Automatic Control, vol. 41, n° 3, p. 457-461, 1996.

[Brams 83] G.W. Brams. Réseaux de Petri : théorie et pratique. Masson, 1983.

[Calvez 90] J.P. Calvez. Spécification et conception des systèmes. Masson, 1990.

[Cassandras 93] C.G. Cassandras. Discrete Event Systems : modeling and performance analysis. Aksen Associates Incorporated
Publishers, 1993

[Cebron et al. 99] B. Cebron, M. Sechilariu, J. Burger. "Optimal control of hybrid dynamical systems with hysteresis". ECC’99,
Karlsruhe, Allemagne, 31 août-3 sept. 1999.

[Charbonnier 95] F. Charbonnier, H. Alla, C. Foulard. "Commande par supervision d'un atelier flexible". Actes des Journées EEA-
Automatique, avril 1995.

[Cottenceau et al. 99a] B. Cottenceau, L. Hardouin, J.-L. Boimond, J.-L. Ferrier. "Synthesis of greatest linear feadback for timed-event
graphs in dioid". IEEE transactions on Automatic Control, vol. 44, p. 1258-1262, 1999.

[Cottenceau 99b] B. Cottenceau. "Contribution à la commande de systèmes à événements discrets : synthèse de correcteurs pour
les graphes d’événements temporisés dans les dioïdes". Thèse de l’Université d’Angers, octobre 1999.

[David et al. 89] R. David, H. Alla. Du Grafcet au réseaux de Petri. Hermès, 1989.

[Godon et al. 95a] A. Godon, J.L. Ferrier. "L’atelier logiciel Petri Maker. Commande de systèmes par réseaux de Petri". Revue
d’Automatique et de Productique Appliquée (RAPA), vol. 8, n° 6, p. 813-821, 1995.

[Godon 96] A. Godon. "Contribution à la commande des systèmes à événements discrets par réseaux de Petri". Thèse de
l’Université d’Angers, novembre 1996.

[Godon et al. 97] A. Godon, J.L. Ferrier. "Supervisory control for synchronized and colored Petri nets under static and dynamic
constraints". MCPL’97 - IFAC/IFIP, Campinas, Brésil, 31 août - 3 sept. 1997.

[Gouin et al. 99a] A. Gouin, J.-L. Ferrier. "Modélisation et commande supervisée des SED temporisés". MSR’99, Modélisation des
systèmes réactifs, Cachan, p. 383-394, 24-26 mars 1999.

[Gouin 99b] A. Gouin. "Contribution à la commande de systèmes à événements discrets temporisés : synthèse de superviseur
dans le cadre de modèle automate". Thèse de l’Université d’Angers, décembre 1999.

____________________________________________________________________________________________
24
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04
Systèmes Dynamiques à Evénements Discrets
_____________________________________________________________________________________________________________
[Hardouin et al. 97] L. Hardouin, E. Menguy, J.-L. Boimond, J.-L. Ferrier. "SISO discrete event systems control in dioid agebra".
Special issue of Journal Européen des Systèmes Automatisés (JESA), vol. 31, n° 3, p. 433-452, 1997.

[Ho 89] Y.C. Ho, guest editor, special Issue on Dynamics of Discrete Event Systems
Proc. IEEE, vol. 77, n° 1, janvier 1989.

[Holloway et al. 90] L.E. Holloway, B.H. Krogh. "Synthesis of feadback control logic for a class of controlled Petri nets". IEEE
transactions on Automatic Control, vol. 35, p. 514-523, 1990.

[Holloway et al. 97] L.E. Holloway, B.H. Krogh, A. Giua. "A survey of Petri nets methods for controlled discrete event systems".
Discrete event dynamic systems : theory and applications, vol. 7, p. 151-190, 1997.

[Hopcroft et al. 79] J.E. Hopcroft, J.D. Ullman .Introduction to Automata Theory, Languages, and Computation. Addison-Wesley,
1979.

[Kumar et al. 91] R. Kumar, V. Garg, S.I. Marcus. "On controllability and normality of discrete event dynamical systems".
Systems and Control Letters, vol. 17, p. 157-168, 1991.

[Kumar et al. 95] R. Kumar, V. Garg. Modeling and control of logical discrete event systems. Kluwer Academic Publishers, 1995
.
[Lahaye et al. 99] S. Lahaye, J.-L. Boimond, L. Hardouin. "Graphes d’événements temporisés avec ajout/retrait dynamique de
jetons : comportement asymptotique, représentation dans l’algèbre (min,+)". MSR’99, Modélisation des systèmes
réactifs, Cachan, p. 27-37, 24-26 mars 1999.

[Mares et al. 94] M. Mares, J.L. Ferrier. "Réseaux de Petri et algèbre (max,+) : deux approches pour l'étude des systèmes à
événements discrets". APII, vol. 28, n° 4, p. 311-329, 1994.

[Menguy 97] E. Menguy. "Contribution à la commande des systèmes linéaires dans les dioïdes". Thèse de l’Université
d’Angers, novembre 1997.

[Murata 89] T. Murata. "Petri nets : properties, analysis and applications". Proc. IEEE, vol. 77, n° 4, p. 541-580, avril 1989.

[Ramadge et al. 87] P.J. Ramadge, W.M. Wonham. "Supervisory control of a class of discrete-event processes". SIAM J. Contr.
Optim., vol. 25, n° 1, p. 206-230 , janv. 1977.

[Ramadge et al. 89] P.J. Ramadge, W.M. Wonham. "The control of discrete-event systems". Proc. IEEE, vol. 77, n° 1, p. 81-97,
janv. 1989.

[Ramamoorthy et al. 80] C.V. Ramamoorthy, G.S. Ho. "Performance evaluation of asynchronous concurrent systems using Petri nets".
IEEE Trans. on Software Engineering, vol. 6, n° 5, p. 440-449, sept. 1980.

[Sechilariu et al. 95] M. Sechilariu, J. Berrué, J.L. Ferrier. "Faisabilité et limites d'une commande interactive de convertisseurs
statiques". RGE, n° 1, p. 41-49, janvier 1995.

[Sifakis 79] J. Sifakis. "Use of Petri Nets for performance evaluation". Acta Cybernetica, vol. 4, n° 2, p. 185-202, 1979.

[Wonham et al. 87] W.M. Wonham , P.J. Ramadge. "On the supremal controllable sublanguage of a given language". SIAM J. Contr.
Optim., vol. 25, n° 3, p. 637-659, mai 1987.

[Wonham 95] M. Wonham. Notes on control of discrete event systems. ECE 1636F/1637S, University of Toronto, Caanada,
1995.

____________________________________________________________________________________________
25
Modèles et Systèmes Jean-Louis Ferrier, Jean-Louis Boimond juin 04

Vous aimerez peut-être aussi