DEPARTEMENT D'INFORMATIQUE MEMOIRE
Embed Size (px)
Transcript of DEPARTEMENT D'INFORMATIQUE MEMOIRE

DEPARTEMENT D'INFORMATIQUE
MEMOIRE
Présenté par
Hak ik i Raf ika
Pour obtenir
LE DIPLOME DE MAGISTER
Spécialité Informatique
Option : Analyse, Commande et Surveillance des Systèmes Industriels
Intitulé : Soutenu le : / / à la salle de conférences de la Faculté des Sciences
Devant les membres du jury : Président du jury HAFFAF Hafid : Professeur - Université d’Oran
Encadreur SEKHRI Larbi : Maître de Conférences A- Université d’Oran
Examinateur SARI Zaki : Professeur - Université de Tlemcen
Examinateur GHOMARI Abdelghani : Maître de Conférences A – Université d’Oran
Etude et Analyse des Systèmes Dynamiques Hybrides : Approche par les Réseaux de Petri Hybrides et Automates
Hybrides Linéaires

Remerciements
i
Remerciements
Tout d’abord, je tiens à remercier Monsieur L. SEKHRI, mon professeur pour son
accueil, ses conseils, ses critiques constructives et sa disponibilité pendant tous ces
trois ans. Ses connaissances scientifiques et son esprit d’analyse m’ont permis de
mener à terme ce travail de recherche.
Je tiens à remercier Monsieur H. HAFFAF, qui m’a fait l’honneur de présider le jury
de ce mémoire.
Je remercie très sincèrement Monsieur Z. SARI ainsi que Monsieur A. GHOMARI qui
eux aussi m’ont fait l’honneur d’avoir accepté de porter un jugement sur mon travail
de recherche et de faire partie du jury de soutenance de ce mémoire.
Je tiens à exprimer mes plus sincères remerciements au professeur H.ALLA de
l’Université de Grenoble pour ses conseils et son encouragement.
Un grand merci à tous ceux qui, par leur soutien sous une forme ou une autre, m’ont
aidé dans la réalisation de ce travail. Une pensée très reconnaissante pour mes
parents qui sont à l’origine de ma formation.
Merci aussi à toute ma famille et mes amis pour leur soutien ...

Résumé
ii
Résumé
Les SDH sont des systèmes où la dynamique discrète interagit avec la dynamique continue, c’est cette interaction qui détermine le comportement qualitatif et quantitatif du SDH. Les travaux sur les systèmes hybrides sont récents et ont bien évidemment concerné, dans un premier temps, la modélisation.
D’autres problèmes ont ensuite été abordés dans la littérature comme la surveillance, la reconfiguration, la stabilité et l’observabilité des SDH, ce qui a donné lieu à beaucoup de formalisme de modélisation. Le plus générale parmi ces formalismes est le réseau de Petri hybride (RdPH). Il permet la modélisation des systèmes hybrides dont la dynamique continue est positive et linéaire par morceau.
Les automates hybrides AHs sont un autre formalisme permettant la modélisation de la plus grande variété des dynamiques continues utilisé principalement pour la vérification de certaines propriétés du système. Cependant, en ce qui concerne la modélisation, on peut mentionner que le développement de modèles à l’aide des AHs n’est pas aisé vu que la sémantique associée à ce formalisme est orientée plutôt vers l’analyse de comportements.
Un algorithme de traduction traitant une nouvelle classe du réseau de Pétri Hybride (HPN) appelé RdPH D-C-élémentaire. La méthode nous permet d'analyser les propriétés des systèmes hybrides à l'aide de l'automate hybride linéaire produit par le processus de traduction dans un but d'associer la puissance d'analyse des AHLs à la puissance de modélisation des RdPH.
La méthode est appliquée à un système de trois réservoirs et analysée par le logiciel PHAVer. Son efficacité est illustrée par des résultats numériques de simulation.
Mots clés : Systèmes hybrides, réseaux de Petri hybrides, graphe d’évolution, automates hybrides linéaires

Abstract
iii
Abstract
The SDH is a system where discrete dynamics interacts with dynamics continues, it is this interaction which determines the qualitative and quantitative behavior SDH. Work on the hybrid systems is recent and has obviously concerned, initially, modeling. Other problems were then tackled in the literature like the monitoring, reconfiguration, the stability and the observability of the SDH, which gave place to much formalism of modeling. Most general among these formalisms is the hybrid Petri net (RdPH).It allows the modeling of the hybrid systems whose dynamics continues is positive and linear per piece.
The hybrid automats AHs are another formalism allowing the modeling of the largest variety of dynamic continuous used mainly for the checking of certain properties of the system. However, with regard to modeling, one can mention that the development of models using AHs is not easy considering semantics associated with this formalism is directed rather towards the analysis of behaviors.
We propose in this memory, a mapping algorithm to deal with a new class of hybrid Petri net (HPN) called Discrete Continue elementary HPN. The method enables us to analyze some system’s properties using the linear hybrid automaton generated by the mapping process with an aim of associating the power of analysis of LHA with the power of modeling of RdPH.
The method is applied to a three tanks water system and analyzed by a PHAVer software tool. Its effectiveness is illustrated by numerical simulation results.
Key words: Hybrid system, Hybrid Petri net, Evolution graph, Linear hybrid automaton.

Table des matières
iv
Table des matières
Remerciements..…………………………………………………………………….....i
Résumé………………………………………………………………………………...ii
Abstract……………………………………………………………………………….iii
Table des matières.................................................................................................…...iv
Liste des figures……………………………………………………………………...vii
Liste des abréviations………………………………………………………………...ix
Introduction générale………………………………………………………………....1
Chapitre I. Les systèmes dynamiques hybrides 1. Introduction………………………………………………………………………………..5 2. Systèmes dynamiques hybrides …………………………………………………………...5
2.1.Systèmes continus …………………………………………………………………….5 2.2.Systèmes à évènements discrets..........................................................................….......6 2.3.Systèmes dynamiques hybrides………………………………………………………..7
3. Exemples de systèmes dynamiques hybrides………………………………………….......8 3.1.Systèmes continus supervisés par un contrôleur à événements discrets…………........8 3.2.Systèmes continus comportant des discontinuités…………………………………….9 3.3.Systèmes comportant des éléments discrets et continus…………………………….. 10 3.4.Systèmes continus pour lesquels des dynamiques discrètes sont introduites par
abstraction…………………………………………………………………………….12 3.5. Systèmes discrets pour lesquels des dynamiques continues sont introduites par
abstraction …………………………………………………………………………...13 3.6.Systèmes complexes composés de sous-systèmes continus et discrets ……………...14
4. Structure générique d’un système dynamique hybride……………………………………….16 5. Catégories de phénomènes hybrides……………………………………………………....17 6. Complexité des systèmes dynamiques hybrides ...………………………………………18 7. Conclusion………………………………………………………………………………...18
Chapitre II. Etude et analyse des systèmes dynamiques hybrides 1. Introduction……………………………………………………………….........................21 2. Modèles formels pour les SDH …………………………………………………………..21

Table des matières
v
2.1.Approches basées sur une extension des modèles continus………………………..…22 2.2.Approches basées sur une extension des modèles discrets…………………………...23 2.3.Approches mixtes……………………………………………………………………..24
3. Outils de simulation des SDH…………………………………………………………….27 4. Analyse des SDH…………………………………………………………………………29
4.1.Vérification des SDH et accessibilité…………………………………………………29 4.1.1. Vérification des SDH.………………………………………………………….29 4.1.2. Vérification basée sur l’accessibilité des systèmes hybrides…………………..30
4.2.Stabilité, observabilité et commandabilité……………………………………............30 5. Synthèse de la commande des SDH ………………………………………………………….. .30 6. Surveillance des SDH … ……………………………………………………………….....31 7. Conclusion...………………………………………………………………………….......31 Chapitre III. Réseaux de Petri hybrides et Automates hybrides 1. Introduction………………………………………………………………………………33 2. Les réseaux de Petri……………………………………………………………………....33
2.1. Introduction…………………………………………………………………………..33 2.2. Définitions……………………………………………………………………………33 2.3. Règle de fonctionnement……………………………………………………………..35 2.4. Graphe des marquages accessibles……………………………………………………36
3. Les réseaux de Petri temporisés…………………………………………………………..37 3.1. Introduction…………………………………………………………………………..37 3.2. Définitions……………………………………………………………………………37
4. Les réseaux de Petri temporels…………………………………………………………....38 4.1. Introduction ………………………………………………………………………….38 4.2. Définitions……………………………………………………………………………38 4.3. Fonctionnement………………………………………………………………………39 4.4. Algorithme de calcul de l’état suivant………………………………………………..40 4.5. Analyse énumérative des RdP T-Temporels……………………………………………….42 4.6. Calcul des classes d’états…………………………………………………………….42 4.7. Calcul de la classe suivante…………………………………………………………..43
5. Les réseaux Petri continus………………………………………………………………..44 5.1. Introduction…………………………………………………………………………..44 5.2. Les RdPC temporisés…………………………………………………………………47 5.3. Résolution des conflits………………………………………………………………..50 5.4. Fonctionnement des RdPCC…………………………………………………………………52 5.5. Graphe d’évolution d’un RdPCC……………………………………………………………54
6. Les réseaux de Petri hybrides.............................................................................................55 6.1. Définitions…………………………………………………………………………....55 6.2. Graphe d’évolution d’un RdPH……………………………………………………………...58
7. Les automates hybrides …………………………………………………………………..60 7.1. Les automates à états finis déterministes……………………………………………..60 7.2. Les automates hybrides……………………………………………………………….61 7.3. Les Automates Hybrides Linéaires (AHL)……………………………………………63

Table des matières
vi
7.4. Outils d’analyse des AHLs…………………………………………………………………. 64 8. Conclusion………………………………………………………………………………. 65 Chapitre IV. Implémentation et simulation des automates hybrides 1. Introduction…………………………………………………………………………….....67 2. Traduction des RdPH en automates hybrides…………………………………………….67 3. Modèle des réseaux de Petri hybrides D-C élémentaires…………………………………68 4. Traduction des RdPH D-C élémentaires en automates hybrides linéaires
(AHL)……………………………………………………………………………………..75 4.1. Création d’un invariant associé au franchissement d’une transition
dynamique…………………………………………………………………………….75 4.2. Algorithme de transformation………………………………………………………...76 4.3. L’analyse de l’algorithme de traduction……………………………………………. 79 4.4. Application de l’algorithme ...……………………………………………………………… 83
5. Analyse des Automates Hybrides par l’Outil PHAVer…………………………………..87 5.1. Calcul de l’automate atteignable………………………………………......................87
6. Simulation………………………………………………………………………………...90 6.1. La modélisation de L’AHL des trois réservoirs par l’outil PHAVer………………...90
6.2. La simulation de L’AHL des trois réservoirs par l’outil PHAVer…………………..90 6.3. Comparaison entre l’activité du réservoir 3 et l’ouverture de la vanne 4…………….91 6.4. Comparaison entre l’activité du réservoir 1 et les activités des vannes 3 et 4………..92 6.5. Comparaison entre l’activité du réservoir 2 et la fermeture de la vanne 4……..........94 6.6. Comparaison entre l’activité du réservoir 1 et le réservoir 3………………………...95 6.7. Comparaison entre l’activité de fermeture de la vanne 3 et la vanne 4……………..96
7. Conclusion ……………………………………………………………………………….96 Conclusion générale et Perspectives………………………………………………...97
Références bibliographiques………………………………………………………...99
Annexe A : Tutorial PHAVer : Description et installation
A.1. Description de l’automate hybride avec PHAVer ……………………………………..105 A.1.1. Identificateurs…………………………………………………………………....105 A.1.2 .Constantes……………………………………………………………………….106 A.1.3 .Structures de données…………………………………………………………....106 A.2. Installation……………………………………………………………………………...108 A.3. Commandes pour description et simulation……………………………………………108 Annexe B: L’implémentation et l’exécution de l’automate hybride sous PHAVer. ……………………………………………………………………………………….109

Liste des figures
vii
Liste des figures
Chapitre I. Figure 1. a- Système physique (continu/discret). b- Automate correspondant………………..7
Figure2. Evolution continue et discrète du SDH………………………………………………9
Figure 3. Balle en rebondissement…………………………………………………………....10
Figure 4. Circuit électrique intrinsèquement hybride………………………………………..11
Figure 5. Evolution du courant dans la self………………………………………………….11
Figure 6. Système hydraulique. ……………………………………………………………13
Figure 7. Exemple de vanne pneumatique. …………………………………………………..13
Figure 8. Architecture générique d’un système de production……………………………….14
Figure 9. Procédé batch……………………………………………………………………….15
Figure 10. Structure du système dynamique hybride…………………………………………17
Chapitre II Figure 1. Réseau de Petri hybride............................................................................................23
Figure 2. a-système de bacs. b -Automate hybride correspondant...........................................26
Chapitre III Figure 1. a. RdP ordinaire. b. Graphe des marquages accessibles………………………….36
Figure 2. a- RdP T-temporisé. b- Graphe des marquages correspondant…………………....38
Figure 3. RdP T-temporel……………………………………………………………………39
Figure 4. Exemple illustratif ………………………………………………………………....41
Figure 5. Ligne de production……………………………………………………………… 45
Figure 6. Transformation d’un RdP ordinaire en RdPC …………………………………….46
Figure 7. a – e- Transformation d’un RdP temporisé en RdP continu temporisé. g-Evolutions
du RdP temporisé et continu………………………………………………………………… 47
Figure 8. Un test à zéro pour : a-RdP temporisé. b- RdPC équivalent. …………………….49
Figure 9. Calcul des vitesses de franchissement……………………………………………..50
Figure 10. Cas d’un conflit dans un RdPC temporisé………………………………………..51
Figure 11. a- Système à deux réservoirs. b- RdPC équivalent. c- Dynamique des marquages
et évolution des vitesses………………………………………………………………………53

Liste des figures
viii
Figure 12. Graphe d’évolution du RdPCC de la figure 11.b………………………………...54
Figure 13. Dynamique d’un RdPH…………………………………………………………...57
Figure 14. Représentation d’un IB-état……………………………………………………….59
Figure 15. Graphe d’évolution du RdPH de la figure 13.a………………………………….. 60
Figure 16. Représentation d’un automate à états finis……………………………………….61
Figure 17. Automate hybride modélisant une machine simple……………………………….62
Chapitre IV Figure 1. Système des trois réservoirs………………………………………………………..69
Figure 2. RdPH D-C-élémentaire modélisant le système des 3 réservoirs…………………...70
Figure3. Evolution des marquages des places continues du RdPH de la figure 2. ………….72
Figure4. Evolution des dynamiques des places continues du RdPH de la figure 2…………..72
Figure 5. Graphe d’évolution du RdPH D-C élémentaire de la figure 2……………………..74
Figure 6. Les étapes de passage d’un RdPH vers les AHL………………………………….81
Figure 7. Organigramme pour déterminer le type de chaque transition discrète validée dans le
sommet Ln+1…………………………………………………………………………………..82
Figure 8. Organigramme pour déterminer chaque transition continu validée dans le sommet
Ln+1.…………………………………………………………………………………………...83
Figure 9. Automate hybride obtenu après l’étape 1 de l’algorithme…………………………84
Figure10. Automate hybride résultat de l’application de l’algorithme de
traduction……..........................................................................................................................86
Figure 11. La simulation de l’automate hybride sous le logiciel PHAVer…………………. .90
Figure 12. Les espaces atteignables acceptés pour l’automate hybride : x4 en fonction de
p7………………………………. ……………………………………………………………92
Figure 13. Les espaces atteignables acceptés p5 en fonction de x2 …………………………..93
Figure 14.Les espaces atteignables acceptés: p5 en fonction de x2 …………………………..93
Figure 15. Les espaces atteignables acceptés : Comparaison entre p5 et x2………………….94
Figure 16. Les espaces atteignables acceptés : p6 en fonction de x3………………………..94
Figure 17. Les espaces atteignables acceptés : p5 en fonction de p7………………………...95
Figure 18. Les espaces atteignables acceptés: Comparaison entre p5 et p7………………....95
Figure 19. Les espaces atteignables acceptés: Comparaison entre x3 et x2…………………96

Liste des Abréviations
ix
Liste des abréviations
AEF Automate à états finis
AH Automate hybride
AHL Automate hybride linéaire
CMC Compositional Model-Checking
C-Transition Transition continu
C-place Place continu
D-place Place discrète
D-Transition Transition discrète
F.E.M Force électromotrice
GCEA Graphe des classes d’états accessibles
HSML Hybrid Systems Modeling Language
HSCAP Hybrid Sequential Causal Assignment Procedure)
HYBRSIM Hybrid Bond Graph Simulator)
HYSDEL Hybrid System Description Language)
HYTECH HYbrid TECHnology
IB-STATE Invariant Behavior state
PHAVER Polyhedral Hybrid Automaton Verifyer
RdP Réseau de Petri
RdPH Réseau de Petri hybride
RdPC Réseau de Petri continu
RdPCC Réseau de Petri continu à vitesses constantes
RdPD Réseaux de Pteri différentielles
RdP-EAD Réseaux de Pteri avec équations algébriques différentielles
RFH Réseaux à flux hybrides
RdPM Réseau de Pteri mixte
RdP –TE Réseaux de Pteri temporel étendu
RdPV Réseau de Petri continu à vitesses variables.

Liste des Abréviations
x
SC Système continu
SDH Système dynamique hybride
SED Système à évènement discret
TOR Tout ou Rien
YAHMST Yet another Hybrid Simulation Tool)

Introduction générale
1
Introduction générale
L’automatique traite différemment les problèmes de type continu et ceux de type
discret. Chacun de ces domaines a créé un ensemble de théories et de méthodes et développé
des solutions performantes pour régler les problèmes homogènes qui se posent, mais sans
toujours intégrer les solutions et les apports de l’autre domaine.
En effet, les procédés industriels sont complexes. Pour les piloter d’une manière
automatique, on utilise les systèmes de contrôle et commande des automates exécutant des
programmes séquentiels couplés à des boucles de régulation, mono-variables et parfois multi-
variables qui peuvent comporter différents modes de fonctionnement. L’´evolution
dynamique du système de commande est à la fois continue et événementielle. Le procédé peut
lui aussi présenter ce double aspect. C’est le cas des productions batch, dans lesquelles la
matière est caractérisée par des variables continues et est traitée étape par étape.
Les systèmes dynamiques hybrides (SDH) sont des systèmes pour lesquels les
dynamiques discrètes et continues interagissent. Cette interaction détermine le comportement
du système. Un système se caractérise par la nature de ses variables d’états, qui peuvent être
continues ou discrètes. Le premier type est défini sur l’ensemble des réels R, alors que le
second prend ses valeurs dans un ensemble dénombrable (entier, booléens,…). On rencontre
dans la littérature des systèmes hybrides de nature très diverse : systèmes intrinsèquement
hybrides, systèmes continus avec commandes discrètes… etc. L’étude de ces systèmes a
retenu l’attention de la communauté automaticienne, ainsi que celle de la communauté
informatique. Les objectifs que l’on peut assigner à l’étude des SDH consistent à apporter une
solution en termes de modèle, de méthode, de performance et de qualité globale à des
problèmes mal traités par les approches homogènes. Parmi ceux-ci on peut citer les problèmes
générés par des discontinuités du fonctionnement des machines-outils, la modélisation des
phénomènes transitoires rapides par une commutation des modèles. Pour apporter une
solution à ces problèmes, la recherche sur les SDH est concentrée autour de trois axes : la
modélisation, l’analyse et la commande.

Introduction générale
2
La modélisation cherche à formaliser des modèles précis qui peuvent décrire le
comportement riche (et complexe) des SDH. Plusieurs formalismes ont été proposés afin
d’´etablir un modèle homogène permettant la conciliation entre les parties discrètes et
continues. De façon générale, les approches de modélisation des systèmes hybrides peuvent
être classées en 3 catégories:
1. Les approches basées sur une extension des modèles continus. Parmi elles, une extension
des modèles bond graph.
2. Les approches basées sur une extension des modèles pour les systèmes à événements
discrets, l’exemple type de cette extension est celui des RdP hybrides. Lorsqu’un RdP discret
contient un grand nombre de jetons, le nombre d’états atteignables explose. Cette limitation
des RdP a conduit à l’apparition des RdP continus. Les marquages de places dans un RdP
continu sont des nombres réels et le franchissement des transitions est un processus continu.
Cependant, si le nombre de pièces dans un stock peut être approximé à un processus continu,
l’état d’un élément du système tel que vanne ouverte ou fermée ne peut être modélisé par un
nombre réel. La modélisation d’un système hybride conduit naturellement aux RdP hybrides
contenant une partie discrète et une partie continue. Depuis plusieurs extensions des RdP ont
été présentées. Le modèle RdP hybrides est conçu d’une manière intuitive. De plus ce modèle
hérite de tous les avantages des RdP.
3. Les approches mixtes combinant les parties continues et discrètes dans une même structure.
Des modèles dits mixtes reposent sur la collaboration de deux sous-modèles, l’un pour
l’aspect événementiel, basé par exemple, sur les automates à états finis ou les RdP et l’autre
pour l’aspect continu basé sur des équations d’états. L’aspect hybride est pris en compte dans
l’interface entre les deux sous-modèles.
Un des modèles basé sur cette approche est les automates hybrides. Un automate
hybride opère par une alternance de pas continus, où les variables d’état et le temps évoluent
de façon continue, et de pas discrets, où plusieurs transitions discrètes peuvent être franchies.
Il s’agit d’une extension de l’automate temporisé où la dynamique continue n’est plus
représentée par des horloges (des équations d’´etat de type = 1) mais par des équations
différentielles quelconques.
L’analyse porte sur le développement des outils de simulation, de validation et de
vérification des SDH. Les problèmes rencontrés sont liés à la complexité de cette analyse et à
l’interprétation physique de certaines propriétés à analyser telles que la stabilité globale du

Introduction générale
3
système. Un problème central dans la vérification des propriétés des systèmes hybrides
modélisés par des automates hybrides est l’analyse d’atteignabilité.
Dans ce travail nous nous sommes intéressées à la modélisation d’une classe particulière
des systèmes dynamiques hybrides, à savoir la classe des systèmes à flux continus supervisées
par des systèmes à événement discrets. Un système à flux continu peut traiter soit un flux de
matière soit un flux important de produits. Nous avons introduit une variété des réseaux de
Petri hybrides, dite réseaux de Petri hybrides D-C-élémentaires combinant un RdP T-temporel
et RdP continu RdPCC. Dans ce modèle la partie discrète contrôle la partie continue et vice –
versa.
C’est un des formalismes adaptés pour la modélisation, cependant pour l’analyse et le
contrôle des ces systèmes hybrides on utilise traditionnellement les automates hybrides à
cause de leur facilité de manipulation. Pour cela un algorithme permettant la traduction des
RdPH D-C élémentaire en automates hybrides est élaboré dans ce manuscrit. Ensuite une
simulation faite sous le logiciel PHAVer permettant de calculer l’espace atteignable de
l’automate résultant. Le rapport donc est organisé en quatre chapitres, comme suit :
Dans le premier chapitre, nous introduisons les notions fondamentales relatives aux
systèmes dynamiques hybrides. Leur définition ainsi leurs différentes classes et phénomènes
hybrides trouvé en littérature sont présentés. Nous passons en revue les principaux
formalismes de modélisation des systèmes hybrides. Le deuxième chapitre est constitué
d’une étude bibliographique sur les systèmes dynamiques hybrides. L’objectif est de
positionner notre travail par rapport aux approches existant dans la littérature. Le troisième
chapitre est dédié à la présentation de deux formalismes de modélisation à savoir les RdPH
et les automates hybrides. En définissant d’abord les modèles à événements discrets à partir
desquels les modèles hybrides ont été définis. Ensuite ces deux outils seront présentés. Le
quatrième chapitre est dédié à la présentation d’une procédure de traduction en automate
hybride linéaires d’une classe particulière des RdPH appelée RdPH D-C-élémentaire. Pour
cela nous présentons le modèle RdPH D-C-élémentaire, ainsi les étapes permettant la
traduction. Ensuite nous utiliserons, l’application PHAVer pour l’analyse de l’atteignabilité
de l’automate hybride résultant.
Nous achevons ce mémoire par une conclusion sur ce qui a été fait et des perspectives de
continuation de ce travail.

Chapitre I
Les Systèmes Dynamiques Hybrides

Chapitre I. Les systèmes dynamiques hybrides
5
1. Introduction Dans ce chapitre nous ferons un état de l’art sur les systèmes dynamiques hybrides (SDH)
ainsi que les différentes propriétés qui les caractérisent. Différentes classes des SDH illustrées
par des exemples seront abordées montrant ainsi les éléments qui font que ces systèmes soient
complexes.
2. Systèmes dynamiques hybrides Les SDH sont des systèmes où la dynamique discrète interagit avec la dynamique continue.
C’est cette interaction qui détermine le comportement qualitatif et quantitatif du SDH.
Un système est défini comme étant un assemblage fonctionnel de composants technologiques
associés les uns avec les autres de façon à former une entité unique accomplissant une activité
clairement définie (générateur de vapeur, colonne de distillation, moteur électrique, etc.).
Souvent, ce sont ces composants technologiques intervenant dans le processus physique ainsi
que leurs tâches prédéfinies qui déterminent la nature du système. Dans la littérature, nous
avons recensé trois types de systèmes : les systèmes continus, les systèmes à évènement
discret et les systèmes dynamiques hybrides.
2.1. Systèmes continus
Les systèmes continus (SC) sont caractérisés par une dynamique dépendant du temps. Les
grandeurs physiques (température, pression, volume, etc.) caractérisant l’état du procédé sont
généralement continues et de nature analogiques. Le comportement de ce type de système est
décrit par des variables (à temps continu/discret), le système est dit continu ou discret
(échantillonné). La description de la dynamique du procédé est alors une représentation
mathématique, fonction des grandeurs physiques, donnée sous forme d’un modèle d’entrée /
sortie ou d’espace d’état.
Définition 1. Formellement, un système continu est composé d’un 5-tuple : SC= (T, X, X0, U, Φ) [Pet 01]:
• T∈ℜ est l’intervalle du temps
• X ⊆ ℜn est l’espace d’état continu.

Chapitre I. Les systèmes dynamiques hybrides
6
• X0 ⊆ X est l’espace d’état initial du système continu,
• U ⊆ ℜ r est le vecteur de commande,
• Φ le vecteur champ déduit par l’équation différentielle de la forme
(t) = f(x(t), u(t)); x(t0)=x0
f : X → ℜn vecteur champs continu
2.2. Systèmes à événements discrets
Un système à événement discret (SED) est caractérisé par son comportement dynamique qui
se traduit par le changement d’état suite à l’occurrence d’un évènement. Les évènements
peuvent être de deux types : l’événement temporel est un évènement uniquement déterminé
par rapport à la variable temps ; l’évènement contrôlé dépend des conditions d’évolution du
système et s’obtient par des règles, il définit soit un évènement d’état, soit un évènement de
commande. L’instant d’occurrence d’un évènement n’est pas connu à priori. Pour cette
catégorie de système, la notion d’évènement est essentielle. Il s’agit des systèmes pour
lesquels la dynamique est gouvernée par des évènements dont les dates d’occurrence n’ont
pas une importance fondamentale, seul compte réellement l’ordre d’occurrence des
évènements. Les variables qui décrivent les SED prennent leurs valeurs dans un ensemble
dénombrable.
Définition 2. Formellement, un système à événement discret est composé d’un 5-tuple : SED= (T, Q, Q0,
U, Φ) [Pet 01]
• T∈ℵ est l’intervalle de temps
• Q est l’ensemble des états finis ou infinis,
• Q0 ⊆ Q est l’ensemble des états initiaux,
• U est l’ensemble fini des entrées (alphabets),
• Φ : Q × Q est la fonction de transition entre les états, elle détermine le comportement
du système.
Exemple 1. Considérons un bac qui peut être rempli et vidé (figure (1.a)). Le comportement
de ce système peut être décrit par la variable continue h si l’on s’intéresse au niveau de
remplissage du bac.

Chapitre I. Les systèmes dynamiques hybrides
7
Dans ce cas on peut modéliser le système par l’équation différentielle :
.
d1 étant le débit d’alimentation, d2 le débit de soustraction et a une variable booléenne
décrivant l’état de la vanne : a=0 si la vanne est fermée et a=1 si la vanne est ouverte. Ce
même système peut être décrit par une variable discrète qui indique si le bac est en état de
soutirage ou en état de remplissage, dans ce cas le système peut être modélisé par un automate
à état fini (figure (1 .b)).
-a- -b-
Figure 1. a- Système physique (continu/discret). b- Automate correspondant.
2.3. Systèmes dynamiques hybrides
Le mot hybride signifie, en général, la composition ou la nature hétérogène. Le terme
«systèmes hybrides » s’applique lorsque les systèmes ont un comportement défini par des
entités ou des processus de caractéristiques distinctes. Un système dynamique hybride (SDH)
est un système dynamique où le comportement est déterminé par l’interaction des deux
dynamiques : continue et discrète.
Définition 3. Formellement, un système dynamique hybride (SDH) est composé d’un 5-tuple : SDH= (T,
(x, q),(x0, q0), Uc ∪ Ud, Φ) [Pet 01]:
• T∈ℜ est l’intervalle de temps
• (x, q) ⊆ X × Q représente l’état complet du système hybride.
• (x0, q0) est l’ensemble des états initiaux.
• Uc ∪ Ud représente l’ensemble des commandes continues et discrètes.
• Φ : X × Q → ℜn définit un sous-ensemble des trajectoires pour chaque état discret.
Soutirage Remplissage
Ouvrir
Fermer
h
d2
d1

Chapitre I. Les systèmes dynamiques hybrides
8
3. Exemples de systèmes dynamiques hybrides Nous avons recensé dans la littérature six classes de systèmes hybrides. Des exemples pris
dans des domaines très variés nous permettrons d’illustrer le caractère très général du
problème.
3.1. Systèmes continus supervisés par un contrôleur à événements discrets Un procédé continu, commandé ou supervisé par un système à événements discrets, est appelé
système hybride par la commande. Cette classe de systèmes hybrides est largement étudiée
dans la littérature [Bra 94].
Exemple 2. Système thermique.
Considérons l’exemple d’un thermostat utilisé pour maintenir la température dans une pièce
[Mez 05]. Le système est composé d’un élément chauffant et d’un capteur de température.
Les seuils inférieurs et supérieurs du thermostat sont fixés à des valeurs θ min et θ max avec
(θmin<θmax). La nature hybride du système est imposée par la commande discrète et
l’évolution continue de la température. Il s’agit d’une commande Tout-Ou-Rien (TOR). Le
système de chauffage est en marche tant que la température dans la pièce est inférieure au
seuil θmin. Le chauffage est arrêté lorsque le capteur détecte le seuil supérieur θmax et il reste en
arrêt jusqu’au moment où la température descend en-dessous du θmin. Les états discrets du
système correspondent aux états "Marche" et "Arrêt" du système de chauffage. L’évolution
discrète correspond aux transitions de l’état "Marche" à l’état "Arrêt" et inversement (voir
figure 2.b).
La température de la pièce est une variable dont l’évolution est continue. Sous certaines
hypothèses classiques, le modèle décrivant l’évolution de la température dans l’enceinte
thermique est donné par les équations d’état suivantes :
ê

Chapitre I. Les systèmes dynamiques hybrides
9
Où α Є IR est une constante réelle positive qui dépend de la puissance du système de
chauffage, et k est une constante déterminée par la pièce. Ainsi, l’évolution de la température
est contrainte par une équation d’état qui dépend de l’état discret "Marche" ou "Arrêt". Un
exemple d’évolution est donné par la figure 2 (a).
(a) Evolution de la température. (b) Evolution de l’état discret.
Figure2. Evolution continue et discrète du SDH.
3.2. Systèmes continus comportant des discontinuités
Les phénomènes de discontinuités se produisent lorsque l’état passe instantanément de sa
valeur courante à une autre valeur. Ce phénomène de commutations est illustré à travers
l’exemple classique d’une balle en rebondissement ou la collision entre deux corps [Bra 95].
Dans les deux cas, la vitesse change brutalement et subit donc un saut.
Exemple 3. Balle en rebondissement
Considérons l’exemple d’une balle en chute libre qui rebondit sur le sol de façon élastique
(figure 3). La position initiale de la balle est (0, y0). La vitesse instantanée v(t) de la balle a
deux composantes vy et vx. Quand la balle arrive au sol, elle rebondit et la composante de la
vitesse vy change de signe.
Lors du contact avec le sol aux instants ti, la composante de vitesse vy(ti) change de signe de
façon instantanée et passe à la valeur -vy(ti). La balle effectuera une nouvelle trajectoire avec
la vitesse v(t) (t ≥ ti) de composantes -vy et vx. Ainsi le changement de signe de la composante

Chapitre I. Les systèmes dynamiques hybrides
10
de vitesse vy permet d’avoir des évolutions différentes de la balle. Chaque état de la vitesse
caractérise une dynamique des variables x et y.
De tels phénomènes peuvent être étudiés soit en considérant des équations d’états non
linéaires discontinues (et de ce fait non dérivables) soit en considérant une succession
d’équations d’état continues.
Figure 3. Balle en rebondissement.
3.3. Systèmes comportant des éléments discrets et continus Certains systèmes sont constitués intrinsèquement d’éléments de type "continu" (les variables
contraintes ou produites ont une évolution continue) et d’éléments de type "discret" (les
variables contraintes ou produites sont à valeur discrète). Les circuits électroniques, contenant
des éléments à caractéristiques continues (résistance, condensateur, self, etc.) et des éléments
à caractéristiques discrètes (interrupteur, diode, thyristor, etc.), sont des exemples de tels
systèmes.
Exemple 4. Circuit électrique
Le système illustré par la figure 4 est composé d’une source de courant, d’une diode D, d’une
résistance R1, d’un interrupteur Sw, et d’une self L [Mos 98]. Quand l’interrupteur est fermé,
le courant IL traversant la self génère un flux magnétique ф0. Lors de l’ouverture de
l’interrupteur le flux se décharge très rapidement.

Chapitre I. Les systèmes dynamiques hybrides
11
Ce changement d’état discret de l’interrupteur crée une discontinuité du flux qui passe de ф0 à
0. Cette variation du flux entraîne l’apparition d’une force électromotrice (f.e.m) selon la loi :
f.e.m = dф/dt donc d’un courant induit Ii. Le rapport dф/dt est important, la différence de
potentiel VL (qui est la f.e.m) au borne de la self est donc importante.
La diode est alors passante car le courant IL généré par la self est supérieur au courant de seuil
Is de la diode (voir figure 4). Quand le courant IL généré par l’inductance devient inférieur à
Is, la diode passe à l’état "Bloqué". Ces différents modes d’exploitation du circuit sont
représentés par la figure 5. L’évolution du système met en évidence une dynamique continue
entrecoupée par des commutations dues à l’état discret de l’interrupteur qui peut être "Fermé"
ou "Ouvert" et à l’état discret de la diode qui peut être "Passant" ou "Bloqué". Le changement
d’état discret de l’interrupteur crée une discontinuité du flux dans l’inductance qui passe
instantanément de ф0 à 0.
Figure 4. Circuit électrique intrinsèquement hybride.
Figure 5. Evolution du courant dans la self.

Chapitre I. Les systèmes dynamiques hybrides
12
3.4. Systèmes continus pour lesquels des dynamiques discrètes sont introduites par abstraction Dans certains cas où les phénomènes physiques sont complexes, la modélisation nécessite
l’utilisation de fonctions non-linéaires difficiles à manipuler. Certains travaux proposent
d’introduire des phénomènes discrets au sein de l’évolution continue afin de simplifier la
modélisation [Mez 05].
Un système non-linéaire, un multi-modèle, ou un système continu par parties, correspondent
tous à des structures résultant de l’agrégation de modèles continus locaux. Cette succession de
modèles continus peut être représentée comme un SDH. La dynamique discrète sera introduite
par abstraction des dynamiques rapides qui peuvent avoir lieu au moment du changement de
modèle (commutations spontanées). Les dynamiques complexes mais très rapides par rapport
à la dynamique globale peuvent être négligées. Ces approximations doivent être utilisées avec
beaucoup de précautions et dépendent de l’utilisation qui est faite du système et des objectifs
visés.
Exemple 5. Système hydraulique
Le système de la figure 6 est constitué d’un réservoir de section S muni d’une conduite C.
Une vanne pneumatique V (figure7) située sur C et commandée en Tout ou Rien (TOR),
permet de prélever du liquide pour utilisation. Une pompe P permet d’alimenter le réservoir et
une commande automatique (régulateur PI) permet de maintenir un niveau de liquide constant
dans le réservoir [Has 99].
Le niveau de liquide h(t) est une variable dont l’évolution est continue. Sa valeur dépend des
débits entrants (sortie de la pompe) et sortants (évacuation au travers de la vanne V). Ces deux
débits ont eux aussi des évolutions continues : le débit d’entrée est régulé (régulateur PI) et la
valeur du débit de sortie est fonction de l’ouverture (restriction) de la vanne pneumatique.
L’ouverture de la vanne est en toute rigueur une fonction continue dans le temps. Son
évolution est donnée par la fonction фe, фe (x), où x est la position de la tige.

Chapitre I. Les systèmes dynamiques hybrides
13
Lors d’une commande d’ouverture (passage de x = 0% à x = 100%), l’évolution continue de
x, donc фe, est très rapide et la dynamique peut donc être négligée. Ainsi un état discret
associé à la vanne peut être considéré. Cet état prend deux valeurs ou modalités correspondant
respectivement à x = 0% (vanne fermée) et x = 100% (vanne ouverte). Ceci suffit en première
approximation à caractériser le comportement de la vanne dans le système global.
L’introduction de cet état discret met en évidence deux modes de fonctionnement du système
et permet de simplifier la modélisation complète du système.
Figure 6. Système hydraulique. Figure 7. Exemple de vanne pneumatique.
3.5. Systèmes discrets pour lesquels des dynamiques continues sont introduites par abstraction
Ces systèmes sont généralement des systèmes ayant des dynamiques discrètes riches, c’est-à
dire dont l’évolution de l’état discret est rapide par rapport à la dynamique globale du système
[Kur 02].
Exemple 6. Système de production
Le système illustré par la figure 8 est composé d’un ensemble de ressources ou stocks (S1, S2,
S’2,…) et d’un groupe de machines (M1, M2, M3, …). Chaque groupe est composé d’un nombre
de machines identiques. Les stocks (S1, S2, S’2,…) sont utilisés pour emmagasiner les pièces
(matière première ou pièces en cours de traitement) jusqu’au moment où une machine en aval
est disponible pour commencer un nouveau traitement. Ce système de production peut être vu
comme étant un système hybride ayant une évolution continue, représentant les flux de pièces

Chapitre I. Les systèmes dynamiques hybrides
14
dans le système et une évolution discrète liée à l’état des ressources. Le niveau des pièces
dans les stocks peut être modélisé par une équation différentielle linéaire :
. .
Où x=[x1…; xi…; xn], t représente le niveau de pièces dans les stocks (la composante xi
représente le niveau de pièces dans le stock Si) et u étant le débit des pièces en entrée.
L’évolution discrète du système de production est décrite par l’occurrence des événements
associés à l’intervention de l’opérateur pour démarrer ou arrêter le flux d’entrée et aux états
des ressources. L’occurrence de l’un de ces événements entraîne le changement de l’état
discret: flux d’entrée démarré, flux d’entrée arrêté, machine1 en marche ou en arrêt, etc.
Figure 8. Architecture générique d’un système de production.
3.6. Systèmes complexes composés de sous-systèmes continus et discrets Dans les industries dites de « process », élaborant les matières premières qui seront travaillées
par les industries manufacturières, la production peut se faire en continu ou par des
traitements successifs : on parle de procédés de traitement par lots. Ces procédés, très
présents dans le domaine de l’industrie chimique, pharmaceutique ou agro-alimentaire,
comportent des séquences de transfert et de conditionnement relevant des systèmes à
événements discrets (SED) et des opérations continues pendant un certain temps :
évaporation, cristallisation, mélange, etc.

Chapitre I. Les systèmes dynamiques hybrides
15
Exemple 7. Procédé Batch
Les procédés Batch sont constitués intrinsèquement de plusieurs sous-systèmes hybrides.
Chacun de ces sous systèmes peut présenter les caractéristiques citées précédemment. La
figure 9 présente un schéma simplifié d’une chaîne de fabrication de produits chimiques,
composée de trois réservoirs T1, T2 et T3, des vannes Vi; i = 1 à 5 des pompes P1 et P2, d’un
thermostat, d’un agitateur, d’un réacteur, d’un convoyeur et des stocks S1 et S2. Les vannes
permettent de fournir des produits qui seront mélangés à d’autres produits dans les réservoirs
T1, T2, et T3. Les vannes, les pompes, la résistance thermique, l’agitateur et le convoyeur sont
commandés en Tout ou Rien.
L’objectif du procédé est de produire, à partir de deux produits "A" et "B" un produit
chimique "D". Les produits A et B fournis à travers les vannes V1 et V2 au réservoir T1 sont
d’abord mélangés et ensuite chauffés. Le mélange de A et B est alors transporté au réservoir
T2 où il réagit avec un autre produit C. Le produit résultant est ainsi transporté dans le
réservoir T3, attendant pour remplir les bouteilles vides qui sont ensuite transportées par le
convoyeur servi par le stock S1. La nature hybride du système est clairement illustrée dans cet
exemple, d’abord il contient des processus discrets (l’état des stocks S1, S2) et des processus
continus (l’évolution des niveaux, la température, la concentration des produits dans le
réservoir 1). En plus, il est piloté par une commande discrète de type Tout ou Rien [Mez 05].
Figure 9. Procédé batch.

Chapitre I. Les systèmes dynamiques hybrides
16
4. Structure générique d’un système dynamique hybride
D’une façon générale, un système dynamique hybride SDH est composé d’un système
dynamique continu, d’un système à événement discrets et d’une interface qui gère les
interactions entre les deux évolutions (continue et discrète) (voir figure 10) [Mez 05].
• La partie discrète
La partie discrète est associée à un système à événement discret SED dont l’évolution est
représentée par un ensemble fini d’états. La transition d’un état discret à un autre état discret
successeur est réalisée grâce à l’occurrence d’événements. Ces événements sont de deux
types : événements contrôlés et événements autonomes.
Les modèles les plus classiques permettant d’appréhender les SED sont les automates à états
finis [Ram 87], les réseaux de Petri [Dav 89] et les Statecharts [Har 86].
• La partie continue
L’évolution de la partie continue est caractérisée sur un espace de temps continu et peut être
représentée de différentes manières (équations différentielles ordinaires, algèbro-
différentielles, les fonctions de transfert, les bonds graphs, etc.). Le modèle de comportement
continu est exprimé sous la forme d’état :
,,
Où x(t) est le vecteur d’état,
y(t) est le vecteur des sorties,
z(t) est un vecteur regroupant les entrées connues ou inconnues, les perturbations, etc.,
f et h sont des fonctions vectorielles linéaires ou non linéaires.
• L’interface
L’interface traduit l’interaction entre la partie continue et la partie discrète du SDH. La
représentation formelle de l’interface est plus complexe et dépend des approches de
modélisation considérées.

Chapitre I. Les systèmes dynamiques hybrides
17
Figure 10. Structure du système dynamique hybride.
5. Catégories de phénomènes hybrides
L’influence de l’évolution de la partie continue sur l’évolution de la partie discrète et
inversement est une transition correspondant à un changement de modalité de l’état discret qui
entraîne soit la modification du modèle d’état continu, on parle alors de commutation
("switching"), soit une discontinuité du vecteur d’état discret, on parle alors de saut ("jump").
Une classification des phénomènes physiques considérés comme hybrides en quatre
catégories est présentée par Branicky [Bra 95] :
• Commutations autonomes (avec continuité de l’état) caractérisées par un changement
de lorsque l’état continu x atteint certains domaines dans l’espace des états continus.
Exemple d’un circuit électrique comportant une diode.
• Saut autonome où la variable d’état x change de façon discontinue, lorsqu’elle atteint
une certaine région de l’espace d’état. La balle en rebondissement est un exemple
illustratif de ce phénomène.
• Commutations contrôlées où la variable d’état x change instantanément en réponse à
une entrée externe (commande). Le système constitué d’un réservoir avec une vanne
d’alimentation et une vanne d’évacuation présente clairement un cas de système à
commutation commandée.

Chapitre I. Les systèmes dynamiques hybrides
18
• Sauts commandés où la valeur de x change de façon discontinue sous l’influence d’une
action extérieure. Les systèmes électrotechniques avec des entrées impulsionnelles
illustrent un cas du saut commandé.
6. Complexité des systèmes dynamiques hybrides
Van der Schaft et Schumacher énumèrent les principaux comportements types que nous
pouvons rencontrer lors de l’étude des comportements d’un SDH [Sch 00]:
Le système atteint un état où il n’existe plus de trajectoires continues définies et où il n’y a
aucune transition menant d’un état vers un autre. Le système est dit alors « bloqué ».
Le système commute indéfiniment entre deux états, cette situation est appelée « livelock ».
Les durées des trajectoires continues (i.e., le temps pendant lequel le système évolue entre
deux sauts/commutations) deviennent de plus en plus petites. Le système est dit « Zeno ».
L’ensemble des trajectoires est vaste et nous n’avons donc pas une solution unique.
L’évolution du système rencontre plusieurs événements simultanés. Nous avons plusieurs
changements d’état au même instant.
Un état du système commute sur lui-même indéfiniment.
La partie continue tend vers l’infini dans un temps fini.
En fait, les problèmes rencontrés lors de l’étude des trajectoires d’un système dynamique
hybride sont à la fois les problèmes rencontrés lors de l’étude d’un système continu et d’un
système discret avec en plus des phénomènes qualifiés d’hybrides.
7. Conclusion
Ce chapitre à été dédié à la présentation des systèmes dynamiques hybrides, nous nous
sommes limités à quelques descriptions des trois types de systèmes (continus, discrets, et
hybrides). Nous avons passé en revue les principales classes de systèmes hybrides considérées
dans la littérature pour ensuite dégager les caractéristiques communes qui doivent être prises
en considération lors de la phase de modélisation afin de donner une représentation uniforme
à tous les types de SDH. Les travaux sur les systèmes hybrides sont récents et ont bien

Chapitre I. Les systèmes dynamiques hybrides
19
évidemment concerné, dans un premier temps, la modélisation. D’autres problèmes ont
ensuite été abordés dans la littérature comme la surveillance, la reconfiguration, la stabilité et
l’observabilité des SDH.

Chapitre II Etude et Analyse des Systèmes
Dynamiques Hybrides

Chapitre II. Etude et Analyse des SDH
21
1. Introduction L’état d’un système dynamique peut être décrit par la combinaison de variables continues
(évoluant dans un intervalle de temps continu), discrètes (évoluant dans un ensemble
dénombrable) ou symboliques caractérisant l’état d’un élément du système évoluant dans un
ensemble fini non structuré.
Tout système physique peut être décrit soit par un modèle à dynamique continu soit par un
système à événement discret (SED). Si l’intérêt est porté sur la description de phénomènes
comme le remplissage de bac, la variation de température ou de concentration, etc., on utilise
des modèles continus utilisant des équations. Si par contre on ne s’intéresse qu’à la
description des états d’un système, on peut privilégier les SED. Ainsi et dans certains cas, il
est suffisant d’utiliser l’un ou l’autre de ces deux modèles pour décrire de façon satisfaisante
un système donné.
Cependant, il s’avère que quelques systèmes ne peuvent généralement pas être classés dans
l’une des deux catégories décrites dont la mesure où ces systèmes nécessitent une prise en
compte à la fois, de variables d’états continues, discrètes et symboliques d’une part, et d’autre
part des évolutions continues et événementielles. Cette classe de systèmes est appelée
‘systèmes à dynamiques hybrides’ ou SDH et couvre des domaines d’applications très variés
comme les systèmes de transport, les systèmes automatisés de production, les réseaux de
communication, etc.
2. Modèles formels pour les SDH
D’une manière générale, un modèle est une représentation abstraite permettant d’agréger
l’ensemble des connaissances que l’on a du système. Un meilleur modèle reproduit les
caractéristiques importantes du système pour une application donnée tout en éliminant les
détails qui ne sont pas pertinent pour l'analyse.
Les travaux sur la modélisation des SDH sont récents et continuent d’être un thème de
recherche traité par des communautés scientifiques différentes. Un nombre important de
travaux dédiés à la modélisation des SDH existe dans la littérature [Gua 08], [Jua 08] et

Chapitre II. Etude et Analyse des SDH
22
[Gué 08]. Plusieurs formalismes mathématiques pour la représentation d’un SDH ont été
proposés dans le but d’établir des concepts comme la stabilité, la contrôlabilité, le
monitoring et la surveillabilité ainsi que de techniques de commande et de vérification [Mez
05]. Ces dernières années, un ensemble de travaux sur la modélisation des SDH par les
réseaux de Petri hybrides ont été développés [Gu 02], [Feb 04], [Gha 05], [Kaa 07], [Sad
07], [Dot 08] et [Gua 08].
D’une manière générale, une synthèse des différentes approches de modélisation des SDH
peut être résumée en trois grandes classes : les approches basées sur l’extension des modèles
continus, celles basées sur l’extension des modèles discrets et celles qui sont mixtes.
2.1 Approches basées sur une extension des modèles continus. L’approche bond graph hybride est une extension des modèles bond graph a été proposée
dans [Ric 08]. Dans cette approche, l’ensemble de toutes les dynamiques continues d’un
système à commutations est représenté sous la forme d’un modèle bond graph incluant des
éléments spécifiques appelés interrupteurs idéaux. Les changements d’état de ces
interrupteurs modifient instantanément la structure du modèle de façon à traduire ses
différents modes de fonctionnement. Ces interrupteurs constituent en réalité une extension du
formalisme bond graph, à l’origine destiné à décrire du point de vue énergétique la dynamique
de systèmes exclusivement continus [Gaw 07] et [Kar 06]. L’intérêt d’utiliser les bonds graph
pour modéliser la partie continue des systèmes à commutations réside à la fois dans sa
modularité intrinsèque, qui permet la construction de modèles complexes par simple
composition de modèles élémentaires, et aussi dans l’existence de procédures systématiques
pour déduire à partir des modèles construits graphiquement, des schémas de calcul explicites
en vue de leur simulation.
De telles procédures, bien connues dans le cas de modèle bond graph standard, ont été
généralisées aux modèles incluant des interrupteurs idéaux [Bui 93, 02]. Ces éléments, qui
selon la terminologie propre au bond graph alternent des comportements en source d’effort et
en source de flux en fonction de leur état binaire, ont initialement été introduit pour modéliser
les interrupteurs physiques rencontrés dans les circuits électriques notamment les dispositifs à
semi-conducteurs.

Chapitre II. Etude et Analyse des SDH
23
2.2. Approches basées sur une extension des modèles discrets
Un exemple type de cette extension est celui des RdP hybrides. Dans les RdP discrets, le
marquage d’une place peut correspondre soit à un l’état booléen d’un élément du système
(ressource disponible ou pas), soit à un nombre entier naturel qui compte une capacité
d’objets (nombre de pièces dans un stock). Cependant, lorsqu’un RdP contient un grand
nombre de jetons, le nombre d’états atteignables explose. Cette limitation des RdP a conduit à
l’apparition des RdP continus [All 98] et [Dav 87]. Le marquage de places dans un RdP
continu est un nombre réel et le franchissement des transitions est un processus continu.
Ainsi, le franchissement des transitions consiste à retirer une quantité de marquage q des
places d’entrées de la transition et de rajouter la même quantité q aux places de sorties de
cette transition. Cette modélisation fournit une très bonne approximation pour certains
modèles discrets. Cependant, si le nombre de pièces dans un stock peut être approximé à un
processus continu, l’état d’un élément du système tel qu’une vanne ouverte ou fermée ne peut
être modélisé par un nombre réel. La modélisation d’un système hybride conduit
naturellement aux RdP hybrides contenant une partie discrète et une partie continue [Dav 01,
05].
Un RdPH est composé de places et de transitions continues (C-places et C-transitions) et des
places et transitions discrètes (D-places et D-transitions). Le marquage d’une C-place est
représenté par un nombre réel, dont l’unité est appelée marque, et le marquage d’une D-place
est représenté par un nombre entier dont l’unité est appelée jeton. La partie continue permet
de modéliser les flux continus tandis que la partie discrète modélise le fonctionnement logique
(vanne ouverte/fermée). Le RdPH de la figure 2 modélise un SDH composé de deux
réservoirs.

Chapitre II. Etude et Analyse des SDH
24
Figure 1. Réseau de Petri hybride
Nous pouvons citer quelques exemples d’usage des RdPH : modélisation d’un système
d’approvisionnement en eau [All 98a], un système hydraulique pour la production
d’électricité [Dav 91] et un système de fabrication de transistors [Bai 92] (pour plus de détails
voir chapitre 3).
Différents formalismes qui sont des extensions des RdPH ont été motivés par des applications
particulières, une liste peut être trouvée dans [Giu 06]. Les réseaux de Petri à fluides
stochastiques (fluid stochastic Petri nets) ont été présentés dans [Tri 93] et [Gri 01], les RdPs
par lot [Dem 98a] sont une extension des RdPs en introduisant les notions de retard et
d’accumulation. Dans [And 96] on trouve les RdPs avec équations différentielles (RDP-EAD).
Le modèle se base sur l'interaction entre un modèle discret de réseau de Petri qui capture le
comportement discret d'un système et un modèle continu qui est un ensemble d’équations
algébriques différentielles. Il y a aussi les réseaux à flux hybrides (RFHs) proposés par Flaus
[Fla 96]. Ce modèle construit avec un réseau à flux continu qui interagit avec un RDP. Les
RFHs conviennent à la modélisation et à la commande des processus industriels ayant un
comportement dynamique de nature hybride. Les réseaux de Petri différentiels (RdPDs) ont
été présentés dans [Dem 98]. Les places et les transitions sont de deux types : discrets et
différentiels ce qui permettra d’introduire un marquage réel (positifs, négatif ou nul). Des
vitesses de franchissement et des temporisations sont attribuées aux transitions différentielles,
ce qui permet de discrétiser le temps. Il est ainsi possible de représenter un modèle discrétisé
où la partie continue est du premier ordre (les variables d’état correspondent aux places
différentielles). Nous avons donc des variables continues linéaires par morceaux entre chaque
pas de discrétisation. Les RdP temporels étendus (RdP-TE) permettent de modéliser certains
phénomènes tel que la préemption, la reprise des actions et la dépendance des actions
séquentielles permettant de modéliser en plus de l’écoulement du temps des variables
continues x par morceaux régies par des équations de type = k, Un algorithme de
transformation des RdP-TE vers les automates hybrides linéaires se trouve dans [Tou 09].
2.3.Approches mixtes
Parmi ces approches nous rencontrons les RdP mixtes et les Statecharts hybrides. Les modèles
dits mixtes reposent sur la collaboration de deux sous-modèles, l’un pour l’aspect
événementiel, basé par exemple, sur les automates à états finis ou les RdP et l’autre pour

Chapitre II. Etude et Analyse des SDH
25
l’aspect continu basé sur des équations d’états. L’aspect hybride est pris en compte dans
l’interface entre les deux sous-modèles. Parmi les modèles basés sur cette approche nous
trouvons les automates hybrides. Les automates à états finis sont constitués de sommets
représentant les états discrets, de transitions entre sommets définies par un triplet: sommet
source, sommet destination et événement, d’un ensemble fini de symboles décrivant les
événements (appelé alphabet) et d’un état initial. Le comportement global d’un système à
événement discret est décrit par l’ensemble des trajectoires d’événements qui peuvent être
exécutées en parcourant l’automate à états finis à partir de l’état initial.
Les automates temporisés sont des automates finis étendus par un ensemble de variables
réelles, appelées horloges. Les automates hybrides sont une extension des automates
temporisés où la dynamique continue n’est plus représentée par des horloges mais par des
équations différentielles quelconques. De façon informelle, un automate hybride apparaît
comme l’association d’un automate d’état fini pilotant un ensemble d’équations dynamiques
continues [Zay 01]. Cependant, il est rapidement apparu que même pour traiter des problèmes
simples, il est nécessaire d’introduire un mécanisme permettant de structurer les modèles et de
les définir de manière modulaire.
Ainsi, la composition d’automates hybrides est basée sur la composition synchrone. Cet état
de fait rend difficile la conception et la description des automates hybrides pour la
modélisation du comportement d’un système. Notons que cette difficulté n’altère pas l’intérêt
des automates hybrides pour les traitements théoriques tels que la vérification, la synthèse de
la commande ou la définition des interactions entre la partie événementielle et la partie
continue [Zay 01].
Dans [Alu 95], les auteurs définissent l’automate hybride comme étant une extension de
l’automate discret en associant une évolution continue à chaque état discret. La composante
continue est décrite par un ensemble d’équations différentielles et la composante discrète par
un automate à états fini. Un automate hybride évolue par alternance de pas continus, où les
variables d’état et le temps évoluent de façon continue, et de pas discrets où plusieurs
transitions discrètes et instantanées peuvent être franchies.
D’un point de vue informel et général, un automate hybride apparaît comme un automate à
état fini pilotant un ensemble d’équations différentielles modélisant la dynamique continue du

Chapitre II. Etude et Analyse des SDH
26
système. Le modèle est composé d’un ensemble fini des variables réelles X et d’un graphe
d’évènements étiqueté (S, E). L’ensemble S est composé par les sommets du graphe et les
éléments de l’ensemble E représentent les transitions discrètes.
L’état de l’automate change instantanément à l’occurrence d’un événement discret ou par
l’écoulement du temps lors de la validation d’une condition logique spécifiée sur la valeur de
la variable continue
Considérons l’automate hybride de la figure 1.b, il décrit le comportement du système de bacs
présenté par la figure 1.a. On veut garder le niveau de liquide dans chaque réservoir au dessus
des seuils H1min et H2min.
L’automate comporte 4 sommets S1, S2, S3, S4 et trois variables d’états continues h1, h2
(modélisant les niveaux de liquides dans les deux réservoirs) et x (horloge modélisant le délai
entre l’instant de décision de commutation de la vanne et sa commutation effective). Les
transitions entre sommets sont franchies si l’un des seuils est atteint.
Lorsque la vanne est dans la position A, la hauteur des liquides dans les réservoirs varie d’une
manière linéaire suivant les fonctions (avec h10 et h20 : les hauteurs initiales) :
h1(t)=h10+7.t
h2(t)=h20-7.t
De la même manière, si la position de la vanne est B, les équations deviennent
h1(t)=h10-5.t
h2(t)=h20+5.t
a b

Chapitre II. Etude et Analyse des SDH
27
Figure 2. a-système de bacs. b -Automate hybride correspondant Un second exemple d’outils mixtes est les Statecharts hybrides. Ces derniers ont été définis
comme une solution pour améliorer la structuration des spécifications à base d’automates afin
de faciliter leur description, leur lecture et leur modification. Les Statecharts sont un outil de
modélisation graphique pour les systèmes réactifs complexes. Les transitions sont étiquetées
par des expressions de la forme "événement déclenchant/action"; où l’action est synchrone
avec l’événement déclenchant. Les Statecharts sont habituellement caractérisés par
l’expression:
Statechart = Automates + Profondeur + Orthogonalité + Communication par diffusion.
Un autre exemple d’outils mixtes les RdP mixtes (RdPM). Comme pour les Statecharts, les
RdPM reposent essentiellement sur la définition de l’interface entre la dynamique continue et
celle événementielle d’un système. Les RdPM donnent une interprétation aux RdP par un
ensemble d’équations différentielles. Un RdPM complet d’un système est modulaire et est
constitué d’un ensemble de RdP interprétés par des équations algébro-différentielles, chaque
RdP modélisant les changements d’états discrets d’un phénomène physique. Enfin et de même
que pour les automates ou les Statecharts hybrides, l’aspect continu agit sur l’évolution du
marquage par l’intermédiaire de conditions de validations associées aux transitions [Zay 01].
3. Outils de simulation des SDH
Les systèmes complexes se composent d'un grand nombre de composants agissants les uns
sur les autres avec des comportements non-linéaires et hybrides. La construction précise des
modèles efficaces de simulation pour ces systèmes est une tâche difficile. Des chercheurs
ont adopté le composant orienté objet [Lee 03] pour modéliser de grands systèmes hybrides.
Les modèles mathématiques indiquent les différents comportements des composants et les
modèles formels du calcul définissent des interactions entre les composantes, qui fournissent
la base pour développer des environnements efficaces pour simuler le comportement des
systèmes hybrides
De nombreux outils de simulation ont vu le jour, ils dépendent généralement du modèle
utilisée pour représenter le SDH (bond-graph, automate hybride, etc.), de leur objectif
(orienté vers une classe d’application ou au contraire à vocation générale) et du type de
simulation utilisée (séquentielle ou globale).

Chapitre II. Etude et Analyse des SDH
28
Nous pouvons citer quelques outils de simulation comme :
• HYSDEL (Hybrid System Description Language) est un langage basé sur la
modélisation MLD du système hybride. Cet outil peut être employé pour l’analyse et
la synthèse de la commande du SDH [Pot 03].
• YAHMST (Yet another Hybrid Simulation Tool) a été développé au laboratoire
d’automatique de Grenoble et appliqué au cas d’un processus batch complexe. Il est
implanté à l’aide du langage de programmation orienté objet Java et permet la
structuration hiérarchique du modèle. Basé sur l’association à un mode discret d’un
jeu d’équations continues, il intègre au solveur un détecteur d’événements, facilitant
le calcul des instants de commutation [Fla 00].
• HyBrSim (Hybrid Bond Graph Simulator) est un outil réalisé sur la base des bonds
graphs hybrides. Cet environnement expérimental de modélisation permet d’établir
un cadre formel au SDH considéré [Mos 02].
• HSML (Hybrid Systems Modeling Language) a pour but de définir formellement le
système et fournir une base pour les langages « front ends » pour des environnements
de simulation des systèmes hybrides. Le langage HSML permet une construction
hiérarchique et modulaire des modèles; définition du temps continu, du temps discret
et composants à base logique; établissement du programme prioritaire des composants
en temps discret ; mécanismes pour la manipulation d'état-événement ; traitement des
conflits; vérification rigoureuse de type et de gamme; une base sémantique stricte qui
permet la vérification et la validation du modèle [Tay 94].
• HSCAP (Hybrid Sequential Causal Assignment Procedure) permet la mise à jour
dynamique de l'information causale [Dai 06]. Il est Constitué de structures de
diagramme de bloc reconfigurable.

Chapitre II. Etude et Analyse des SDH
29
4. Analyse des SDH
La simulation est une approche expérimentale permettant d’analyser les propriétés du
système. Cependant elle ne permet pas en général de considérer toutes les évolutions du fait
de l’explosion combinatoire du nombre de situations possibles. Ainsi, de nombreux travaux
ont été consacrés à la vérification formelle en parallèle avec les travaux sur les propriétés
structurelles des modèles comme la stabilité, l’observabilité et la commandabilité.
4.1. Vérification des SDH et accessibilité
La vérification formelle des propriétés est un domaine très important dans l'analyse des
SDH. Elle permet de s’assurer que des problèmes tels que le blocage ou le non déterminisme
dû aux transitions discrètes ne se posent pas lors de l’exécution du modèle. Notamment, si
une séquence infinie d’événements se produit en un temps fini, comme dans le cas où deux
phases bouclent sur elles-mêmes, alors l’exécution ne s’arrêtera jamais. Cela signifie que le
modèle représentant le système n’est pas adapté ou que le système lui-même est mal conçu.
La vérification de propriétés de sûreté et l'analyse de l’accessibilité des SDH sont en général
des problèmes non décidables [Alu 95], toutefois quelques techniques et algorithmes sont
de plus en plus utilisés. La vérification a été principalement appliquée à des systèmes
modélisés par des automates hybrides. Il s’agit d’une vérification du modèle au sens
informatique en utilisant la logique temporelle ou le model-checking [Hen 97]. Parmi les
outils informatiques dédiés à la vérification nous pouvons citer HyTech (HYbrid
TECHnology), conçu sur la base d’automates hybrides linéaires [Alu 95].
4.1.1. Vérification des SDH
Un grande part des travaux sur la vérification des SDH provient de ceux utilisés pour la
vérification des systèmes à événement discrets (SED). A ce titre nous pouvons citer deux
principales méthodes de vérification [Gué 08] : la première est basée sur une abstraction du
comportement continu par un SED et la seconde tend à adapter les méthodes vouées aux SED
à la dynamique continue.
La vérification basée sur l’abstraction des événements discrets consiste à définir les régions de
l'espace d'état hybride pour construire le modèle discret. Chacune de ces régions est alors
associée à un état discret. Les transitions discrètes sont alors établies et les régions sont

Chapitre II. Etude et Analyse des SDH
30
dédoublées d'une manière itérative selon les considérations de l’accessibilité. Le processus
itératif du modèle discret s'arrête quand il n'y a plus de changement de l'ensemble des secteurs
hybrides dans deux itérations consécutives. Le modèle discret est alors une bi-simulation du
système hybride qui peut être employé pour la vérification.
Une des difficultés de cette approche est le calcule de l'ensemble hybride de prédécesseurs
d'un secteur. La difficulté principale est liée à l'algorithme itératif où il est impossible de
garantir sa convergence. Afin de palier cette difficulté, une décomposition itérative de la
région est généralement arrêtée à une certaine étape. Le modèle discret résultant est alors une
abstraction du système hybride [Alu 03] et [ Klo 06].
4.1.2. Vérification basée sur l’accessibilité des systèmes hybrides
Une deuxième famille d’approches s’intéresse à la vérification des propriétés d’accessibilité
des systèmes hybrides. Cette restriction aux propriétés d’accessibilité peut sembler être
importante. Tant que l'espace d’états des SDH inclue implicitement le temps, plusieurs
propriétés importantes comme celles de la sûreté peuvent être exprimées comme celles de
l’accessibilité. La vérification de l’accessibilité est intégrée dans les outils comme HyTech
[Hen 97] et PHAVer [ Fre 05].
4.2. Stabilité, observabilité et commandabilité
Des travaux sur l’analyse des propriétés structurelles des SDH concernent essentiellement
l’étude de la stabilité, de l’observabilité et de la commandabilité. La plupart de ces travaux
tendent à étendre les approches classiques comme celle de Lyapunov pour l’étude de la
stabilité [Pet 02] et les méthodes de discernement d’état pour caractériser formellement
l’observabilité des SDH [Vid 03].
L’étude de la stabilité des SDH a donné lieu à de nombreux travaux [Lib 03]. Par contre, les
problématiques liées à la commandabilité et à l’observabilité du système n’ont pas suscité
autant d’intérêt dans la communauté des systèmes hybrides.
5. Synthèse de la commande des SDH
La problématique de la commande des SDH consiste dans la synthèse d’une commande
admissible menant le système d’une "région hybride initiale" à une "région hybride finale"
pendant un intervalle de temps fini. Pour cela, deux orientations peuvent être considérées:
synthèse des contrôleurs discrets, et synthèse des contrôleurs hybrides.

Chapitre II. Etude et Analyse des SDH
31
La synthèse d’un contrôleur discret est basée sur le principe de recherche d’une stratégie
discrète qui permet de restreindre le comportement du système à satisfaire les spécifications
de commande.
La synthèse d’un contrôleur hybride s’intéresse davantage à la dynamique continue du
système hybride. La commande recherchée porte essentiellement sur la partie continue
(régularisation autour de l’origine, optimisation d’un critère portant sur les variables
continues, etc.). De nombreuses approches issues de la commande des systèmes continus
sont donc proposées. Trois types de commandes sont ainsi considérés pour les systèmes
hybrides: la commande optimale [Pon 62], la commande prédictive [Fer 03] et la commande
stabilisante [Pet 02].
6. Surveillance des SDH
La surveillance n’a pas reçu beaucoup d’attention dans la communauté des systèmes
hybrides. La plupart des travaux de surveillance à base de modèle qui ont été réalisés, se
basent sur des modèles d’abstraction du système hybride afin de ramener la surveillance des
SDH à un problème de surveillance soit de systèmes purement continus, soit de systèmes
purement discrets [Lun 00], [Kou 02] et [Tog, 06]. La surveillance à base de modèle mixte a
été également considérée dans les travaux de [Ber 98] et [Bis 03] et [Dom 04]. Ces deux
derniers étendent les méthodes classiques de surveillance comme l’approche des
observateurs ou les approches de diagnostic qualitatives pour la détection et la localisation
des défaillances du SDH. Cependant toutes ces approches nécessitent en général d’utiliser un
grand nombre de capteurs qui permettent de connaître la modalité de l’état discret courant
dans lequel le système se trouve.
7. Conclusion
Dans ce chapitre nous avons fait un tour d’horizon sur l’ensemble des travaux de recherche
menés dans le cadre des SDH. Ces travaux concernaient les méthodes formelles pour la
modélisation, les approches de vérification des propriétés et les outils de simulation. Nous
avons aussi soulevé les problèmes liés à la synthèse de la commande et à la surveillance des
SDH.

Chapitre III Modèles et Outils pour la
Modélisation des SDH

Chapitre III. Modèles et Outils pour la Modélisation des SDH
33
1. Introduction
Ce chapitre est consacré à deux formalismes mathématiques pour la modélisation et d’analyse
des systèmes dynamiques hybrides, à savoir les réseaux de Petri hybrides et les automates
hybrides linéaires. Afin de comprendre ces deux formalismes hybrides, on est dans
l’obligation de présenter tout un ensemble de modèles de RdPs (Discrets, temporisés,
temporels et continus). Notre choix est porté sur les réseaux de Petri Hybrides (RdPH) comme
outil formel de modélisation dans la mesure où il est le mieux adapté aux systèmes hybrides à
flux continus et où toutes les variables sont positives. L’automate hybride linéaire est le
modèle le plus général pour la représentation du comportement hybride.
2. Les réseaux de Petri
2.1. Introduction
Les réseaux de Petri ont été définis en 1962 par Carl Adam Petri. Ils représentent un
formalisme puissant pour la modélisation et l’analyse des systèmes à événements discrets
(SED) comme les systèmes de télécommunication, les réseaux de transports, les systèmes
automatisés de production, etc. Leur représentation graphique permet de visualiser d’une
manière naturelle le parallélisme, la synchronisation, le partage de ressources et le non-
déterminisme. Leur représentation mathématique permet d’établir les équations d’état a partir
desquelles il est possible d’apprécier les propriétés du modèle et les comparer au
comportement du système modélisé [Bon 01].
Depuis leur apparition, les RdP ont connu nombreuses extensions notamment pour la prise en
compte des aspects stochastiques, temporels, etc.
2.2. Définitions
Un RdP peut être assimilé à un système composé de deux parties distinctes :
Une partie statique (structurelle, topologie).
Une partie dynamique (comportementale).

Chapitre III. Modèles et Outils pour la Modélisation des SDH
34
La partie statique est représentée par un graphe orienté biparti R = < P, T, Pré, Post > avec :
P un ensemble fini de places, {p1 , p 2 ,..., p n }.
T un ensemble fini de transitions, {T1, T2,..., Tm}.
P et T forment les sommets du réseau, avec P ∩ T =Ø.
Pré : P T → N est l’application d’incidence avant, correspondant aux arcs directs reliant
les places aux transitions.
Post : P T → N est l’application d’incidence arrière, correspondant aux arcs directs
reliant les transitions aux places.
Lorsque Pré et Post prennent leurs valeurs dans l’ensemble {0, 1}, le réseau est alors qualifié
de réseau ordinaire.
En utilisant une notation matricielle, les matrices d’incidence avant et arrière peuvent être
respectivement définies comme suit :
Pré = [δij] (1 ≤ i ≤ n, 1 ≤ j ≤ m) avec [δij] = Pré (pi, Tj),
Post = [εij] (1 ≤ i ≤ n, 1 ≤ j ≤ m) avec [εij] = Post (pi, Tj).
Ainsi, la matrice d’incidence W du réseau est calculée comme suit :
W = [wij] (1 ≤ i ≤ n, 1 ≤ j ≤ m) / wij = Post (pi, Tj) - Pré (pi, Tj)
La partie statique est complétée par un marquage initial : M0 : P → N, M0 (p) est le nombre de
marques contenues initialement dans la place p.
La partie dynamique du réseau consistera alors à faire évoluer ce marquage. Nous adopterons
par la suite la notation suivante :
°T (T°) représentera l’ensemble des places d’entrée (sortie) de la transition T.
°p (p°) représentera l’ensemble des transitions d’entrée (sortie) de la place p.
On appelle degré de validation d’une transition Tj la valeur q définie comme suit :
°
é ,
1

Chapitre III. Modèles et Outils pour la Modélisation des SDH
35
Dans le cas des RdP discrets, une transition Tj est validée si q ≥ 1 sinon on dit que Tj est q-
validée. Le vecteur de validation e du RdP de la figure 1.a, pour le marquage initial M0 =
(1001) est:
e = (q (T1; M); q (T2; M); q (T3; M)) = (100).
2.3. Règle de fonctionnement
Une transition t est dite franchissable (tirable) au marquage M si :
∀ p∈P, M (p) ≥Pré (p, T)
Le tir de la transition t au marquage M conduira au marquage M ' définie comme suit :
),(Pr),()()(, ' TpéTpPostpMpMPp −+=∈∀ .
La notation M [Ti>M ' traduit le fait qu’à partir d’un marquage M, en tirant la transition Ti, le
marquage M ' est atteint. L’ensemble des marquages atteignables (accessibles) à partir du
marquage M est noté R(M) d’où la relation fondamentale:
Si M [Ti > M ' alors M ' = M + W.ei
De plus,
ei : {1, ..., m} → {0, 1} avec ei[j] = 0 ∀ j ≠ i et ei[i] = 1.
Pour une séquence de transitions σ = T1T2...Tk conduisant au marquage Mk en partant du
marquage initial M0, l’équation fondamentale prend la forme suivante :
_
0 σWMM k +=
Avec _σ le vecteur caractéristique de la séquence de tirσ .
Il est important de noter que l’équation fondamentale est une condition nécessaire
d’accessibilité.
En effet, un vecteur positif ou nul vérifiant cette équation ne constitue pas forcément une
séquence réalisable pour le réseau considéré.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
36
2.4. Graphe des marquages accessibles
L’une des méthodes, les plus importantes pour l’étude et l’analyse des propriétés des RdP, est
l’utilisation du graphe des marquages accessibles, qui consiste à construire le graphe de tous
les marquages du réseau. On déduit les propriétés grâce aux techniques de la théorie des
graphes.
Le graphe des marquages accessibles, noté GM (N, M0), est le graphe ayant comme sommets
les marquages du RdP R= (N, M0) et tel qu'il existe un arc entre deux sommets M1 et M2 si et
seulement si M1[T > M2. La figure 1 présente un RdP et son graphe des marquages
accessibles.
Figure 1. a. RdP ordinaire b. Graphe des marquages accessibles
Pour l’exemple de la figure 1.a la matrice d’incidence W est donnée comme suit :
W = [wij] =
Les RdP exhibent deux grandes classes de propriétés [Dav 87]:
i. les propriétés structurelles. Elles sont indépendantes du marquage initial et sont liées à
la topologie du réseau (structure). Leur analyse repose essentiellement sur les
techniques d’algèbre linéaire
-1 0 1 1 -1 0 0 1 -1 -1 1 0

Chapitre III. Modèles et Outils pour la Modélisation des SDH
37
ii. les propriétés dynamiques. Elles dépendent du marquage initial et sont liées à
l’évolution de ce dernier. Leur vérification nécessite bien souvent la construction du
graphe des marquages accessibles. Elles permettent d’apporter des réponses aux
questions concernant l’accessibilité d’un marquage particulier, le caractère borné, la
vivacité, etc.
3. Les réseaux de Petri temporisés
3.1. Introduction
Dans la littérature nous avons recensé trois grandes classes de modèles temporisés. Ces
classes se singularisent par l’objet sur lequel la contrainte temporelle est introduite. Ainsi, les
temporisations sont associées soit aux transitions, soit aux places, soit aux arcs. Dans les RdP
temporisés, les temporisations ont d’abord été associées aux transitions (RdP T-temporisés),
puis aux places (RdP P-temporisés). La temporisation représente la durée minimale de tir ou
le temps de séjour minimum d’un jeton dans une place. Les RdP T-temporisés et P-temporisés
sont équivalents et constituent une sous-classe des RdP temporels. Ramchandani [Ram 74] fut
le premier à introduire les RdP T-temporisés. Plus Particulièrement, il a associé une durée à
chaque franchissement de transition, conduisant au modèle T-temporisé.
3.2.Définitions
Un RdP T-temporisé [Ramc 74] est défini par le couple <R, Tempo> où R est un RdP marqué
et Tempo une application définie comme suit :
Tempo (Tj) = dj (dj est la durée associée à Tj) (dj rationnel positif ou nul).
Soit l’exemple de la figure 2.a. Si à l’instant t0, la transition T1 est validée, alors il restera une
durée d1 avant son franchissement. Cette durée est appelée temps résiduel de franchissement.
De même, si T2 est validée, il s’écoulera un temps d2 avant son franchissement.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
38
Figure 2. a- RdP T-temporisé. b- Graphe des marquages correspondant.
Les RDP P-temporisés sont incapables de modéliser les systèmes dans lesquels les opérations
de traitement ont des durées comprises dans des intervalles temporels (maximum, minimum).
4. Les réseaux de Petri temporels
4.1. Introduction
Les RdP T-temporel ou modèle de Merlin ont, initialement, été développé pour étudier les
problèmes de recouvrement dans les protocoles de communication où les évolutions
dépendaient des contraintes temporelles (time-out). Dans ce modèle, à chaque transition est
attachée une contrainte temporelle de type intervalle. L’intervalle associé à une transition t est
relatif au moment où la transition devient validée. Soit [a, b] cet intervalle et supposons que T
soit validée à l’instant τ, alors T peut être franchie dans l’intervalle (a + τ) et (b + τ), et que T
n’est pas désensibilisée par le franchissement d’une autre transition avec laquelle elle était
en conflit. Dans les RdP P-Temporel, un intervalle temporel est associé à chaque place. Dans
[Kha 97], il est démontré que les RdP T-Temporel et P-Temporel sont équivalents.
4.2.Définitions
Un RdP T-temporel est un doublet < R, IS > où :
R est un réseau de Petri marqué,
IS : T → Q+ x (Q+ ∞∪ ) avec Q+ l'ensemble des nombres rationnels positifs.
ti → IS (Ti) = [ai, bi] avec 0≤ai ≤ bi.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
39
IS (ti) définit l’intervalle statique associé à la transition Ti. Ainsi, une transition Ti doit être
sensibilisée (validée) pendant au moins ai unités de temps avant de pouvoir être tirée et ne
peut rester validée au-delà de bi unités de temps sans être tirée. Le tir d’une transition est alors
de durée nulle (instantané).
4.3. Fonctionnement
Dans ce qui suit, nous excluons le cas de la multi-sensibilisation des transitions. Le
comportement d’un RdP T-temporel peut être caractérisé par la notion d’état. De manière
intuitive, un état sera représenté par un couple composé du marquage courant et de l’intervalle
de tir de chaque transition. L’intervalle de tir considéré sera alors qualifié d’intervalle
dynamique. En effet, ce dernier peut différer de l’intervalle statique, comme l’illustre la figure
3 suivante.
Considérons le réseau de la figure 3, avec pour origine des temps l’instant où le jeton vient
d’arriver dans la place p1. Pour la représentation fournie, seule la transition T1 est sensibilisée,
son intervalle dynamique correspondra à son intervalle statique [1, 5].
Supposons maintenant qu’après τ unités de temps (τ < 5) la marque soit toujours contenue
dans p1, l’intervalle dynamique associé à T1 correspondra alors à l’intervalle défini par : [max
(0, 1 - τ), 5 - τ].
Formellement, l’état d’un RdP T-temporel est défini par une paire E = (M, I) telle que :
M est un vecteur répertoriant le nombre de marques contenu dans chaque place du réseau dans
l’état considéré (∀ p ∈P, M (p) ≥ 0),
Figure 3. RdP T-temporel.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
40
I est une application de l’intervalle de tir, associant à chaque transition du réseau l’intervalle
de temps dans lequel elle peut être tirée, (∀ T ∈ Τ, I (T) = Ø si et seulement si T est non
validée).
Les intervalles de tir dans l’état courant E peuvent différer de ceux assignés initialement aux
transitions du réseau. Un des problèmes posés par l’analyse des RdP T-temporels est la
gestion de la multi-validation des transitions, une transition Tj est dite multi validée par le
marquage M si:
° 2
Berthomieu et Diaz souligne dans [Bert 03] la difficulté d’analyse des RdP T-temporels
intégrant la notion de la multi-validation. Généralement, pour analyser un RdP T-temporel on
suppose que le degré de validation maximum d’une transition est de 1.
Une transition T est franchissable à un instant τ depuis un état E = (M, I) si et seulement si les
conditions suivantes sont satisfaites :
1) la transition T est validée par le marquage M.
2) τ est compris (bornes incluses) entre la date de tir au plus tôt de T et la plus petite des
dates de tir au plus tard des autres transitions validées dans l’état E.
3) aucune autre transition ne doit être franchie avant T :
, , ,
A partir de la notion d’état et des conditions de franchissement d’une transition depuis un état,
l’état suivant peut être déterminé.
4.4. Algorithme de calcul de l’état suivant
Le tir d’une transition T franchissable depuis un état E = (M, I) à un instant θ (θ étant relatif
à l’instant d’apparition de l’état E), conduit au nouvel état E' = (M', I'), déterminé par :
1) Le nouveau marquage M' défini par l’équation habituelle:
∀ p∈ P, M' (p) = M (p) - Pré (p, T) + Post (p, T),

Chapitre III. Modèles et Outils pour la Modélisation des SDH
41
2) Les nouveaux intervalles de tir I' pour les transitions :
Pour toutes les transitions Ti non-sensibilisées par le marquage M', I'i est vide,
Pour toutes les transitions Ti sensibilisées par le marquage M', on distingue :
(i) pour toutes les transitions Tj sensibilisées par les marquages M et M' non en conflit
avec la transition T : I' = [max (0, aj - θ), bj - θ], avec [aj, bj] l'intervalle statique associé à la
transition Tj,
(ii) pour toutes les transitions Tk nouvellement sensibilisées par le marquage M', on associe
l’intervalle statique I’= [ak, bk] associé à Tk.
D’après la règle de fonctionnement, si la borne supérieure d’une des transitions d’un conflit
est plus petite que les bornes inférieures de toutes les autres transitions en conflit, cette
transition doit être franchie avant toutes les autres : le choix d’une transition du conflit à
franchir peut être fait par la temporisation. On ne prend pas alors en compte la dynamique et
la structure globale du système. Une conséquence de ceci est qu’une partie du système pourra
alors ne jamais fonctionner. Ceci peut avoir une grande influence sur ses performances. Le
réseau sous-dessous illustre cette situation.
Pour ce réseau, les valeurs des paramètres temporels associés aux transitions T1, T2 en conflit
imposent de franchir systématiquement T1, il s’en suit qu’une partie du réseau ne fonctionnera
jamais.
T1 T4 T2 T3 [1, 2] [3, 4] [1, 2] [3, 4]
Figure 4. Exemple illustratif
t1

Chapitre III. Modèles et Outils pour la Modélisation des SDH
42
4.5. Analyse énumérative des RdP T-Temporels
Définition. Une classe d’état est constituée de l’ensemble des états accessibles depuis l’état
initial, en tirant tous les échéanciers (σ, u) réalisables pour une séquence de tir des transitions
σ, u est l’ensemble des dates de tir des transitions de σ.
Une classe d’états est donc caractérisée par cette séquence de transition σ et par le marquage
M, résultant du tir de σ à partir marquage initial. Elle sera noté C = (M, D) où M est le
marquage de la classe (marquage commun à tous les états de la classe), D est le domaine de tir
de la classe, définit par l’union des intervalles de tir associés à chaque état de la classe.
Dans [Kha 97] il a été démontré que le domaine de tir d’une classe d’états peut être défini
comme l’ensemble de solutions d’un système d’inégalités où les variables sont associées aux
transitions sensibilisées par le marquage de la classe considérée.
Ainsi, soit la classe d’états C= (M, D), prendra la forme suivante :
D = {t / A.T ≥ b}
Avec A, une matrice de coefficients et b un vecteur de constantes et T un vecteur de variables,
en fonction des transitions sensibilisées par le marquage de la classe considérée.
Il est montré dans [Kha 97] que toutes les inégalités définissant un domaine de tir sont de trois
types possibles :
Ti ≥ai
Ti ≤ bi
Ti – Tj ≤ cij = f0 (ai, bi, aj, bj), Ti correspond à la i ème transition validée par M.
4.6. Calcul des classes d’états
Une transition Ti est tirable depuis la classe (M, D) si et seulement si :
i. Ti est validée par M au sens des RdP de base (discrets)

Chapitre III. Modèles et Outils pour la Modélisation des SDH
43
ii. il existe dans le domaine D un vecteur tel que la composante (instant de tir) associée a
ti soit inférieure à toutes les autres.
La condition (ii) interdit le franchissement de toute transition validée dont l’intervalle de tir
(courant) est strictement précédée par celui d’une autre transition validée. Les deux conditions
précédentes peuvent être écrites sous la forme suivante :
a. ∀ p ∈ P, M (p) ≥ Pré (p, Ti),
b. ∃ T/ A.T ≥ b et (Ti ≤ Tj ∀ j ≠ i).
Où le système A.T ≥ b a pour solution l’ensemble D. la composante Ti de vecteur T
correspond à la transition Ti.
4.7. Calcul de la classe suivante
Soit la transition Ti franchissable depuis la classe C = (M, D), avec D = {T / A.T ≥ b}.
Le tir de Ti conduira à la classe C' = (M', D') suivante caractérisée par :
• Le marquage M' est obtenu par :
∀ p∈ P, M’ (p) = M (p) - Pré (p, Ti) + Post (p, Ti)
• Le domaine D' est obtenu comme suit :
i) Ajouter au système A.T ≥ b les conditions de tir de Ti, exprimant qu'elle soit la première
tirée parmi l’ensemble des transitions validées :
A.T ≥ b, Ti ≤ Tj, ∀ j ≠ i,
ii) Supprimer par substitution dans le nouveau système, les variables Tj associées aux
transitions en conflit avec Ti.
iii) Dans le système ainsi réduit, effectuer le changement de variables suivant :
∀ j ≠ i, T 'j= Ti + Tj et éliminer par substitution toutes les occurrences de la variable Ti, pour
ne garder que les nouvelles variables T 'j. Le domaine de tir de transitions restées validées
après le tir de Ti est ainsi actualisé.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
44
(iv) Compléter ce dernier système par une variable supplémentaire pour chaque transition
nouvellement validée et associer à ces dernières leur intervalle de tir statique.
Le changement de variables modélise l’écoulement du temps pour les transitions validées par
un changement d’origine du temps. La nouvelle origine devient l’instant de franchir Ti. Ceci
exprime que Ti est choisie franchie en premier et que toutes les autres transitions
franchissables seront franchies après.
Le graphe des classes d’états accessibles (GCEA) par un RdP T-temporel est un graphe dont
chaque nœud représente une classe d’états, et les arcs sont étiquetés par les noms de
transitions.
Il existe une séquence menant de la classe C0= (M0, D0) à la classe C= (M, D) dans le
graphe GCEA si et seulement si il existe un échéancier( , ) menant de M0 vers M [Gho 05].
En conséquence le graphe GCEA ne peut être utilisé que pour analyser des propriétés
d’accessibilité de marquage, qui sont des propriétés non temporelles, ce qui est insuffisant
pour l’analyse des propriétés quantitatives. D’où l’idée de traduire les RdP T-temporels en
automate temporisé, et l’utilisation de ces derniers pour une analyse quantitative (temporelle)
[Gho 05].
5. Les réseaux Petri continus
5.1. Introduction
La limitation des RdP discrets réside dans le fait que lorsque le nombre d’états d’un système
augmente, le nombre de marquages accessibles du RdP qui le représentent explose et devient
difficile voire impossible à exploiter.
A titre d’exemple, on peut considérer le système de la figure 5 composé de 3 machines M1, M2
et M3 et de deux stocks S1 et S2 de capacité C1 et C2 respectivement [All 98]. Nous admettons
qu’il y a toujours des pièces brutes qui arrivent à l’entrée de M1 et de la place disponible pour
les pièces en sortie de M3. Le nombre d’états atteignables pour ce système est N = 23(C1 + 1)
(C2 + 1).

Chapitre III. Modèles et Outils pour la Modélisation des SDH
45
Ce nombre peut très rapidement exploser en fonction des valeurs numériques de C1 et C2.
Soit, pour C1 = C2 = 12, N = 1352. Si le nombre de machines passe à 10 et le nombre de
stock à 9, alors pour les mêmes valeurs de C1 et C2, N est supérieur à 1013 états. Cette réalité a
engendré l’apparition des RdP continus [All 98].
Figure 5. Ligne de production
Les RdP continus (RdPC) sont guidés par l’idée de la division du marquage M d’un RdP
discret en k parties égales [Bit 05]. Le RdPC est un modèle dans lequel les marques dans les
places sont des nombres réels.
Considérons un RdP R défini par son graphe (places, transitions, arcs) et son marquage M, et
appliquons une transformation qui consiste à couper chaque marque (jeton) en k parties égales
(sans autres modifications du RdP).
Prenons l’exemple du RdP R de la figure 6. Le vecteur de marquage M de R est (1, 0). Si on
divise M par deux (k = 2), le marquage du nouveau RdP ′est (2, 0). Si on divise M par 4
(k = 4), M’ sera égal à (4, 0), etc. Si k est quelconque, alors le marquage ′ sera égal à (k, 0).
Supposons que k est infini, l’ensemble des marquages accessibles devient aussi infini (figure
6). Le RdP ainsi obtenu est dit continu autonome.
Figure 6. Transformation d’un RdP ordinaire en RdPC

Chapitre III. Modèles et Outils pour la Modélisation des SDH
46
Dans les RdPC, une transition est validée si ses places en amont possèdent un marquage non
nul.
Définition. Le degré de validation d’une transition Tj continue est donné par:
°
é ,
1
Si q > 0, alors Tj est validée. Le marquage atteignable d’un RdPC est non dénombrable, d’où
l’impossibilité de construction d’un graphe des marquages accessibles. Ce dernier peut être
remplacé par un graphe d’atteignabilité, où chaque nœud modélise un ou plusieurs
marquages. La construction de ce graphe est basée sur la notion du macro-marquage [Dav
05]
Définition. Soit Mk un marquage d’un RdPC, l’ensemble des places P peut être divisé en deux
sous-ensembles :
i. P+(Mk) l’ensemble des places Pi tel que mi>0
ii. P0(Mk) l’ensemble des places Pi tel que mi=0
Un macro-marquage, noté M* est l’union de tous les marquages Mk ayant le même ensemble
P+(Mk) de places marquées. Un macro-marquage est caractérisé par son ensemble de places
marquées P+(Mk).
Propriété 1. Un RdPC ayant n places peut atteindre au maximum 2n macro-marquages.
Le marquage initial d’un RdPC peut être un vecteur de nombres réels (pas nécessairement
entiers). La plupart des notions et propriétés relatives aux RdP discrets se généralisent sans
difficultés aux RdPC : caractère borné, vivacité, sans blocage, invariants, conservation,
consistance, etc.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
47
5.2. Les RdPC temporisés
Lorsque l’on considère implicitement que le nombre de franchissements simultanés d’une
transition est limité à un, on parlera de limitation implicite. Lorsqu’on considère une place
supplémentaire qui force la limitation comme c’est le cas sur la figure 7.b, on parlera de
limitation explicite.
Considérons la figure 7.b et divisons les jetons des places P1 et P2 en k marques, k étant un
réel quelconque. On obtient le modèle de la figure 7.c. Ainsi, les k marques vont franchir T1
simultanément et ce franchissement va prendre le temps d1. Si on veut limiter le
franchissement à une marque, on transforme le RdP comme indiqué sur la figure 7.d
Figure 7. a – e- Transformation d’un RdP temporisé en RdP continu temporisé.
g-Evolutions du RdP temporisé et continu.
La transition T1 est répétée k fois avec une limitation explicite de chacune d’elle à une
marque. Au lieu qu’il y ait un franchissement simultané de k marques en un temps d1 (figure
7.c), il y aura k franchissements distincts d’une seule marque pendant le même délai d1 (figure
7.d).
Une estimation de ce modèle (figure 7.d) nous amène au RdP de la figure 7.e. Cette
estimation consiste à dire que k marques franchissant en même temps k transitions différentes

Chapitre III. Modèles et Outils pour la Modélisation des SDH
48
(une marque par transition) en un délai d1 est équivalent à k marques franchissant les unes à la
suite des autres une seule transition, chaque franchissement étant séparé du suivant d’un délai
de d1/k. Le modèle de la figure 7.f est identique à la figure 7.e sauf que la limitation à une
marque de la transition T1 y est implicite [Bit 05].
Finalement, si l’on considère que k tend vers l’infini, on considère aussi que le temps d1/k
tend vers zéro. Il est alors plus juste de considérer le franchissement de T1 comme un débit
continu et de parler non plus de temps mais de vitesse de franchissement. La vitesse associée
à T1 est donc V = 1/d1 (exprimée en marques par unité de temps).
Afin de différencier les RdPC des RdP discrets (de base), nous représenterons dorénavant les
places continues par un double cercle et les transitions continues par un rectangle. Le RdPC
équivalent au RdP de la figure 7.a est donné par la figure 7.g.
Remarque 1. Considérons le RdPC temporisé. Il sera associé à la transition Ti la vitesse Vi. Si
toutes les places en amont de Ti possèdent un marquage toujours positif, alors la vitesse de Ti
est égale à Vi (sous réserve de présence d’autres contraintes comme le conflit par exemple),
sinon elle sera inférieure à Vi. Il s’agit là de la vitesse instantanée vi(t) de Ti qui est au plus
égale à Vi. Toutefois, cette vitesse ne dépend pas de la valeur du marquage en amont, elle
reste constante tant que le marquage n’est pas nul. Pour cela, ces RdP sont dits RdPC à
vitesses constantes RdPCC.
Remarque 2. Il existe un second calcul qui conduit à un RdPC où les vitesses maximales de
franchissement sont fonctions des marquages des places continues. On parle alors de RdPC à
vitesses variables, les RdPCV [Dav 05].
Définition. La notion du 0 représente une quantité infiniment petite mais non nulle [Dav01].
L’association du poids 0 à un arc inhibiteur permet d’effectuer un test à zéro d’une place
continue (figure 8).
Un nombre α / k, où α est un nombre positif fini et k ∞ est noté 0+ [Dav 05]. Il s’ensuit que
0 < 0 et qu’il n’existe pas de réel positif x tel que x <0 .

Chapitre III. Modèles et Outils pour la Modélisation des SDH
49
Figure 8. Un test à zéro pour : a-RdP temporisé. b- RdPC équivalent.
Définition. Une place Pi de R est alimentée s’il y a au moins une transition Tj parmi les
transitions d’entrées de Pi qui est validée. Formellement Pi est alimentée si :
, 0 °
Définition. Une transition Tj est validée si chaque place Pi d’entrée de Tj satisfait au moins
une des deux conditions suivantes:
1) mi (t) > 0.
2) Pi est alimentée.
Remarque. Une transition est fortement validée si toutes ses places d’entrées satisfont la
première condition, autrement elle est faiblement validée. Un algorithme est défini dans
[Dav05] pour déterminer l’ensemble des transitions validées d’un RdPC.
Définition. Le bilan dynamique d’une place continu Pi
L’écart Ii - Oi, noté Bi représente le bilan dynamique de la place Pi avec :
é , . ′°
é , . °
Bi peut être positif, négatif ou nul. Cependant, prenons un intervalle [a, b] où mi reste égal à
zéro. D’une part, si mi = 0, Bi ne peut être négatif.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
50
D’autre part, si mi reste nul tout au long de cet intervalle, cela signifie que Bi n’est pas positif.
Ainsi, mi constant égal à zéro sur un intervalle donné signifie que Bi ne peut être que nul
durant ce même intervalle.
Propriété 2. La vitesse de franchissement d’une transition Tj fortement validée est égale à sa
vitesse maximale de franchissement vj(t) = Vj.
Propriété 3. La vitesse de franchissement d’une transition Tj faiblement validée est donnée
par la relation:
vj (t) = min [Vj; mini (Bi + vj (t))] avec i tel que Pi est une place d’entrée de Tj et mi (t) = 0.
L’expression des vitesses de franchissement dans quatre RdP différents est montrée sur la
figure 9. De manière générale, les vitesses de franchissement sont calculées à partir d’un
algorithme défini dans [Dav 05].
Figure 9. Calcul des vitesses de franchissement.
5.3. Résolution des conflits
On parle de conflit dans un RdPC lorsqu’une place Pi possède un débit d’entrée Ii qui n’est
pas suffisant pour franchir les transitions de sortie de cette même place à leurs vitesses
maximales.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
51
Définition. Soit Q j(t) le sous ensemble des places Ph dans °Tj tel que mh(t) = 0. Étant donné
un marquage M et un débit d’alimentation Ii(t), on dit qu’il y a un conflit par rapport à la place
Pi à l’instant t si:
0
min 1,
, . ,°
Pour résoudre un tel conflit, nous avons le choix entre deux solutions: la priorité ou le partage.
Figure 10. Cas d’un conflit dans un RdPC temporisé.
Prenons l’exemple de la figure 10, les vitesses instantanées associées à T1 et T2 sont
respectivement : v1< min (V1; v3) = 2, v2 <min (V2; v3) = 2,5 avec v3 < V1 + V2.
Ainsi, il faut trouver les valeurs adéquates pour v1 et v2 telles que: v1 ≤2, v2 ≤2,5 et v1 + v2 =
2,5. Si la solution choisie est celle de la priorité et en prenant, par exemple, T1 prioritaire à T2
(noté T1 < T2), alors on prendra v1 = 2 et v2 = 0,5.
Si la solution choisie est celle du partage, on posera v1 = αv2, α fixé selon le poids que l’on
désire accorder à chacune des deux vitesses.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
52
5.4. Fonctionnement des RdPCC
Le marquage d’une place Pi à l’instant t+dt est déduit du marquage à l’instant t par la relation :
, é , . 1
Soit la relation fondamentale :
.
Où W est la matrice d’incidence du RdPCC et v(t) le vecteur vitesse de franchissement à
l’instant t, c'est-à-dire v(t) = (v1(t),…,vm(t)). Le marquage du RdPCC est M(t) =
(m1(t),…,mn(t)).On notera :
Exemple. Système à deux réservoirs.
Le système à deux réservoirs de la figure 11.a comprend deux réservoirs et une pompe. Le
réservoir 1 se vide dans le second par l’effet de la gravité à la vitesse V1. Le réservoir 2 se
vide à la vitesse V2 grâce à une pompe P qui a son tour remplit le réservoir 1 et ainsi de suite.
Ce système est continu et peut être représenté par le RdPC de la figure 3.11.b. Deux places
continues représentent le réservoir1 et 2. Le marquage de ses places indique la quantité d’eau
initiale présente dans les réservoirs. Les vitesses V1 et V2 sont associées aux transitions T1 et
T2.
Dans un premier temps, la place P1 se remplit à la vitesse V2 et se vide à V1. La place P2 a
exactement la dynamique opposée. Il en découle les équations suivantes:
(1) m1(t+dt)=m1(t)+ (V2-V1) dt (3)
(2) m2(t+dt)=m2(t)+ (V1-V2) dt (4)
m1 et m2 étant les marquages des places P1 et P2 respectivement.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
53
Figure 11. a- Système à deux réservoirs. b- RdPCC équivalent. c- Dynamique des
marquages et évolution des vitesses.
Les vitesses v1(t) et v2(t) représentent les vitesses instantanées de franchissement des
transitions T1 et T2. Elles ont pour valeurs maximales V1 et V2. Les vitesses associées aux
transitions d’un RdPCC sont les vitesses maximales (figure 11.b).
D’une part, selon que V1 est supérieure à V2 ou inversement, un des marquages, m1 ou m2 va
s’annuler (équations 3 et 4). D’autre part, Un marquage ne peut pas être négatif. Il s’ensuit
qu’au moment du passage d’un marquage à zéro, les dynamiques vont changer.
Prenons V1 = 2 litre/sec, V2 = 3 litre/sec, m1(0) = 60 litres et m2(0) = 100 litres
Le comportement du système à réservoir possède 2 phases distinctes. Une première phase
pour t Є [0; 100] où les vitesses sont constantes égales à (v1;v2) = (V1;V2) où l’évolution des
marquages se fait selon les équations 5 et 6.
m1(t) = 60 + t; (5)
m2(t) = 100 - t: (6)
Une deuxième phase où le vecteur de vitesses est également constant à (v1;v2) = (V1;V1), la
dynamique des marquages devenant alors nulle.
Les vitesses sont constantes par intervalle de temps, elles changent lors du passage d’un
marquage à zéro. La dynamique des marquages de ce système est donc constante par
morceaux.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
54
5.5. Graphe d’évolution d’un RdPCC
Dans un RdPCC le marquage d’une place est une fonction continue du temps, il est alors
difficile de construire dans le cas général, un graphe des marquages accessibles. Cependant,
une grandeur caractéristique du fonctionnement d’un RdPCC est le vecteur vitesse de
franchissement qui reste constant dans un intervalle de fonctionnement (fonctionnement
constant par morceaux).
Lors du passage d’un marquage à zéro, les vitesses du RdPCC changent. De ce fait, nous
pouvons nous baser sur les vecteurs de franchissement ainsi que sur les vecteurs de
marquages du RdPCC à chaque changement de dynamique pour définir complètement
l’évolution de ce RdP. On construit donc un graphe d’évolution comme un RdP où chaque
place représente un IB-state (ou IB-état) et où à chaque transition est associé l’événement qui
provoque le changement de l’état des vitesses (un changement de marquage).
Définition. Un IB-état (IB-state ou Invariant Behavior state) est une phase d’évolution du
RdP où, le vecteur de vitesses instantanées reste constant. Autrement dit, tant qu’on est dans
un même IB-état, les marquages évoluent de façon linéaire [Bit 05]
Figure 12. Graphe d’évolution du RdPCC de la figure 11.b.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
55
6. Les réseaux de Petri hybrides
Un RdP hybride RdPH est un modèle combinant un RdP discret et un autre continu. Aucune
condition n’est imposée sur la nature des RdP discrets et continus. Toutes fois le modèle
RdPH de base combine un RdPCC et un RdP T-Temporisé et c’est le modèle de base que nous
présentons par la suite.
6.1 Définitions
Formellement un RdPH marqué est un octuple PNH=< P; T; h ; Pré; Post; Tempo; V; M0 >
tel que:
, , … , .
, , … , .
. ,
: , est une application dite fonction hybride. Elle indique pour chaque nœud
du RdPH s’il s’agit d’un nœud discret (PD, TD) ou continu (PC, TC)
é:
: è
Tempo : TD est une application qui associe à chaque D-transition Tj sa durée de
temporisation,
V : TC est une application qui associe à chaque C-transition Tj sa vitesse de
franchissement maximal Vj
:
Pré et Post doivent vérifier le critère qui suit :
Si Pi et Tj telles que h(Pi) = D et h(Tj) = C alors Pré (Pi; Tj) = Post (Pi; Tj)
Cette condition nous permet de garantir que le marquage d’une D-place reste entier quelque
soit l’évolution du RdPH.
Définition. Une C-transition Tj est validée si chacune de ses places d’entrée Pi satisfait les
conditions suivantes:
• Si Pi est une place discrète: mi ≥ Pré (Pi; Tj),

Chapitre III. Modèles et Outils pour la Modélisation des SDH
56
• Si Pi est une place continue: Soit mi > 0, ou bien Pi est alimentée, Une C-transition Tj est dite fortement validée si mi > 0 pour chacune de ses places d’entrées
Pi, sinon elle est dite faiblement validée.
Définition. On dit d’une D-transition Tj qu’elle est validée si chacune de ses places d’entrées
Pi satisfait la condition:
mi ≥ Pré (Pi; Tj).
Les RdPH élémentaires constituent une classe particulière des RdPH où il n y pas de
transformation de marquage, du discret vers le continu ou du continu vers le discret. Dans ce
modèle, le RdP T-temporisé contrôle le comportement du RdPCC via des boucles connectant
certaines D-places à certaines C-transitions, ce qui signifie que ces dernières ne sont pas
validées et par conséquent ne peuvent être franchies que si les D-places soient marquées.
Le RdPCC à son tour peut influencer le comportement du RdP T–temporisé, une D-transition
Tj peut avoir comme condition de franchissement le marquage d’une C-place Pi qui atteint un
seuil S. Graphiquement, ceci est représentée de deux manières soit par une boucle (deux arcs
de Pi vers Tj et de Tj vers Pi) dont le poids est S si ce seuil est un seuil supérieur. Dans le cas
contraire, si un marquage de Pi ne doit pas être inférieur à S, un arc inhibiteur est utilisé pour
relier Tj à Pi.
Exemple. Reprenons l’exemple de la figure 11. On suppose que la capacité maximale du
réservoir 1 est de 150 litres. Lorsque le réservoir 1 atteint ce niveau d’eau, la pompe s’arrête
automatiquement pendant une durée de 100 secondes puis reprend à nouveau.
Pour représenter le système sous cette nouvelle contrainte, il est nécessaire de représenter
l’état de la pompe. Celle-ci possède deux états discrets: un état de marche et un état d’arrêt.
Elle sera donc représentée par des places discrètes. Ces deux parties interagissent et forment
un modèle hybride. Ce modèle est donné par le RdPH de la figure 13.a.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
57
Figure 13. Dynamique d’un RdPH.
Les places P1 et P2 représentent les états de marche et d’arrêt de la pompe respectivement. La
partie continue P3 - T3 - P4 - T4 reste telle qu’elle était donnée sur la figure 11.b. A l’état
initial, la pompe est en état de marche.
La partie P1 - T4 représente l’effet du discret sur le continu. En effet, tant que P1 n’est pas
marquée, la transition T4 ne peut être franchie (règle de franchissement des RdP discrets).
L’arc ajouté de T4 vers P1 garantit qu’à chaque franchissement de T4, la même quantité est
enlevée puis ajoutée à P1 de telle sorte que le jeton présent dans P1 reste entier (voir les
conditions sur fonctions Pré et Post d’un RdP hybride). En d’autres termes, le franchissement
d’une C-transition ne doit pas modifier le marquage d’une D-place.
La partie P3 - T1 représente l’effet du continu sur le discret. En effet, tant que le marquage de
P3 est inférieur à 150, la transition T1 n’est pas franchissable. Lorsque m3 atteint 150, T1 est
franchie et c’est P2 qui devient marquée (pompe à l’arrêt).
Les transitions T1 et T2 ne sont pas franchissables donc les marquages de m1 et m2 ne changent
pas. Les marquages m3 et m4 évoluent selon les courbes de la figure 13.c
A t = 90 sec, m3 = 150 et T1 est franchie car d1 = 0. La place P1 n’est plus marquée et de ce
fait, T4 n’étant plus validée, sa vitesse de franchissement s’annule (v2(t) = 0). La nouvelle
dynamique des marquages est:

Chapitre III. Modèles et Outils pour la Modélisation des SDH
58
2 /
2 /
L’évolution des marquages est donnée par :
m3(t) = 150 - 2t;
m4(t) = 10 + 2t:
A partir de t = 90sec, le marquage de la place P3 se vide jusqu’à atteindre zéro à t = 165
secondes. La transition T3 n’est plus validée car P3 n’est plus alimentée, il s’ensuit que v1(t) =
0. Ainsi, les deux vitesses de franchissement v1(t) et v2(t) deviennent nulles et les marquages
restent constants.
A t = 190 sec, T2 est franchie (la pompe reprend après 100 secondes d’arrêt). Le marquage m4
est positif, donc T4 est fortement validée et v2(t) = V2 = 3 litre/sec. Le marquage m3 devient
positif. Ainsi, v1(t) = V1 = 2 litre/sec.
6.2. Graphe d’évolution d’un RdPH
Comme nous l’avons vu précédemment, un RdPCC peut être défini par son marquage et les
vecteurs vitesses instantanées de franchissement. Ceci définit, dans les RdPH, un état
comportemental invariant, c’est l’IB-state (Invariant Behavior state).
Définition. Un IB-state (ou IB-état) d’un RdPH représente des phases où l’évolution des
marquages du RdPH est constante et continue. De manière formelle, un IB-état correspond à
un intervalle de temps dans lequel:
1. le marquage MD des D-places est constant,
2. Le vecteur de validation eD des D-transitions est constant.
3. le vecteur de vitesses instantanées des C-transitions est constant,
4. le vecteur des marques réservées à la fois dans les D-places et les C-places est constant.
5. Lorsqu’un IB-état est atteint, le marquage des places continues MC est constant.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
59
Un graphe d’évolution d’un RdPH est donc constitué d’une succession d’IB-états représentés
par des nœuds (figure 14). On passe d’un nœud à un autre par l’occurrence d’un des
événements suivants:
1. Le marquage d’une C-place s’annule (appelé C1-événement),
2. Le franchissement d’une D-transition (appelé D1-événement),
3. Le degré de validation d’une D-transition qui change à cause du marquage d’une C-place
(appelé D2-événement).
Figure 14. Représentation d’un IB-état.
Chaque nœud comprend deux parties; une discrète et une continue. Dans la partie discrète
sont indiqués le marquage total et le vecteur de validation des D-places, notés respectivement
MD et eD. Dans la partie continue est indiqué le vecteur de vitesses instantanées (v).
Afin de mieux comprendre la construction d’un graphe d’évolution d’un RdP hybride et les
IB-états, nous allons illustrer ces notions à travers l’exemple de la figure 3.11. Le graphe
d’évolution obtenu correspond à celui de la figure 3.13. A l’instant initial, le marquage des
places continues est MC = (60 100), celui des places discrètes est MD = (1 0) et les vitesses
sont maximales (v = (2;3)).
A t = 90s, le marquage de P3 atteint 150, m3 = 150. T1 peut être franchie rendant P1 non
marquée et T4 infranchissable (v2(t) = 0). Le vecteur vitesse change (v = (2;0)) ainsi que l’IB-
état. Sur la transition de passage de l’IB1 à l’IB2 est indiqué l’événement qui a engendré ce
changement de phase. L’écriture m3=150=90 signifie que 90s après le début de l’IB1, le
marquage de P3 a atteint 150. Après un délai de 75s passé dans l’IB2, le marquage de P3 se
vide (m3 = 0). On entre alors dans l’IB3 et ainsi de suite jusqu’à construire tout le graphe
d’évolution.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
60
Figure 15. Graphe d’évolution du RdPH de la figure 13.a.
7. Les automates hybrides
7.1. Les automates à états finis déterministes
Les automates sont des «machines abstraites», très utilisés en informatique, qui permettent de
modéliser le comportement d’un grand nombre de systèmes. De façon très informelle, un
automate est un ensemble “d'états du système”, reliés entre eux par des “transitions” qui sont
marquées par des symboles [Gho 05].
Définition. Un automate à états finis (AEF) est un quintuple A = (Q, Q0,δ, ∑, QF) tel que :
• Q est un ensemble fini d’états
• Q0 est l’ensemble des états initiaux
• δ : Q×E → Q est un ensemble de règles de transition
• ∑ est un ensemble fini d’étiquettes ou alphabet (noms d’action ou d’événements)
• QF est un sous-ensemble de Q appelé l’ensemble des états finaux.

Chapitre III. Modèles et Outils pour la Modélisation des SDH
61
Un chemin d’exécution fini d’un automate est une séquence d’états q1, …, qn telle que
(qi, qi+1,ei) ∈ δ, i = 1, 2, 3,…,n, avec q1 ∈ Q0, qn+1 ∈ QF et ei ∈ E.
Exemple. La figure 16 modélise une machine simple qui peut prendre trois états : A (arrêt),
M (marche) et P (panne) ainsi Q= {A, M, P}. La machine est initialement en arrêt ce qui est
repéré par une flèche entrante. On considère l’état M (marche) comme l’état sortie, il est donc
représenté avec un cercle double. La transition d’un état à un autre se fait par occurrence de
l’un des quatre évènements : début du travail (α), fin du travail (β), panne de la machine (γ) et
réparation de la machine (λ).
Figure 16. Représentation d’un automate à états finis
7.2. Les automates hybrides
Les automates hybrides ont été introduits par Alur [Alu 95], comme une extension des
automates à état finis. Il s’agit d’étendre les automates à états finis par un ensemble de
variables réelles X={x1, x2,…, xn}. A chaque sommet q d’un automate hybride on associe pour
chaque variable continue de la forme , 0, une fonction d’évolution fq, encore
dite activité, et un prédicat sur la valeur des variables appelée invariant du sommet.
Le système peut séjourner dans un sommet tant que les valeurs des horloges vérifient
l’invariant associé. Le franchissement d’une transition est instantané, à chaque transition on
associe une condition de franchissement, appelée garde, et une affectation. Une transition ne
peut être franchie que si sa garde est vérifiée par les valeurs des variables. Les gardes
modélisent les contraintes imposées au comportement du système, et l’affectation associée à
une transition désigne les variables qui effectuent un saut suite au franchissement de la
transition.
α
A M
P
β
γ λ
Q = {A, M, P} ; ∑= {α, β, γ, λ} ; δ (A, α)=M ; δ (M, β)=A ; δ (M, γ)=P ; δ (P, λ)=A ; q0=A; F= {M}

Chapitre III. Modèles et Outils pour la Modélisation des SDH
62
Exemple. L’automate hybride de la figure 17 modélise, d’une manière plus riche, la machine
simple présentée précédemment dans la figure 16. Deux variables d’état continues sont
utilisées, x pour spécifier la durée opératoire de la machine qui est 3 u.t, et y pour le
vieillissement de la machine, une panne ne peut surgir avant que la variable y atteint la valeur
7, depuis sa dernière action de réparation.
Figure 17. Automate hybride modélisant une machine simple.
Définition. Une valuation (pondération) est une fonction : qui affecte à chaque
variable sa valeur à tout instant. L’ensemble des valuations des variables x Є X est noté . La
notation || exprime le fait que la valuation satisfait la contrainte C.
L’état d’un automate hybride à tout instant t est donné par un couple E= (q,v) où q est un
sommet de l’automate et v est une valuation. L’état peut changer de deux manières, soit par
franchissement instantané de transition discrète, soit par l’écoulement du temps dans un même
sommet. Franchir une transition change le sommet actif et les valeurs des variables réelles,
tandis que l’écoulement du temps ne change que les valeurs des variables réelles selon
l’activité du sommet actif.
Définition. Une trajectoire d’un automate hybride est une séquence fini ou infini de la forme :
….
α, x :=0
0 0.1
A
Vrai
1
M
x ≤ 3
0 0
P
Vrai
β, x =3
λ, y :=0 x :=0
γ, y ≥7

Chapitre III. Modèles et Outils pour la Modélisation des SDH
63
Où les , sont les états de l’AH, les fonctions sont les activités dans les sommets
sont les temps de séjour dans de tel sorte que :
(0)= ;
/ 0≤ ≤ ;
7.3. Les Automates Hybrides Linéaires (AHL)
Le formalisme des automates hybrides est particulièrement intéressant quand les activités, les
invariants, les gardes et les affectations sont des expressions linéaires sur l’ensemble X des
variables. Le terme linéaire dans ce contexte a le sens suivant :
• Les activités des sommets sont des équations différentielles de la forme , ,.
• Les invariants sont définies par des conjonctions de prédicats linéaires.
• Les conditions des gardes des transitions sont définies par la conjonction de prédicats
linéaires à coefficient rationnels sur les variables d’états continues.
• Les affectations associées aux transitions sont des fonctions linéaires des variables d’états
continues
Définition. Formellement, un AHL est défini par A= (Q, ∑, X, Inv, dyn, , σ, g, A) tel que :
• Q est un ensemble fini de sommets,
• ∑ est un ensemble fini de labels de synchronisation
• X est un ensemble fini de variables,
• Inv est la fonction qui associe à chaque sommet q un prédicat sur les variables
• dyn: Q X : décrit l’évolution des variables dans les sommets, l’évolution est
de type , ,
• est un ensemble fini de transitions,
• ∑ est le label de synchronisation associé à la transition e= (q, q’).
• g est une fonction qui associe à chaque transition e= (q, q’) un prédicat e
• A est une fonction qui associe à chaque transition e= (q, q’) une affectation. Les
initialisations spécifiées par A correspondent à des fonctions calculant la nouvelle
valeur de l’état à partir de sa valeur avant le franchissement, une affectation est de la
forme x :=A(x)

Chapitre III. Modèles et Outils pour la Modélisation des SDH
64
L’intérêt de ces automates est que toutes les régions de l’espace d’états continu qu’ils
définissent (invariants, gardes,…) sont dés régions linéaires convexes, et que les images de
régions linéaires par leurs fonctions d’évolutions continues et discrètes sont également des
régions linéaires.
7.4. Outils d’analyse des AHL
Plusieurs outils d’analyse appelés model-checkers ont été développés pour la vérification
automatique des propriétés des automates hybrides. Ces model-checkers contiennent des
procédures d’analyse de l’atteignabilité. Parmi ces model-checkers, nous citons :
CMC (Compositional Model-Checking) a été développé au laboratoire Spécification et
Vérification de l’ENS de Cachan, vise à vérifier des réseaux d’automates temporisés en
utilisant comme langage de spécification la logique Lv.
UPPAAL a été développé aux universités d’Uppsala en Suède et d’Aalborg au Danemark. Ce
model-checker est assez facile d’utilisation puisqu’il intègre une interface graphique très
conviviale. Il permet de modéliser des automates temporisés communiquant par
synchronisation. La logique temporelle utilisée est un fragment de TCTL, ce qui ne permet
que la vérification de propriétés d’accessibilité. Le point fort d’UPPAAL est le temps de
calcul rapide.
KRONOS a été développé au laboratoire VERIMAG de l’université de Grenoble. Ce model-
checker modélise des réseaux d’automates synchronisés et utilise la logique TCTL. Un
automate temporisé est exprimé sous une forme textuelle. Le point fort de Kronos est
l’expressivité de sa logique : Kronos implante un algorithme de model-checking pour la
logique temporelle TCTL.
HYTECH (HYbrid TECHnology) a été développé à l’université de Berkeley. Cet outil vise à
vérifier des réseaux d’automates hybrides très généraux. Il permet même d’analyser des
systèmes paramétrés. Il vérifie principalement des propriétés d’accessibilité et de sûreté. La
représentation symbolique qui est utilisée est celles des polyèdres convexes, c'est-à-dire des
intersections d’hyperplans.
PHAVER (Polyhedral Hybrid Automaton Verifyer) est un outil de vérification des automates
hybrides plus récent, développé par Goran Frehse [Fre05], et qui vise à combler les lacunes
de Hytech. Le problème des dépassements de capacité est réglé par l’utilisation de la Parma

Chapitre III. Modèles et Outils pour la Modélisation des SDH
65
Polyhedra Library qui permet un calcul exact sur les polyèdres. Le but de PHAVer est
également de permettre l’analyse de systèmes plus complexes que ceux pris en charge par
HyTech.
8. Conclusion Dans ce chapitre, nous avons présenté deux formalismes de modélisation des systèmes
hybrides. Ces deux formalismes sont à la base de notre contribution scientifique à laquelle
sera consacré le chapitre suivant. En premier lieu et afin d’appréhender la complexité des
RdPH, nous étions dans l’obligation de présenter tout une variété de RdP (discret, temporisés,
temporels et continus). Les RdPH seront exploités à des fins de modélisation et d’analyse des
systèmes hybrides. En second lieu, les automates sont présentés, plus précisément les
automates hybrides linéaires (AHL) que nous jugeons plus adaptés à notre problématique.
Les AHL considèrent à la fois les comportements continus et événementiels dans une même
structure. Ce formalisme est une extension de l’automate discret utilisé principalement pour la
vérification de certaines propriétés du système. Cependant, en ce qui concerne la
modélisation, on peut mentionner que le développement de modèles à l’aide des automates
hybrides n’est pas aisé vu que la sémantique associée à ce formalisme est orientée plutôt vers
l’analyse de comportements.
Dans le chapitre qui suit, nous présenterons quelques travaux associant la puissance d’analyse
des AHL à la puissance de modélisation des RdPH. Une sous classe des RdPH appelée RdPH
D-C-élémentaire sera présentée, un algorithme de passage du modèle des RdPH D-C-
élémentaire vers les AHL sera ensuite développé, ensuite le calcul de l‘espace atteignable de
l’automate hybride résultant est fait sous le logiciel PHAVer.

Chapitre IV Implémentation et Simulation
des AHLs

Chapitre IV. Implémentation et Simulation des AHLs
67
1. Introduction
Dans ce chapitre nous présentons un algorithme de traduction des RdPH D-C élémentaires en
automates hybrides. Nous commencerons par présenter les raisons de cette transformation. Un
RdPH D-C élémentaire, est un nouveau modèle qui se distingue du RdPH par le fait qu’il
combine un RdP continu à vitesse constante (RdPCC) et un RdP T-temporel, en plus le
comportement de la partie discrète commande et gouverne la partie continue, et vise- versa.
Ensuite, nous montrerons comment déterminer l’espace atteignable de l’automate hybride
généré avec le logiciel PHAVer
2. Traduction des RdPH en automates hybrides Les RdPH présentent l’avantage d’avoir une modélisation claire mais ne présentent pas une
énumération exhaustive de l’espace d’état. Cependant les automates (discrets, temporisés ou
hybrides) sont des modèles formelles qui permettent une manipulation facile mais
difficilement utilisables pour la modélisation. D’où l’idée de coupler la puissance d’analyse
des automates à la puissance de modélisation des RdPH. En général, la traduction d’un RdPH en un automate hybride est très complexe à cause de la
forte interaction qui existe entre la dynamique discrète et la dynamique continue. La plupart
des extensions des RdPs vers l’hybride ont été traduites en automates hybrides en vue de leur
analyse. C’est le cas des RdPH présentés dans le paragraphe 6 (chapitre III).
Dans [All 98] est présenté un algorithme permettant la construction de l’automate hybride
équivalent au RdPH. L’automate résultant a autant de sommets que d’IB-états du RdPH, les
variables d’états étant les marquages des places continues et les horloges mesurant le temps
pour les transitions validées. L’automate résultat est linéaire et déterministe. Pour assurer la
convergence de cet algorithme de traduction, le RdPH doit être borné.

Chapitre IV. Implémentation et Simulation des AHLs
68
Sava [Sav 01], à son tour propose un algorithme de passage d’un RdP T-temporel vers les
automates temporels En s’inspirant des travaux de [Sav 01] et [All 98], Ghomri a proposé
dans sa thèse [Gho 05], un algorithme de traduction des RdPH D-élémentaires en automates
hybrides. L’algorithme procède en deux étapes élémentaires : traduction des RdP T-temporels
en automates temporisés et traduction des RdPCC en automates hybrides. Le nombre de
sommets de l’automate hybride résultant de l’algorithme est linéaire, et le nombre de sommets
de l’automate est inférieur ou égale à . 2 avec N est le nombre de macro-sommets de
l’automate temporisé décrivant le comportement de la partie discrète, et est le nombre de C-
places du RdPH D-élémentaire.
S’inspirant des travaux de [Sav 06], Touati et Alla [Tou 09] ont présenté une procédure qui
permet de systématiser le passage des RdP temporels étendus (RdP-TE) en automates
hybrides linéaires (AHL). Le comportement temporel de l’AHL obtenu est similaire au
comportement du RdP-TE puisque le nombre de sommets est égal au nombre de marquages
du graphe de marquage. Les horloges actives dans un sommet reflètent le comportement des
transitions validées. Les variables des tâches sont aussi représentées dans les sommets et leurs
valeurs sont préservées par les affectations associées à l’AHL.
Plusieurs problèmes, liés à l'analyse des propriétés des automates hybrides ont pu être
exprimés comme le problème de l’accessibilité. Il est à noter que ce problème est
généralement indécidable à moins que des restrictions fortes soient ajoutées au modèle de
base pour obtenir des sous-classes spéciales de l’automate hybride [Henz 95]. L'existence
d’outils informatiques permettant l'analyse du problème d’accessibilité pour quelques classes
d’automates hybrides fait que l'analyse de plusieurs formalismes de systèmes hybrides est
faite après leur traduction en automates hybrides [Sav 01], [Gho 05] et [Tou 09].
3. Modèle des réseaux de Petri hybrides D-C élémentaires
Le modèle RdPH présenté dans la littérature [Dav 01] combine un RdPCC et un RdP-T-
temporisé fonctionnant en vitesse maximale. Ce modèle utilisé essentiellement dans le cadre
d’évaluation des performances a un comportement déterministe où tous les événements ont
des dates d’exécution précises.

Chapitre IV. Implémentation et Simulation des AHLs
69
Un autre modèle à été présenté dans [Gho 05] appelée RdP D-élémentaire combinant un
RdPCC et un RdP T-temporel. Dans ce modèle, juste le comportement de la partie discrète
commande la partie continue sans que cette dernière puisse influencer la partie discrète. Le
non déterminisme associé à ce modèle est représenté par les intervalles de franchissement
associés aux transitions discrètes.
Le modèle RdPH que nous considérons dans ce mémoire est appelé RdPH D-C-élémentaire et
diffère de celui proposé dans [Gho 05] par le fait que les deux parties interagissent entre
elles. En effet la partie discrète commande la partie continue et cette dernière influence à son
tour le comportement de la partie discrète. Dans ce modèle nous considérons qu’un
événement n’a pas une date exacte d’occurrence mais un intervalle dans lequel l’événement a
la possibilité de se produire [Hak 10]. Avant d’introduire de manière formelle ces réseaux
considérons l’exemple suivant.
Exemple1. Système des 3 réservoirs
Considérons le système des 3 réservoirs illustré par la figure1. Ce système Comporte 3
réservoirs, et 5 vannes. Les réservoirs 1 et 2 sont approvisionnés (remplis) par la vanne 1 et la
vanne 2 avec un débit de 2 et 5 litres/sec respectivement. Le réservoir 1 (le réservoir 2) et le
réservoir 3 sont reliés à l'aide de la vanne 3 (vanne 4) ayant un débit de 3 litres/sec (6
litres/sec). Le réservoir 3 est vidé par l’intermédiaire de la vanne 5 avec un débit de 7
litres/sec.
Figure 1. Système des trois réservoirs.

Chapitre IV. Implémentation et Simulation des AHLs
70
Le modèle RdPH D-C élémentaire de la figure 2 modélise le système des 3 réservoirs de la
figure 1. Les places (transitions) continues sont représentées par un double cercle (trait) pour
les distinguer des places (transitions) discrètes. Le franchissement des transitions T5, T6, T7,
T8, T9 représente le matériel traversent la valve 1, la vanne 2, la vanne 3, la vanne 4 et la
vanne 5 respectivement. Les places P5, P6, P7, représente les quantités d’eau dans le
réservoir 1, le réservoir 2 et le réservoir 3 respectivement.
Les vannes 3 et 4 peuvent être dans l’état ouvert représenté par les places P2 et P4 et l’état
fermé représenté par les places P1 et P3. Les transitions discrètes T2 et T3 représentent le
passage de l'état ouvert à l'état fermé qui prend 3 sec à 5 sec. Ce passage à l’état fermé des
vannes 3 et 4 est conditionné par la quantité d’eau dans les réservoirs 1et 2 respectivement.
D'autre part, le passage de l'état fermé à l'état ouvert a lieu après 10 sec de la dernière action
d'ouverture, alors que l'intervalle de temps [10, 10] est associé aux transitions discrètes T1 et
T4. On suppose que, les réservoirs 1, 2 et 3 contiennent au début 26, 10 et 12 litres
respectivement. Les marquages m1c, m2c, m3c des places continues P5, P6, P7 respectivement
évoluent selon la figure 3, leur dynamiques évoluent selon la figure 4
Figure 2. RdPH D-C-élémentaire modélisant le système des 3 réservoirs.
Dans un RdPH D-C-élémentaire, les parties discrètes et continues sont connectées à travers
des boucles reliant les C-transitions à des D-places, c'est-à-dire que le franchissement des ces
C-transitions sont conditionnées par le marquage des D-places, la partie continue peut donc
être contrôlée par la partie discrète.

Chapitre IV. Implémentation et Simulation des AHLs
71
Cependant le franchissement d’une D-transition peut ne dépendre que du marquage discret
d’une D-place et de la variable continu qui représente le temps, mais aussi du marquage
continu d’une C-place. Cela est représenté par une boucle reliant cette D-transition à cette C-
place, c'est-à-dire que le franchissement de cette D-transition n’est possible que si le
marquage de cette C-place est égal à S. La partie discrète à son tour est contrôlée par la partie
continue.
Définition 1.
Un RdPH DC-élémentaire marqué est un 9-tuple < P; T; h ; Pré; Post; I ; SIM ; V ; M0> tel
que:
• , , … , .
• , , … , .
• . , .
• : , est une application dite fonction hybride. Elle indique pour chaque
nœud du RdP s’il s’agit d’un nœud discret (PD, TD) ou continu (PC, TC).
• é: .
• : arrière
Pré et Post satisfont la condition suivante :
• , é , ,
Cette condition signifie qu’une marque discrète (continue) ne peut pas être fluidifiée par une
transition continue (discrète)
• I :(Pi, Tj) est une application d’inhibition, si un arc inhibiteur de poids S relie la
place Pi à la transition Tj, le franchissement de Tj n’est possible que si le marquage de Pi est
égal à Smin
• SIM : TD ( ∞) est une application qui associe à chaque D-transition Tj son
intervalle de franchissement statique [ , ]
• V : TC est une application qui associe à chaque C-transition Tj sa vitesse de
franchissement maximal Vj
• : est le marquage initial

Chapitre IV. Implémentation et Simulation des AHLs
72
Figure3. Evolution des marquages des places continues du RdPH de la figure 2.
Figure4. Evolution des dynamiques des places continues du RdPH de la figure 2.
L’état d’un RdPH D-C-élémentaire, à un instant t est un couplage de l’état du RdP T-temporel
et l’état du RdPCC. La notion d’IB-état peut être définie pour cette classe de RdPH, sauf
qu’un IB-état n’a pas une durée fixe.
Un graphe d’évolution est donc constitué d’une succession d’IB-états représentés par des
nœuds. Les transitions entre les nœuds sont étiquetées par les événements et leurs intervalles
de dates d’occurrences. On passe d’un nœud à un autre par l’occurrence d’un des événements
suivants:

Chapitre IV. Implémentation et Simulation des AHLs
73
1. Le marquage d’une C-place s’annule (C1-événement),
2. Le franchissement d’une D-transition (D1-événement) :
3. Le degré de validation d’une D-transition qui change à cause du marquage d’une C-place
(D2-événement).
Considérons, à titre d’exemple le RdPH D-C-élémentaire de la figure 2. Son graphe
d’évolution est représenté par la figure 5. Dans de graphe d’évolution, à chaque événement
correspond un intervalle de dates d’occurrences possibles et non une date précise comme dans
le cas des RdPH classiques, par conséquence, on a des intervalles de marquages continus
possibles à l’entrée de chaque IB-état.

Chapitre IV. Implémentation et Simulation des AHLs
74
Figure 5. Graphe d’évolution du RdPH D-C élémentaire de la figure 2.
Remarque. Il est à noter que dans ce cas particulier, la construction du graphe d’évolution a
été possible grâce au caractère borné du RdPH de la figure 2, ceci n’est pas possible dans le
cas général.
t=0
(26 10 12)
20≤M5≤22/ [1 3]
[(20 40 0) (22 30 0)]
T2/ [3 5]
20≤M5≤22/ [15 17]
[(20 34 34) (22 36 30)]
(1 0 0 1) (2, ‐1, ‐1) (1 0 0 0)
(0 1 0 1) (‐1, ‐1 ,2)
(0 1 0 1) (‐1, ‐1, 2)
(0 1 1 0) (‐1, 5 ‐4)
T2/ [3 5]
(0 1 1 0) (1, 5, ‐4) (0 1 0 1)
(1 0 1 0) (2, 5, ‐7)
(1 0 0 1) (2, ‐1, ‐1)
P7=0 / [3 3]
(0 1 1 0) (‐1, 5,‐4) (0 0 0 1)
(0 1 1 0) (‐1, 5, 0)
(0 1 1 0) (‐1, 5,0,)
(1 0 1 0) (2, 5, 0)
T4/ [1 1]
(1 0 0 1) (2, ‐1,0) (1 0 0 0)
(0 1 0 1) (‐1, ‐1, 2)
(0 1 0 1) (‐1, ‐1, 2)
T1/ [9 9]
T2/ [3 5]
(17, 31, 40)
T1/ [10 10]
12≤M5≤14/ [7 9]
[(28 12 48) (30 14 44)]
T3/ [3 5]
20≤M5≤22/ [3 5]
[(20 34 34) (22 24 42)]
T4/ [2 2]
T1/ [8 8]

Chapitre IV. Implémentation et Simulation des AHLs
75
4. Traduction des RdPH D-C élémentaires en automates hybrides linéaires
(AHL)
Comme mentionnée ci-dessus, dans un RdPH D-C élémentaire, la partie discrète a un
comportement dépendant de la partie continue, son évolution ne dépend pas seulement de son
marquege initial et de la variable continue le temps mais aussi d’une troisième variable d’état
qui représente le poids S associé à une C-place. Elle ne peut pas donc être étudiée seule. Pour
cela nous proposons un algorithme de transformation des RdPH DC-élémentaires en AHL.
Les principes de construction de l’AHL sont inspirés des travaux présentés dans [Sav 06].
Ainsi l’évolution du RdPH DC-élémentaire dépend de quatre événements possibles :
• Le franchissement d’une transition temporelle indépendante du poids S associé à une
place continue
• Le franchissement d’une transition temporelle dépendante du poids S associé à une
place continue quand ce dernier est atteint.
• le marquage d’une C-place s’annule.
• le marquage d’une C-place atteint un marquage permettant de valider une transition
temporelle.
4.1 Création d’un invariant associé au franchissement d’une transition dynamique.
L’intervalle de franchissement associé à la transition temporelle Tj est [aj, dj] et le marquage
continu permettant de franchir Tj est S (Smax ou Smin).
Alors l’intervalle [bi, ci] de la transition dynamique TCj permettant d’atteindre le marquage S
est calculé comme suit :
bi= S- k dj et ci=S- k aj Si k>0 (S= Smax)
bi= S + k aj et ci=S+k dj Si k<0 (S= Smin)
L’invariant de cette transition continu TCj est égale à :
m i ≤ ci si k>0
mi ≥ bi si k< 0

Chapitre IV. Implémentation et Simulation des AHLs
76
Sachant que k est la dynamique de la place continue associée à TCj pendant le séjour du
sommet L.
4.2 Algorithme de transformation
Dans ce qui suit nous adopterons les notations suivantes :
L : ensemble des sommets,
T : ensemble des transitions de l’automate {TD : temporelles et TC : dynamiques},
TD : Td : les transitions temporelles Tdc : l’ensemble des transitions temporelles qui
dépendent des marquages des places continues du RdPH,
M : l’ensemble des marquages du RdPH= {Mc, Md},
D : l’ensemble des dynamiques des places continues du RdPH pour chaque marquage,
n : un compteur qui mémorise le nombre des sommets,
P : une pile qui mémorise les visites des sommets non encore analysés. Chaque élément de la
pile mémorise :
Le nom du sommet,
Les dynamiques de chaque place continue dans ce sommet,
Les horloges actives dans ce sommet,
Notre algorithme de transformation est constitué de 5 étapes:
Etape 1 : Initialisation (création du sommet initial L1)
Initialement toutes les places continues sont marquées et par conséquent touts les transitions
sont franchies à leurs vitesses maximales. A partir du marquage discret initial on détermine
l’ensemble des C-transitions franchissables. Ainsi on crée le sommet initial de l’automate
hybride et lui associer l’activité = Wc. V permettant de calculer les dynamiques des C-
places. Avec W la matrice d’incidence du RdPCC et V le vecteur des vitesses de
franchissement maximales. En suite on détermine l’ensemble des transitions validées suivant
l’algorithme proposé dans l’étape 1. On Crée une transition d’entrée T1,1 et on empile la visite
(L1,T1,1) dans la pile.

Chapitre IV. Implémentation et Simulation des AHLs
77
Algorithme de l’étape 1.
• Déterminer D1 : = Wc. V1 •Déterminer les transitions validées par le marquage M1
d : Si Tj Є Td alors • Déterminer les horloges actives • Calculer l’invariant Id(L1) Fin si Si Tj Є Td
c alors Tj est franchissable si M (Pci) =S (Smax or Smin)
• Associer une horloge nulle à Tj • Déterminer une transition dynamique Tj
C et calculer son invariant Ic(L1) • I(L1)=Id(L1) Ic(L1) Fin si Pour, i= 1,…p faire Si D1 (pi
c) <0 et Ici(L1) (pic)= alors
• Définir une transition dynamique Tci (pic) et son invariant Ici(L1) égal à Mpi
c >= 0.
• I(L1)=I(L1) Ici(L1) Fin si Fin pour • Créer une transition d’entrée en lui associant une affectation qui met à zéro les horloges actives dans le sommet L1 et les marquages continus initiaux. • Mémoriser cette visite dans la pile P : (L1, T1,1 ) • M :={M1}; D := {D1} ; L :={L1} ; T= {T1,1},; n :=1.
Etape 2 : Analyse de la dernière visite mémorisée dans la pile « le sommet Ln »
On dépile la dernière visite dans la pile. Pour chaque franchissement d’une transition Tn,n+1
validée dans le sommet dépilé on détermine le marquage discret atteignable, si ce dernier
n’existe pas on va créer un sommet destinataire suivant l’étape 3, sinon on suit l’algorithme
de l’étape 4.
Algorithme de l’étape 2.
L’analyse du sommet Ln par le franchissement de la transition Tj
Retirer de la pile l’élément qui mémorise cette visite Déterminer l’ensemble des transitions validées Pour chaque franchissement de Tj, déterminer Md
n+1 et Dn+1 Si Md
n+1 Md aller à l’étape3 Sinon aller à l’étape4 Fin si

Chapitre IV. Implémentation et Simulation des AHLs
78
Etape 3 : Création du sommet Ln+1 associé au marquage M n+1 atteint.
Pour chaque marquage atteignable on crée un sommet de destination et lui associer l’activité
= Wc. v(t) avec v(t) le vecteur des vitesses de franchissement instantanées. En suite on
détermine l’ensemble des transitions validées suivant l’algorithme proposé dans l’étape 3.
Créer la transition Tn,n+1 et on empile la visite (Ln+1,Tn,n+1) dans la pile.
Algorithme de l’étape 3.
• Déterminer Dn+1 : = Wc. Vn+1 • Déterminer les transitions validées par le marquage M d
n+1 : Si Tj Є Td alors • Déterminer les horloges actives dans Ln+1 • Calculer l’invariant Id (Ln+1) Fin si Si Tj Є Td
c (S est égale à Smax ou Smin) alors Si la transition franchie Tn ,n+1=TC
j alors • Activer l’horloge de Tj
• Calculer l’invariant Idj(Ln+1) = Idj(Ln+1) ) • Mettre à jour Id (Ln+1)=Id (Ln+1) Idj (Ln+1) Sinon • Associer une horloge nulle à Tj. • Déterminer une transition dynamique TC
j • Calculer son invariant Ici,(Ln+1) •I(Ln+1)=Id(Ln+1) Ici,(Ln+1) Fin si Fin si Pour, i= 1,…p faire Si Dn+1 (pi
c) <0 et Ici(Ln+1) (pic)= alors
• Définir une transition dynamique TC (pic) avec Ici (Ln+1) égal à Mpi
c >= 0
• I(Ln+1)=I(Ln+1) Ici(Ln+1), Fin si Fin pour Créer une transition Tn,n+1=(Ln, gn,n+1, An ,n+1, Ln+1) qui modélise le franchissement de Tj . Ajouter sa garde gn, n+1 est égale à : • [aj, dj] si Tj Є TD ; • [bi, ci] si Tj Є Tj
C ; • Mpi
c=0 si Tj Є Tci • [aj, dj] & Mpc
i,Tj,,=S si Tj Є Tdc
•Mémoriser dans la pile P la visite du sommet Ln+1 : (Ln+1, Tn,n+1) •M:=M {Mn+1}, D:=D {Dn+1}, L:=L {Ln+1}, T:=T {Tn,n+1}, n :=n+1.

Chapitre IV. Implémentation et Simulation des AHLs
79
Etape 4 : Affectation d’une transition à un sommet déjà existant
Pour chaque franchissement d’une transition du sommet dépilé, on détermine les dynamiques
des C-places suivant l’activité = W. v(t), si existe déjà, le sommet est déjà créée ainsi on
affecte juste une transition vers ce sommet. Sinon on créée un nouveau sommet suivant
l’algorithme de l’étape 3
Algorithme de l’étape 4.
Si Mdn+1= Md
L alors Si Dn+1 = DL alors • Créer, si elle n’existe pas déjà, une transition Tn,l=(Ln, gn,l, An,l, Ll), • Ajouter sa garde gn,l , T:=T {Tn, l} Sinon aller à l’étape3 Fin si Fin si
Etape5 .effectuer le teste sur la pile.
Après avoir empilé tous les sommets de destination des transitions franchissables du sommet
dépilé dans l’étape2, on refait le processus de dépilement suivant l’étape 2, Si la pile n’est pas
vide, sinon il ne reste plus des sommets à analyser ainsi l’algorithme se termine et tous les
sommets on été créés.
4.3. L’analyse de l’algorithme de traduction
L’algorithme converge pour les RdP D-C-élémentaire bornés. L’algorithme se termine
lorsqu’il n’y a aucune nouvelle visite d’un sommet à analyser. La visite d’un sommet est
complètement caractérisée par l’IB-état du RdPH D-C-élémentaire. Ainsi l’algorithme
converge si le nombre de sommets et le nombre de fois que chaque sommet est visité est fini.
Le RdPH D-C-élémentaire est constitué d’un RdP T-temporel et d’un RdPCC. Plusieurs
algorithmes ont été proposés pour la traduction des RdP T-Temporels, la plus part d’entre eux
[Sav 01], la convergence est conditionnée par le caractère borné du RdP T-temporel.

Chapitre IV. Implémentation et Simulation des AHLs
80
Tandis que la traduction du RdPCC en automate hybride converge toujours, même si le
RdPCC n’est pas bornée. Ceci est dû au fait que l’on caractérise une place non pas par son
marquage mais par son macro-marquage qui est une grandeur booléenne. Ainsi l’AHL associé
au RdPH D-C-élémentaire dans la classe considérée a un nombre fini de sommets.
La visite d’un sommet de l’AHL correspond à l’exécution d’une transition. Si le sommet n’est
pas encore crée alors on empile le sommet et la visite dans la pile. Si le sommet est déjà créé,
alors on crée la transition et on ne sauvegarde pas la visite dans la pile. Puisque le nombre de
sommets est fini, alors le nombre de transitions est aussi fini

Chapitre IV. Implémentation et Simulation des AHLs
81
Figure 6. Les étapes de passage d’un RdPH vers les AHL.
Pour chaque franchissement de Tj déterminer Ln+1 et Mn+1
Mn+1=Ms
Créer la transition Tn-1, n modélisant le franchissement de Tj
Début
Déterminer le Marquage Mn
n=0
n=n+1
Créer le sommet Ln
Déterminer l’ensemble des dynamiques Dn
Déterminer les transitions validées
Déterminer les horloges et les invariants des transitions
Empiler (Ln, Tn-1,n) dans la pile P
P =
Dépiler le dernier sommet Ln de la pile
Ls=L n+1 alors créer la transition Tn,s
Fin
Oui
Oui
Non
Dn+1=Ds
M :=M { Mn}, D :=D { Dn}, L :=L { Ln}, T :=T { Tn-1,n}
Non

Chapitre IV. Implémentation et Simulation des AHLs
82
Figure 7. Organigramme pour déterminer le type de chaque transition discrète validée ainsi
que son invariant et son horloge dans le sommet Ln.
Début
Oui
Oui
Non
Non
Tj Є Td
Tn-1,n=TCj
Calculer Id (Tj)
Activer horloge de Tj
Associer horloge nulle à Tj
Déterminer TCj
Calculer Ici,(Ln)
Activer l’horloge de Tj
Calculer Id (Tj)
j=1
Oui
Tj validée
j=j+1
Oui
Fin
Non
Non j>k
Tj est une transition Є Tdc

Chapitre IV. Implémentation et Simulation des AHLs
83
Figure 8. Organigramme pour déterminer chaque transition continu validée et son invariant
dans le sommet Ln.
4.4.Application de l’algorithme
Par la suite nous illustrons l’application de notre algorithme à travers l’exemple des trois
réservoirs.
Etape 1 : Initialisation
Soit M1 = {Md, Mc} le marquage initiale du RdPH DC-élémentaire égal à :
M1 = {(0110), (26, 10, 12)} :
On Crée le sommet L1 associé au marquage M1,
D1 = { 1; 5; 4}
Oui
Oui
Non
Non
Début
i=1
Dn(pic) <0
Ici (Ln)=
Déterminer TCj(pi
c)
Ici (Ln) = Mpic >= 0
i=i+1
Non
Oui
i > N
Fin

Chapitre IV. Implémentation et Simulation des AHLs
84
Les transitions validées par le marquage M1d :
T4 Є Td 1 Id T4(L1)= x4≤10.
T2 Є Td
c 0 (T2 est franchissable si m5 =17 (Smin)).
Associer une horloge nulle à T2 0
On détermine une transition dynamique T2C.
Sachant que 5= -1, l’intervalle de franchissement de T2 est [3, 5] et (S=Smin =17).
Alors l’intervalle [bi, ci] de la transition dynamique T2C est égal à [20, 22] :
bi= 17 + 3 et ci=17+5 Si k<0 (S= Smin), et son invariant est égale à : m5 ≥ 20
• On a D1 (p7c) <0 et Ic7 (L1) (p7
c)= alors on définit une transition dynamique Tc7 (p7
c)
avec Ic7(L1)= m7>= 0
• I(L1)= x4≤10 m5 ≥ 20 m7>= 0
• On crée une transition d’entrée en lui associant une affectation :
{x2 :=0 et x4 :=0} et {m5 :=26 ; m6 :=10; m7 :=12}.
• Mémoriser cette visite du sommet L1 dans la pile P : (L1, T1,1)
• Actualiser les ensembles : M :={M1};D := {D1} ; L :={L1} ; T= {T1, 1},; n :=1.
Figure 9. Automate hybride obtenu après l’étape 1 de l’algorithme.
1 5
0 1
L1
4
x4≤10 m5≥20 m7≥0
x2 :=0 ; x4 :=0 ;
m5 :=26 ; m6 :=10 ;
m7 :=12 ;

Chapitre IV. Implémentation et Simulation des AHLs
85
Etape 2:
L’analyse du sommet L1 par le franchissement de T1, 1
• On retire de la pile l’élément (L1, T1, 1)
• l’ensemble des transitions validées sont : T7C, T2
C et T4.
L’analyse du franchissement de T7C :
Md2= Md
1 et D2= { 1; 5; 0} ≠ D1 donc on crée un sommet L2 :
Déterminer les transitions validées par le marquage M d 2 : T2
C et T4
T4 Є Td 1 Id T4(L1)= x4≤10.
T2 Є Td
c 0, l’intervalle de la transition dynamique T2C est égal à [20 22] : et son
invariant est égale à : m5 ≥ 20
• I(L2)= x4≤10 m5 ≥ 20
Ainsi, en franchissant les autres transitions et en continuant l’exécution de l’algorithme, on
obtient l’automate hybride de la figure 10.
Le comportement temporel de l’AHL obtenu n’est pas similaire au comportement du RdPH D-
C-élémentaire. le nombre de sommets est supérieur ou égal au nombre d’IB-état du graphe
d’évolution, les variables d’états dans un sommet étant les marquages des places continues et
les horloges actives reflètent le comportement des transitions validées.

Chapitre IV. Implémentation et Simulation des AHLs
86
Figure 10. Automate hybride résultat de l’application de l’algorithme de traduction.
x2 :=0 ;x4 :=0 ;
m5 :=26 ; m6 :=10 ;m7 :=12 ;
1 5
0 1
L1
4
x4≤10 m5≥20 m7≥0
20 m5 22
3≤x2 5 & 17 ;
0
m7=0
2 5 7 1 1
L9
x1≤10 x4≤10 m7≥0
2 1 0 1 1
L10
x1≤10 x3≤5
2 1 0 1 0
L11
x1≤10 m6≥12
1 1 2 1 1
L13
x2≤5
x3≤5
2 1
1 1
L14
1
x1≤10 x3≤5 m7≥0
1 5 0 0 1
L2
x4≤10 m5≥20
1 5 0 1 1
L3
x2≤5 x4≤10
1 1 2 0 0
L4
m5≥20 m6≥12
12 m6 14
x4 =10; x3:=0
m7 =0
x1 =10, x2 :=0
x4 =10, x3 :=0
3≤x3
5&
9;
m7 =0
3≤x2 5 & 17 ; x1 :=0
20 m5 22
20 m5 22
x4 =10
12 m6 14
3≤x2 5 & 17 ;
0
m7 =0
12 m6 14
12 m5 14
x1=10 x2 :=0
x1 =10 ; x2 :=0
1 1
0 1
L8
2
x3≤5 m5≥20
1 1 2 1 0
L7
x2≤5
m6≥12
x4 =10 ; x3 :=0
x1=10, x2 :=0
2 1
1 0
L12
1
x1≤10 m6≥12 m7≥0
3≤x3
5&
9;
1 5
1 1
L5
4
x2≤5 x4≤10 m7≥0
3≤x2 5 & 17 x1 :=0 m7 =0
3≤x3 5 & 9 ; x4 :=0
12 m6 14
3≤x3 5 & 9 ; x3 :=0x1 =10
2 5 0 1 1
L6
x1≤10
x4≤10
x1 =10 x2 :=0
x4 =10, x3=0
x4 =10, x3=0

Chapitre IV. Implémentation et Simulation des AHLs
87
5. Analyse des Automates Hybrides
Dans la première partie de ce chapitre nous avons présenté un algorithme traduisant des RdPH
D-C-élémentaires en automates hybrides linéaires. L’automate hybride résultant peut contenir
des sommets qui ne seront jamais visités. Notons que le problème d’atteignabilité des
sommets d’un AHL est indécidable [Hen 95]. Néanmoins avec certains outils informatiques
basés sur des approximations, on peut analyser l’automate hybride résultat.
A cet effet, nous utiliserons l’outil PHAVer développé par Goran Frehse, du laboratoire
VERIMAG de Grenoble, pour la vérification exacte des propriétés de sûreté des systèmes
hybrides afin de calculer l’espace d’états atteignable pour l’automate hybride résultant. Nous
présenterons quelques méthodes pour le calcul de l’espace atteignable d’un automate hybride.
5.1. Calcul de l’automate atteignable
L’analyse des automates hybrides est généralement basée sur le calcul de l’espace atteignable
par cet automate. Considérons un automate hybride AH = (Q,∑, q0, X,Inv, T, dyn) pour lequel
on cherche à déterminer l’ensemble des états atteignables à partir d’une région (q, I)
caractérisé par un sommet q et une région I dans laquelle se trouvent l’état continu. Nous
avons vu que les trajectoires possibles sur un automate hybride sont constituées chacune par
une succession de transitions continues pendant lesquelles le système évolue selon la
dynamique continue du sommet courant, définie par dyn et de transitions discrètes
correspondant aux franchissements de transitions appartenant à T. Un état d’un automate
hybride peut avoir donc deux types de successeurs : discrets et continus.
Définition 2. (Successeur discret d’un état)
Un successeur discret d’un état est obtenu en franchissant une transition de l’automate
hybride.
Soit AH= (Q,∑, q0, X, Inv, T, dyn) un automate hybride et T=(q, , g, A, ) une transition Є T.
l’état ( , ) est un successeur discret de l’état (q, v) par le franchissement de T si :
Inv (

Chapitre IV. Implémentation et Simulation des AHLs
88
Ce qui signifie qu’une transition ne peut être franchie que si sa garde est vérifiée par les
valeurs des variables continues || ). Lors du franchissement de la transition T, les valeurs
des variables continues sont modifiées selon l’affectation associée à T ( . De plus
les valeurs des variables continues après le franchissement de T doivent satisfaire l’invariant
but ( || .
Définition 3. (Successeur continu d’un état) :
Un successeur continu d’un état est obtenu en restant dans le même sommet et en laissant le
temps s’écouler.
Soit AH= (Q,∑, q0, X, Inv, T, dyn) un automate hybride, l’état (q, v+t) est successeur continu
de l’état (q, v) si :
, ||
Ce qui veut dire que les variables continues évoluent selon l’activité du sommet courant tout
en restant dans ce sommet. L’invariant de ce dernier doit être vérifié par les valeurs des
variables continues, tout au long de la période de séjour dans ce sommet.
De la même manière que pour les états on peut définir les successeurs discrets et continus
d’une région qui est un ensemble d’état dans un même sommet.
Définition 4. (Successeur discret d’une région)
Soit AH= (Q,∑, q0, X, Inv,T, dyn) un automate hybride et T=(q, , g, A, ) une transition de T
et (q, I) une région. L’ensemble des états atteignables depuis tout état (q, v) dans la région (q,
I) en franchissant T est dit successeur discret de l’état de la région (q,I) et est noté PostT(I).
Définition 5. (Successeur continu d’une région)
soit AH = (Q,∑, q0, X, Inv, T, dyn) un automate hybride. L’ensemble des états atteignables à
partir de tout état (q, v) dans la région (q, I) en laissant le temps s’écouler tout en restant dans
le même sommet est dit successeur continu de la région (q, I). Cet ensemble donne la région
(q, Postt (I)).
, , ||

Chapitre IV. Implémentation et Simulation des AHLs
89
Pour savoir si la région (q’, I’) est atteignable depuis la région (q, I) deux méthodes peuvent
être utilisées. La première est dite méthode d’analyse en avant, elle est basée sur le calcul de
l’espace de tous les états qui peuvent être atteints depuis des états appartenant à la région (q,
I). Cet espace est dit successeur de la région (q, I).
La deuxième est basée sur le calcul de l’ensemble de tous les états à partir desquels on peut
atteindre des états de la région (q’, I’). Cette méthode, duale à la méthode d’analyse en avant
est appelée méthode d’analyse en arrière.
Ces deux procédures de calculs sont complémentaires et il n’est pas possible de prévoir
laquelle sera la plus efficace dans un cas particulier.
L’analyse d’atteignabilité constitue un problème central dans la vérification des propriétés des
systèmes hybrides modélisés par des automates hybrides. L’existence d’un algorithme
effectuant le calcul de l’espace atteignable est très important pour l’analyse. Il est prouvé que,
en dehors de quelques cas particulier, ce problème n’est pas décidable [Hen 95].
Les cas particuliers ou la convergence de l’algorithme peut être garanti appartiennent
principalement à la classe des automates hybrides linéaires, et les différentes régions sont des
polyèdres, et sont donc relativement faciles à manipuler. Par conséquence il est possible de
développer des outils utilisant des bibliothèques de calcul sur les polyèdres pour effectuer
l’analyse.
PHAVer (Polyhedral Hybrid Automaton Verifyer) est un nouvel outil développé pour analyser
les automates hybrides linéaires, il vise à combler les lacunes de Hytech. PHAVer utilise une
arithmétique exacte et robuste basée sur la bibliothèque des polyèdres de Parme [Bag 02].
L’outil PHAVer permet également l’analyse des systèmes complexes.

Chapitre IV. Implémentation et Simulation des AHLs
90
6. Simulation
6.1. La modélisation de L’AHL des trois réservoirs par l’outil PHAVer
La modéliasation de l’automate hybride de la figure10 a été appliquée dans le logiciel
PHAVer.
• Le fichier .pha
Après avoir décrit l’automate hybride de la figure10 , nous allons calculer les trajectoires
permises(espaces atteignables) qui permettent d’atteindrent les variables acceptées par les
horloges, ce qu’on a découvert dans la théorie , ceci à revient à faire les analyses suivantes :
-en avant : en partant depuis le sommet initial, avec des valeurs des horloges (x1=0, x2=0,
x3=0, x4=0, p5=26, p6=10, p7=12) on calcule l’espace atteignable avec la commande :
Analyse avant=deuxcond.reachable; 6.2. La simulation de L’AHL des trois réservoirs par l’outil PHAVer
Pour rouler le programme .pha, nous avons utilisé un script « fichier .sh », Premièrement on
a choisi le chemin absolu d’accès au fichier .pha, après on donne effectivement la commande
d’exécution du logiciel PHAVer.
./phaver -v256011 cond.pha reach.pha.
Sous Windows/Cygwin, les espaces accessibles en analyse avant sont obtenus après 5
itérations, en 0,093 secondes de calcul.
Figure 11. La simulation de l’automate hybride sous le logiciel PHAVer.

Chapitre IV. Implémentation et Simulation des AHLs
91
L’analyse avant L1 4*x4 + p7 == 12 & 5*x4 - p6 == -10 & x4 + p5 == 26 & x2 == 0
& x4 >= 0 & -x4 >= -3, L2 x2 == 0 & -x4 >= -10 & p5 >= 20,
L3 x2 >= 0 & -x4 >= -10 & -x2 - p5 >= -22 & -6*x2 - 5*x4 - 5*p5 >= -170 & p5 >= 17 & x2 + p5 >= 20 & -x2 >= -5
L4 p6 >= 12 & p5 >= 20,
L5 x4 == 0 & p7 >= 0 & -x2 >= -5,
L6 x1 >= 0 & -x1 >= -10 & -x4 >= -10,
L7 p6 >= 12,
L8 p6 >= 12 & p5 >= 20 & -p6 >= -14,
L9 x4 == 0 & x1 == 0 & p7 >= 0,
L10 x3 == 0 & -x1 >= -10 & p6 >= 12 & -p6 >= -14,
L11 p6 >= 12 & -x1 >= -10
L12 x1 >= 0 & -x1 >= -10 & p7 >= 0 & p6 >= 12,
L13 -x3 >= -5 & -x3 - p6 >= -14 & x3 >= 0 & x3 + p6 >= 12 & -x2 >= -5,
L14 x1 >= 0 & -x1 >= -10
Table 1. Résultats de la simulation en PHAVer pour l’automate hybride de la figure10
Observons que les résultats sont représentés sous forme de contraintes linéaires. Pour
visualiser sous forme graphique ces résultats et pouvoir les interpréter, on a pris les résultats
de PHAVer, déjà générée en forme convenable (coordonnées des points polyèdres calculées)
avec l’option 2 de la commande .print. Ils constituent un paramètres d’entrés qui dessine les
régions délimitées par ces points, c'est-à-dire soit graph du progiciel plotutils, soit le script
Matlab.
6.3. Comparaison entre l’activité du réservoir 3 et l’ouverture de la vanne 4
Pour notre modèle des trois réservoirs, le graphe bidimensionnel de l’horloge x4 en fonction
de p7 Pour les 14 états {L1… L14} obtenu avec le script Matlab est représenté dans la figure
12. Dans l’espace accessible du sommet L1 on remarque clairement que l’intervalle de
l’horloge x4 sera entre 0 and 3 (x4 > = 0 & - x4 > = -3) où le marquage p7 dans cet intervalle
sera positive (4*x4 + p7 == 12).

Chapitre IV. Implémentation et Simulation des AHLs
92
Figure 12. Les espaces atteignables acceptés pour l’automate hybride :
x4 en fonction de p7
6.4. Comparaison entre l’activité du réservoir 1 et les activités des vannes 3 et 4
Le graphe bidimensionnel de l’horloge x2 en fonction de p5 Pour les 14 états {L1… L14}
obtenu avec le script Matlab est représenté dans la figure 12. Dans l’espace accessible du
sommet L3 on remarque clairement que l’intervalle de l’horloge x2 sera entre 0 and 5 (p5 >=
17 & x2 + p5 >= 20 & -x2 - p5 >= -22) où le marquage p5 dans cet intervalle sera supérieur
ou égal à 17 ce qui est tout à fait juste. En même temps on remarque que la vanne 4 sera en
cours d’ouverture puisque l’horloge x4 est déjà activée (-x4 >= -10).
La nouveauté est la révélation de l’inéquation -6*x2 - 5*x4 - 5*p5 >= -170 ((l’état L3).Qui
nous permet d’obtenir une information remarquable : toutes les trajectoires se trouvent au
dessus de cette limite peuvent être considérées comme conduisant vers des états où le
minimum du contenu du réservoir 1 sera dépassé, alors on peut déclencher l’alarme des
l’atteinte de cette frontière.

Chapitre IV. Implémentation et Simulation des AHLs
93
Figure 13. Les espaces atteignables acceptés pour l’automate hybride :
p5 en fonction de x2
Figure 14. Les espaces atteignables acceptés pour l’automate hybride :
p5 en fonction de x4

Chapitre IV. Implémentation et Simulation des AHLs
94
Figure 15. Les espaces atteignables acceptés pour l’automate hybride :
Comparaison entre p5 et x2.
6.5. Comparaison entre l’activité du réservoir 2 et la fermeture de la vanne 4
Dans l’espace accessible du sommet L13 on remarque clairement que l’intervalle de l’horloge
x3 sera entre 0 and 5 (x3 >= 0 &-x3 >= -5 & x3 + p6 >= 12 &-x3 - p6 >= -14) (figure 16)
ce qui explique que le réservoir 2 à atteint l’intervalle de danger et ainsi la vanne 4 est en
cours d’ouverture à fin de ne pas dépasser son seuil minimal 9 de ce réservoir.
Figure 16. Les espaces atteignables acceptés pour l’automate hybride :
p6 en fonction de x3

Chapitre IV. Implémentation et Simulation des AHLs
95
6.6. Comparaison entre l’activité du réservoir 1 et le réservoir 3
Remarquons que l’activité des deux réservoirs sont identiques puisque les deux se vident
(4*x4 + p7 == 12 & 5*x4 - p6 == -10 & x4 + p5 == 26) (figure 17), puisque aucune
contrainte est imposée sur le réservoir 3, ce dernier atteint le seuil 0 et ne s’alimente pas
contrairement au réservoir1 qui change d’activité une fois son seuil minimal 17 est atteint
(voir figure 18).
Figure 17. Les espaces atteignables acceptés pour l’automate hybride :
p5 en fonction de p7.
Figure 18. Les espaces atteignables acceptés pour l’automate hybride :
Comparaison entre p5 et p7

Chapitre IV. Implémentation et Simulation des AHLs
96
6.7. Comparaison entre l’activité de fermeture de la vanne 3 et la vanne 4
La fermeture de la vanne 3 est plus rapide que la fermeture de la vanne 4 (voir figure 19),
ceci revient à la différence qui existe entre les débits de vidange de leur réservoir 1 et 2
respectivement.
Figure 19. Les espaces atteignables acceptés pour l’automate hybride :
Comparaison entre x3 et x2.
7. Conclusion Nous avons présenté dans ce chapitre un modèle RdP hybride particulier appelé RdPH D-C-
élémentaire couplant un RdP T-temporel et un RdPCC. Dans ce modèle le RdP T-temporel
contrôle le comportement du RdPCC. Ce dernier à son tour peut influencer le comportement
du RdP T–temporel.
En se basant sur plusieurs travaux existant dans la littérature [Sav 06], un algorithme de
passage à été proposé permettant le passage du RdPH D-C-élémentaire vers les AHL.
L’algorithme que nous avons proposé génère les sommets sans prendre en compte
l’atteignabilité des sommets.
Nous avons montré comment faire le calcul des espaces atteignables des automates hybrides
avec le logiciel PHAVer, un outil d’analyse des systèmes hybrides développé par Goran
Frehse. Avec application pour l’automate hybride modélisant le fonctionnement des trois
réservoirs résultant de l’algorithme de traduction qui un automate déterministe et linéaire.
Ainsi nous avons pu analyser que tous les sommets de notre automate est atteignable, et
représenter leurs propriétés sous forme graphe bidimensionnel en utilisant un script Matlab.

Conclusion générale et Perspectives
97
Conclusion générale et perspectives
De nombreux systèmes technologiques ont une nature hybride dans le sens où ils possèdent à
la fois une dynamique discrète et une dynamique continue. Ces systèmes peuvent être de
différents types, comme les procédés batch, les systèmes hydrauliques et les systèmes
manufacturiers traitant une quantité importante de produits.
Pour cela nous avons considéré une classe particulière des systèmes hybrides à savoir la
classe des systèmes hybrides positifs et linéaires par morceaux. Pour la modélisation et
l’analyse de cette classe importante des SdH nous avons adopté la démarche suivante :
Tout d’abord nous avons introduit un nouveau modèle pour la représentation de cette classe
appelé RdPH D-C élémentaire où la partie discrète est représentée par un RdP T-temporel et
non par un RdP T-temporisé comme dans le cas des RdPH. Les RdP T-temporel introduisent
un déterminisme quand aux dates d’occurrences des évènements discrets. Notre modèle se
distingue du RdPH développé par [Gho 05] dans le fait que le contrôle est généré par les deux
parties, la partie évènementielle commande le comportement de la partie continue, et cette
dernière influence à son tour le comportement de la partie discrète.
Nous avons ensuite proposé un algorithme pour la traduction des RdPH D-C élémentaires en
automates hybrides en s’inspirant des travaux de Sava [Sav 06]. Cette traduction vise à
associer la puissance de modélisation des réseaux de Petri à la puissance d’analyse et de
manipulation formelle des automates.
À partir d’un marquage initial discret du RdPH D-C élémentaire on détermine les sommets de
l’automate hybride ainsi pour chaque sommet on définit son marquage discret et les
dynamiques continues associées aux places continues, ainsi on peut déterminer les horloges
actives, les transitions discrètes et continues franchissables.

Conclusion générale et Perspectives
98
La traduction du RdPH D-C élémentaire en automate hybride s’effectue sans considération
pour le marquage initial du RdPCC, ce qui peut résulter en des sommets de l’automate
hybride qui ne seront jamais visités. A cet effet, nous utiliserons l’outil PHAVer développé
par Goran Frehse, afin de calculer l’espace d’états atteignable pour l’automate hybride
résultant.
Comme perspectives futures à ce travail, nous pensons qu’l faut étendre ces travaux pour
l’étude de la surveillabilité des systèmes hybrides et de les adapter au diagnostic des réseaux
de capteurs sans fils.

Références bibliographiques
99
Références bibliographiques
[All 98] H. Alla and R. David. A modeling and analysis tool for discrete events systems:
Continuous Petri net, Perform. Evaluation 33 (3) (1998) 175, 1998.
[All 98.a] H. Alla and R. David.Continuous and Hybrid Nets. Journal of Circuits, Systems
and Computers,Volume 8, No.1, p. 159-188, 1998.
[Alu 95] R. Alur, C. Courcoubetis, N. Halbwchs, T.A. Henzinger, P. H. Ho, X.Nicolin, A.
Olivero, J. Sifakis and S. Yovine. The Algorithmic Analysis of Hybrid Systems, Theoretical
computer science, Vol. 138, pp.3-34, 1995.
[Alu 03] R. Alur, F Ivancic, and T. Dang. Progress on reachability analysis of hybrid systems
using predicate abstraction. In O. Maler and A. Pnueli, editors, Hybrid Systems:
Computation and Control: 6th International Workshop, HSCC 2003, Prague, Czech Republic,
LNCS 2623, pages 4–19. Springer, April 2003
[And 96] D. Andreu, J.C. Pascal and R. Valette, Events as a key of a batch process control
system, in: Proc. CESA’96, Symp. On Discrete Events and Manufacturing Systems, Lille,
France, 1996.
[Bag 02]. R. Bagnara, E. Ricci, E. Zaffanella and P.M. Hill. Possibly not closed convex
polyhedra and the Parma Polyhedra Library. In Hermenegildo, M.V., Puebla, G., eds.:Static
Analysis: Proc. Int. Symp. Volume 2477 of LNCS., 213–229, Springer,2002.
[Bai 92] J.Le.Bail. Sur les réseaux de Petri continus et hybrides. Thèse de Doctorat, Institut
National Polytechnique de Grenoble(France), 1992.
[Ber 98] N. Bergman and M. Larsson. Fault detection and isolation in the water tank world.
In Proc. First Conference on Computer Science and Systems Enginering, Linköping, Sweden,
Mar 1998. ECSEL.
[Bert 03] B. Berthomieu . La Méthode des Classes d’États pour l’Analyse des Réseaux
Temporels, Mise en œuvre, Extension à la multi-sensibilisation.Toulouse, Septembre 2003
[Bit 05] M.Bitam. modélisation et étude de comportement d’une ligne de communication
TCP/IP. Thèse pour obtenir le grade de Docteur de l’UJF spécialité « automatique –
productique » préparée au laboratoire d’automatique de Grenoble,2005.

Références bibliographiques
100
[Bis 03] G. Biswas, G. Simon, N. Mahadevan, S. Narasimhan, J. Ramirez, and G. Karsai. A
robust method for hybrid diagnosis of complex systems. In Frits W. Vaandrager and Jan H.
van Schuppen, editors, In Proc. of the 5th Symposium on Fault Detection,Supervision and
Safety for Technical Processes, pages 1125–1131, June 2003.
[Bon 01] P.Bonhomme. Réseaux de Petri P-Temporels : Contribution a la Commande
Robuste. Thèse pour obtenir le grade de Docteur préparé à l’université de Savoie 12 juillet
2001.
[Bra 94] M. S. Branicky, V. S. Borkar, and S. K. Mitter. A unified framework for hybrid
control. In IEEE Conference Decision and Control, pages 4228–4234, December 1994.
[Bra 95] M. S. Branicky. Studies in hybrid systems: Modling, Analysis, and control. Phd
thesis, Massachusetts Institute of Tech., 1995.
[Bui 93] J. Buisson. Analysis of switching devices with bond-graphs. Journal of the Franklin
Institute Vol 330, N° 6, pp. 1165-1175, 1993.
[Bui 02] J. Buisson, H. Cormerais and P.Y. Richard.. Analysis of the bond graph model of
hybrid physical systems with ideal switches. Journal of Systems and Control Engineering, vol.
216, pp. 47-72, 2002.
[Dai 06] M.Daigle, I.Roychoudhury, G.Biswas and X. Koutsoukos. Efficient simulation of
component-based hybrid models represented as hybrid bond graphs. Technical Report ISIS-
06-712, Institute for Software Integrated Systems Vanderbilt University, Nashville, TN, USA
2006.
[Dav 87] R. David and H.Alla. Continuous Petri Nets. Proceedings of the Eight European
workshop on application and theory of Petri nets, Pages 275-294, Zaragoza(Espagne), juin
1987.
[Dav 89] R.David and H. Alla. Du Grafcet aux Réseaux de Petri. Hermès, 1989.
[Dav 91] R.David. Modeling of dynamic systems by Petri Nets. Proceedings of 1st European
control conference (ECC), Grenoble(France):pp. 136-147,1991.
[Dav 01] R.David and H.Alla. On Hybrid Petri Nets. Discrete Event Dynamic Systems:
Theory and applications, Vol.11, Numbers ½, pp.9-40, 2001.
[Dav 05] R. David and H. Alla. Discrete, Continuous and Hybrid Petri Nets. Springer, 2005.
[Dem 98] I.Demongodin and N.T. Koussoulas. Differential Petri nets: Representing
continuous systems in a discrete-event world. IEEE Transactions on Automatic Control,
Special Issue on Hybrid Systems, 43, 4, p. 573-579, April 1998.

Références bibliographiques
101
[Dem 98.a] I. Demongodin, M. Caradec and F. Prunet, Fundamental concepts of analysis in
batches Petri nets, in: Proc. 1998 IEEE Int. Conf. on Systems, Man, and Cybernetics, San
Diego, CA, USA, 1998.
[Dom 04] E. A. Domlan, D. Maquin, and J. Ragot. Diagnostic des systèmes à commutation,
approche par la méthode de l’espace de parité. In Conférence Internationale Francophone
d’Automatique, CIFA’2004, Douz, Tunisie, novembre 2004
[Dot 08]M;Dotoli, M.P. Fanti, A. Giua and C. Seatzu. First-order hybrid Petri nets. An
application to distributed manufacturing systems. Nonlinear Analysis: Hybrid Systems 2, pp:
408–430, 2008.
[Feb 04] A.D.Febbraro and N. Sacco. On modelling urban transportation networks via
hybrid Petri nets. Control Eng. Pract. 12, pp: 1225–1239. 2004.
[Fer 03] G. Ferrari-Trecate, E. Gallestey, P. Letizia, M. Spedicato, M. Morari, , and M.
Antoine. Modeling and control of co-generation power plants: A hybrid system approach.
IEEE Trans. Contr. Syst. Tech., 2003.
[Fla 96] J.M. Flaus. Hybrid flow nets for batch process modeling, in: Proc. CESA’96, Symp.
on Discrete Events and Manufacturing Systems, Lille, France, 1996.
[Fla 00] J.M. Flaus and L. Thévenon. Modular representation of complex hybrid systems:
Application to the simulation of batch processes. Simulation Practice and Theory(SIMPRA),
2000.
[Fre 05] G. Frehse. Phaver: algorithmic verification of hybrid systems past hytech. In M.
Morari and L. Thiele, editors, editors, Hybrid Systems: Computation and Control: 8th
International Workshop, HSCC2005, Zurich, Switzerland, LNCS 3414, pages 258–273.
Springer, march 2005.
[Gaw 07] P.Gawthrop and B.Geraint. Bond Graph Modeling. IEEE Control Systems
Magazine, Vol. 27, 2007.
[Gha 05]M.Ghaeli,P.A Bahri and P.L.Lee. Timed arc hybrid Petri nets based scheduling of
mixed batch/continuous plants. In: Proceedings of the 17th IMACS World Congress, Paris,
France, 2005.
[Gho 05] L.Ghomri .Modélisation structurelle utilisant les automates hybrides et les réseaux
de Petri hybrides en vue de la synthèse de contrôleur des systèmes dynamiques
hybrides »Mémoire de Magister, Université Abou BEkr Belkaïd, Tlemcen (Algérie), 2005.
[Giu 06] A. Giua. http://www.diee.unica.it/giua/bibliohpn.html, 2006.

Références bibliographiques
102
[Gri 01]M. Gribaudo, M. Sereno, A. Horvat and A. Bobbio. Fluid stochastic Petri nets
augmented with flush-out arcs: Modelling and analysis, J. Discrete Event Dyn. Syst. 11, pp:
97–117, 2001.
[Gu 02] T.Gu,A and bahri.A survey of Petri net applications in batch process, Computers in
IndustryVolume 47, Issue 1, pp: 99-111 , January 2002.
[Gua 08] S. Guana,, M.Nakamuraa, T. Shikanaib and Takeo Okazakia. Hybrid Petri nets
modeling for farm work flow. Computers and electronics in agriculture 62 pp:149–158, 2008.
[Gué 08] H. Guéguen, M.A. Lefebvre, O. Nasri and J. Zaytoon. Safety verification and
reachability analysis for hybrid systems. Proceedings of the 17th World Congress the
International Federation of Automatic Control Seoul, Korea, July 6-11, 2008.
[Hak 10] R. Hakiki and L. Sekhri Modelling and Analysis Using Hybrid Petri Nets and Linear
Hybrid Automaton for complex Dynamic Systems. SMCSI’2010, Séminaire sur la
Maintenance, le Contrôle et la Sécurité Industrielle. 19-20 Mai 2010, Oran Algèrie.
[Har 86] D. Harel, A. Pnueli, J. P. Schmidt, and R. Sherman. On the formal semantics of
statecharts. In Proc. FirstI EEE Symp. Logic in Comp. Sci., pp: 54–64, 1986.
[Has 99] S. Hashtrud . Fault Diagnosis in discrete-event and hybrid systems. Thesis, Toronto
University, Canada, Septembre 1999.
[Hen 95] T. Henzinger, P. Peter, W. Kopke, A.Puri and P. Varaiya. Whats decidable about
hybrid automata?The algorithmic analysis of hybrid systems. Proceedings of 27th annual
ACM Symposium on theory of computing, pp: 373-382, 1995
[Hen 97] T. Henzinger, P. H. Ho, and H. Wong-Toi. Hytech: A model checker for hybrid
systems. Software Tools for Technology Transfer, pp: 110–122, 1997.
[Jua 08] Z. Juarez, B. Denis and J. J. Lesage. Réseaux d’automates hybrides à
synchronisations typées pour la modélisation des SDH, Conférence Internationale
d'Automatique Francophone, CIFA 2008, Bucarest : Roumanie, 2008.
[Kaa 07] F. Kaakai, S. Hayat and A.E. Moudni. A hybrid Petri nets-based simulation model
for evaluating the design of railway transitstations. Simulat. Model. Pract. Theory 15,pp:
935–969.2007
[Kar 06] D.C.Karnopp, D.L. Margolis and R.C. Rosenberg. System Dynamics: Modeling and
Simulation of Mechatronic Systems, Wiley Inter-science, fourth edition, 2006.
[Klo 06] M. Kloetzer and C. Belta. Reachability analysis of multiaffine systems. In J
Hespanha and A Tiwari, editors, Hybrid Systems: Computation and Control: 9th Interna-
tional Workshop, HSCC2006, Santa Barbara, CA, USA, LNCS 3927, pages 348–362.
Springer, march 2006.

Références bibliographiques
103
[Kha 97] W. Khansa . Réseaux de Petri P-Temporels : Contribution a l’étude des systèmes a
événements discrets. Thèse pour l’obtention du grade de docteur de l’université de Savoie.
1997.
[Kou 02] X. Koutsoukos, J. Kurien, and F. Zhao. Monitoring and diagnosis of hybrid systems
using particle filtering methods. In Proceedings of the 15th International Symposium on
Mathematical Theory of Networks and Systems MTNS 2002, August 2002.
[Kur 02] M. Kurovszky. Etude des Systèmes Dynamiques Hybrides par représentation d’état
discrète et automate hybride. Thèse de doctorat, l’INPG, France, 2002.
[Lee 03] E.A.Lee, S. Neuendorffer, and M. J. Wirthlin. Actor-oriented design of embedded
hardware and software systems. Journal of Circuits, Systems, and Computers 231–260, 2003
[Lib 03] D. Liberzon. Switching in Systems and Control. ISBN 0-8176-4297-8, Jun 2003.
[Lun 00] J. Lunze. Diagnosis of quantized systems based on a timed discrete-event model. In
IEEE Transactions on Systems, Man, and Cybernetics, Part A, 30(3):322–335, May 2000.
[Mez 05] T.EL Mezyani .méthodologie de surveillance des systèmes dynamiques hybrides.
Thèse de doctorat, spécialité : automatique et informatique industrielle, préparé au
laboratoire d’automatique Génie informatique et Signal UMR CNRS 8146 de l’université des
sciences et technologies de Lille, 2005.
[Mos 98] P. Mosterman and G. Biswas. Modeling and simulation semantics for hybrid
dynamic physical systems. In technical report DLR IB 515-98-26, Institute for Robotics and
System Dynamics, DLR Oberpfaffenhofen. 1998.
[Mos 02] P. Mosterman. A modelling and simulation environment for hybrid bond graphs.
Proceedings of the IMECHE Part I, Journal of Systems and Control Engineering, Part I,
216(1)pp:35–46, February 2002.
[Pet 02] S. Pettersson and B. Lennartson. Hybrid system stability and robustness verification
using linear matrix inequalities. International Journal of Control, 75:1335–1355, 2002.
[Pet 01]P.Peter and H Philips. Modelling control and fault detection of discretely-observed
systems. Thesis, Technische Universities Eindhoven, 2001
[Pon 62] L. S. Pontryagin, V. G. Boltyanskii, R. V. Gamkrelidze, and E. F. Mishchenko. The
mathematical theory of optimal processes. John Willey and Sons, 1962.
[Pot 03] B. Potocnik, A. Bemporad, F.D. Torrisi, G. Music, and B. Zupancic. Hysdel
modeling and simulation of hybrid dynamical systems. In Proceedings of MATHMOD
Conference, pages 5–7, February 2003.
[Ram 87] P. J. Ramadge and W. M.Wonham. Supervisory control of a class of discrete event
processes. SIAM J.Control Optim., 25(1):206–230, 1987.

Références bibliographiques
104
[Ramc 74] C. Ramchandani. Analysis of asynchronous concurrent systems by timed Petri
nets. Technical Report N° 120, Laboratory for computer science, MIT, Cambridge, MA,1974
[Ric 08] P.Y. Richard, M. Morarescu and J. Buisson. Bond Graph Modelling of Hard
Nonlinearities in Mechanics: A hybrid Approach. Nonlinear Analysis of Hybrid
systems. ISSN 1751-570X, vol. 2, no3, pp. 922-951, 2008
[Sad 07] S.A. Sadrieh, M.Ghaeli,P.A. Bahri and P.L.Lee . An integrated Petri nets and GA
based approach for scheduling of hybrid plants. Comput. Ind. 58, 519–530, 2007.
[Sav 01] A.T. Sava. Sur la synthèse de la commande des systèmes à évènements discrets
temporisés. Thèse de doctorat, Grenoble(France) 2001
[Sav 06] A.T. Sava and H. Alla. A Control Synthesis Approach for Time Discrete Event
Systems. Mathematics and Computers in Simulation, Vol. 70, issues 5-6, 24, pp. 250-265,
Elsevier, february 2006.
[Sch 00] A .Van Der Schaft and H.Schumacher . An Introduction to hybrid Dynamical
Systems, lecture Notes in control and Information Sciences, Springer-Verlag,Berlin
(Allemagne), Londres(Angleterre),251:175Pp, 2000.
[Tay 94] H. Taylor, A Modeling Language for Hybrid Systems, Odyssey Research Associates
(ORA) 301 Dates Drive, Ithaca, NY 14850, From Proc_ CACSD-94. (IEEE/IFAC Symp. on
Computer -Aided Control System Design),Tucson, AZ, March 94.
[Tog 06] A.K.A. Toguyéni, E. Craye and L. Sekhri. Study of the Diagnosability of Automated
Production Systems Based on Functional Graphs. Mathematics and Computers in
Simulation, Vol. 70, issues 5-6, 24, pp. 377-393, Elsevier, February 2006.
[Tou 09] Y.EL.Touati ; M.Yeddes, N.Ben Hadj Alouane and H.alla. Du réseau de Petri
Temporel Etendu vers les automates hybrides linéaires pour l’analyse des systèmes. Author
manuscript, published in IEEE Conférence Internationale francophone d’Automatique,
Bucarest, Romania, CIFA 2009.
[Tri 93] K.S. Trivedi and V.G. Kulkarni. FSPNs: Fluid stochastic Petri nets, in: M.A. Marsan
(Ed.), in: Lecture Notes in Computer Science, vol. 691, Springer Verlag, 1993.
[Vid 03] R. Vidal, A. Chiuso, S. Soatto, and S. Sastry. Observability of linear hybrid systems.
In Hybrid Systems: Computation and Control, Lecture Notes in Computer Science 2623,
pages 526–539. SpringerVerlag, 2003.
[Zay 01] J. Zaytoon and J. L. Ferrier. Rappels sur les systèmes à événements discrets dans les
systèmes dynamiques hybrides, Edition Hermès– France. 2001.

Annexe A
105
Annexe A
Tutorial PHAVer : Description et installation
PHAVer (Polyhedral Hybrid Automaton Verifyer) est un nouvel outil pour analyser les
automates hybrides linéaires plus récent, développé par Goran Frehse [Fre 05], et qui vise à
combler les lacunes de Hytech avec une arithmétique exacte et robuste basée sur la
bibliothèque de polyèdres de Parme. Le but de PHAVer est également de permettre l’analyse
de systèmes plus complexes.
A.1. Description de l’automate hybride avec PHAVer
Afin de Décrire l’automate hybride, PHAVer prévoit une syntaxe particulaire pour le décrire
textuellement. Son auteur, a essayé de le faire autant “user friendly “ que possible, en gardant
le parser simple. La syntaxe a été empruntée depuis les créateurs de Hytech puisque leur
langage est intuitivement compréhensible. La section suivante décrit la syntaxe de PHAVer,
version 0,35.
La description de l’automate peut être faite à l’aide des opérandes suivants
A.1.1 .Identificateurs
Un identificateur est une lettre plus n’importe quelle combinaison de lettres, chiffres et
caractère, joindre les identificateurs des localités appartenant aux automates composés. Un
nombre peut être donné dans un format virgule mobile, e.g. 3.14 ou 6.626e-34 ou comme une
fraction, e.g. 9/5. Notez que les nombres sont représentées comme des rationnels exacts et
aucune conversion vers le format virgule mobile binaire est faite.

Annexe A
106
A.1.2 .Constantes
Les constantes sont définies de manière identificateur :=expression, ou expression est
n’importe quelle combinaison d’expressions, identificateurs et nombres avec +,-, /,*, (,).
A.1.3 .Structures de données
Il ya quatre types de structures de données qui peuvent être assignées aux identificateurs
-Formules linéaires : une expression linéaire est spécifiée sur une collection arbitraire de
variables, nombres et constantes qui peuvent être combinées en utilisant +,-, /,*, (,), tant
qu’elle produit une expression linéaire sur ces variables
-Ensembles d’états symboliques : un état symbolique combine un nom d’une location et une
formule linéaire, unies par &, e.g. start & x>0 & y= =0. Un ensemble d’états symboliques
d’un automate aut est assigné à une variable dans la forme identificateur=aut .{ensemble
d’états symboliques}
-Relations symboliques Elles sont obtenues par les algorithmes de relation de simulation
-Automates : pour déclarer un automate il ya plusieurs aspects à considéré, on va les
expliquer à travers un exemple :
automaton aut
contr var: var ident,var ident,. . . ;
input var: var ident,var ident,. . . ;
parameter: var ident,var ident,. . . ;
synclabs: lab ident,lab ident,. . . ;
loc loc ident: while invariant wait { derivative };
when guard sync label ident do {trans rel} goto loc ident;
when guard sync label ident goto loc ident;
when . . .
initially: initial states;
end

Annexe A
107
- Initialisation
L’automate est déclaré en haut de la description, à l’aide du mot automaton. La dernière ligne
de l’automate doit être end, ce qui signifie que ce qui se trouvent entre deux mots clés
constitue un seul automate. Avant la dernière ligne on doit aussi préciser l’état initial de
l’automate avec l’instruction initially, l’état initial est caractérisé par le sommet initial et les
valeurs initiales des variables
-Variables
Toutes les variables doivent être précisées justement après la définition de l’automate, en
commençant sur la deuxième ligne, à l’aide des mots state _var (version 0.33) ou bien
contr_var (version 0.35). il y a aussi l’argument input_var qui désigne les entrées dans le
système
-Sommets
La déclaration des sommets est effectuée par l’instruction loc. l’invariant et la garde sont des
formules linéaires entre les variables d’état et d’entrée et les paramètres. La définition de la
dérivée dépend de la dynamique :
-Pour une dynamique linéaire, c’est une formule linéiare convexe entre les variables d’état.
e.g. 0 <= x’ & x’< 1 pour Є [0, 1).
-Pour une dynamique affine, c’est une formule linéaire convexe entre les variables et entre
leur dérivées, e.g. x’ == -2 * x pour = −2x.
-Transitions
Une transition est spécifiée par la déclaration when…goto. On doit avoir toujours une
étiquette de synchronisationassociée à la transition. Une formulz linéaire tran_rel spécifie la
relation de saut après une déclaration do. Les variables d’états qui ne sont pas changés pas la
transition doivent être spécifiés explicitement dans la relation de saut,e.g.x’==x & y’== y. la
mise à 0 d’une variable sera définie par z’==0

Annexe A
108
A.2. Installation
Le logiciel Phaver est téléchargeable à l’adresse http://www.cs.ru.nl/~goranf/. Il y a deux
variantes disponibles parce qu’il peut être utilisé sous deux système d’exploitation :Linux et
Windows.pour la variante Windows, on doit installer aussi un émulateur de Linux, qui
s’appelle Cygwin. Il est téléchargeable sur Internet.
Remarque : il est nécéssaire que les scripts soinet dans le même dossier que l’application
PHAVer
Outils annexes
Pour construire des graphes bidimensionnels sous linux on peut utiliser la commande graph
du progiciel plotutils, disponible à http://www.gnu.ORG/software/plotutils/. Sous Windows
/Cygwin il existe une script Matlab disponible à http://www.cs.ru.nl/~goranf/.
Pour obtenir la mémoire utilisé pendnat le calcul des états atteignables avec PHAVer on
utilise memtime,un progiciel sous linux, disponible à
http://www.update.uu.se/~johanb/memtime/.
A.3. Commandes pour description et simulation
Pour les beoins de notre projet, les commandes suivnates sont d’intérêt. Pour plus de détails le
guide de l’utilisateur PHAVer est [Fre 05].
-& : les automates sont composés par l’azmpersand,e.g.: compAut= aut1&aut2.
-.reachable : calcule l’ensemble des états qui sont atteignables dans l’automate en partant
depuis les états initiales et en faisant une analyse en avant.
-.print(‘fichier’,arg) : écrit une représentation de l’automate dans le fichier ‘fichier’ ; la
variable dénote le format :arg-0 (textuellement),1(séquence de formules linéaires),
2(séquence de vertice, utilisable pour construire des graphes)
-.reverse : inverse la causalité dans l’automate ; utilisable pour implémenter l’atteignabilité en
arrière, en inversant l’automate, et puis faisant de nouveau l’analyse en avant.
-.initial _ states : remplace les états initiales de l’automate.
-.intersection_assign : construit l’intersection de deux régions.

Annexe B
109
Annexe B
L’implémentation et l’exécution de l’automate hybride sous PHAVer
B.1. Le code .Pha automaton deuxcond contr_var: x1, x2, x3, x4, p5, p6, p7; synclabs: min1, min2, F1, F2, O1, O2, V; loc L1: while x4<=10 & p5>=20 & p7>=0 wait {x2'==0 & x4'==1 & p5'==-1 & p6'==5 & p7'==-4}; when p5>=20 & p5<= 22 sync min2 goto L5; when x4==10 sync O1 do{x3'==0} goto L4; when p7==0 sync V goto L2; loc L2: while x4<=10 & p5>=20 wait {x2'==0 & x4'==1 & p5'==-1 & p6'==5 & p7'==0 }; when p5>=20 & p5<= 22 sync min2 goto L3 ; when x4==10 sync O1 do {x3'==0 } goto L4; loc L3: while x2<=5 & x4<=10 wait {x2'==1 & x4'==1 & p5'==-1 & p6'==5 & p7'==0}; when x2>=3 & x2<=5 & p5==17 sync F2 do{x1'==0} goto L6 ; when x4==10 sync O1 do{x3'==0} goto L7 ; when x4==10 & x2>=3 & x2<=5 & p5==17 sync O1 do{x1'==0 & x3'==0} goto L11 ;

Annexe B
110
loc L4: while p6>=12 & p5>=20 wait { x3'==0 & x2'==0 & p5'==-1 & p6'==-1 & p7'==2 }; when p6>=12 & p6<= 14 sync min1 goto L8 ; when p5>=20 & p5<= 22 sync min2 goto L7 ; loc L5: while x2<=5 & x4<=10 & p7>=0 wait {x4'==1 & x2'==1 & p5'==-1 & p6'==5 & p7'==-4 }; when p7==0 sync V goto L3; when x2>=3 & x2<=5 & p5==17 sync F2 do{x1'==0} goto L9 ; when x4==10 sync O1 do{x3'==0} goto L7 ; when x4==10 & x2>=3 & x2<=5 & p5==17 sync F2 do{x1'==0 & x3'==0} goto L12 ; loc L6: while x1<=10 & x4<=10 wait {x1'==1 & x4'==1 & p5'==2 & p6'==5 & p7'==0 }; when x4==10 sync O1 do{x3'==0} goto L11 ; when x1==10 sync O2 do{x2'==0} goto L2 ; when x1==10 & x4==10 sync O2 do{x2'==0 & x3'==0} goto L4 ; loc L7: while x2<=5 & p6>=12 wait {x2'==1 & x3'==0 & p5'==-1 & p6'==-1 & p7'==2 }; when x2>=3 & x2<=5 & p5==17 sync F2 do{x1'==0} goto L12 ; when p6>=12 & p6<= 14 sync min1 goto L13 ; loc L8: while x3<=5 & p5>=20 wait {x2'==0 & x3'==1 & p5'==-1 & p6'==-1 & p7'==2 }; when x3>=3 & x3<=5 & p6==9 sync F1 do{x4'==0} goto L1 ; when p5>=20 & p5<= 22 sync min2 goto L13 ; loc L9: while x1<=10 & x4<=10 & p7>=0 wait {x4'==1 & x1'==1 & p5'==2 & p6'==5 & p7'==-7}; when x4==10 sync O1 do{x3'==0} goto L12 ; when x1==10 sync O2 do{x2'==0} goto L1 ; when p7==0 sync V goto L6; when x1==10 & x4==10 sync O2 do{x2'==0 &x3'==0} goto L4 ;

Annexe B
111
loc L10: while x1<=10 & x3<=5 wait {x1'==1 & x3'==1 & p5'==2 & p6'==-1 & p7'==0}; when x1==10 sync O2 do{x2'==0 } goto L8 ; when x3>= 3 & x3<= 5 & p6==9 sync F1 do {x4'==0} goto L6; when x3>= 3 & x3<= 5 & p6==9 & x1==10 sync F1 do {x4'==0 & x2'==0} goto L2; loc L11: while x1<=10 & p6>=12 wait {x1'==1 & x3'==0 & p5'==2 & p6'==-1 & p7'==0}; when x1==10 sync O2 do{x2'==0} goto L4 ; when p6>=12 & p6<= 14 sync min1 goto L10 ; loc L12: while x1<=10 & p6>=12 & p7>=0 wait {x1'==1 & x3'==0 & p5'==2 & p6'==-1 & p7'==-1}; when x1==10 sync O2 do{x2'==0} goto L4 ; when p6>=12 & p6<= 14 sync min1 goto L14 ; when p7==0 sync V goto L11; loc L13: while x3<=5 & x2<=5 wait {x2'==1 & x3'==1 & p5'==-1 & p6'==-1 & p7'==2 }; when x2>=3 & x2<=5 & p5==17 sync F2 do{x1'==0} goto L14 ; when x3>=3 & x3<=5 & p6==9 sync F1 do{x4'==0} goto L5 ; when x2>=3 & x2<=5 & p5==17 & x3>=3 & x3<=5 & p6==9 sync F2 do{x1'==0 & x4'==0 } goto L9 ; loc L14: while x1<=10 & x3<=5 & p7>=0 wait {x1'==1 & x3'==1 & p5'==2 & p6'==-1 & p7'==-1}; when x1==10 sync O2 do{x2'==0 } goto L8 ; when x3>=3 & x3<=5 & p6==9 sync F1 do{x4'==0 } goto L9 ; when p7==0 sync V goto L10; when x3>=3 & x3<=5 & p6==9 & x1==10 sync F1 do{x4'==0& x2'==0} goto L1 ; initially: L1 & x1==0 & x2==0 & x3==0 & x4==0 & p5==26 & p6==10 & p7==12; end

Annexe B
112
REACH_USE_CONVEX_HULL = true; // Compute the convex hull in each location REACH_MAX_ITER = 0; // Here we can set a maximum amount of iterations // Analysis Commands // Compute the reachable states Analyse avant=deuxcond.reachable; // Save the reachable states to a file Analyse avant.print("cond-reach",0);
B.2. LE script .SH
#!/bin/bash # phaver -v256011 cond.pha reach.pha
