departement d'informatique memoire

124
DEPARTEMENT D'INFORMATIQUE MEMOIRE Présenté par Hakiki Rafika 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

Upload: others

Post on 19-Dec-2021

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 3: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 4: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 5: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 6: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 7: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

 

Page 8: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 9: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 10: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 11: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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)

Page 12: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 13: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 14: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 15: DEPARTEMENT D'INFORMATIQUE MEMOIRE

 

 

Chapitre I

Les Systèmes Dynamiques Hybrides

Page 16: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 17: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 18: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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 

Page 19: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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 :

                 

                            ê  

Page 20: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 21: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 22: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 23: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 24: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 25: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 26: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 27: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 28: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 29: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 30: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 31: DEPARTEMENT D'INFORMATIQUE MEMOIRE

 

 

Chapitre II Etude et Analyse des Systèmes

Dynamiques Hybrides

Page 32: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 33: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 34: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 35: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 36: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 37: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 38: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 39: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 40: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 41: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 42: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

 

Page 43: DEPARTEMENT D'INFORMATIQUE MEMOIRE

 

 

Chapitre III Modèles et Outils pour la

Modélisation des SDH

Page 44: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 45: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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   

Page 46: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 47: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 48: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 49: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 50: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 51: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 52: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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 

Page 53: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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)

Page 54: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 55: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 56: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 57: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 58: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 59: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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   .

Page 60: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 61: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 62: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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:

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.

Page 63: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 64: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 65: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 66: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 67: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 68: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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:

Page 69: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 70: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 71: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 72: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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}

Page 73: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 74: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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)

Page 75: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 76: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 77: DEPARTEMENT D'INFORMATIQUE MEMOIRE

 

 

Chapitre IV Implémentation et Simulation

des AHLs

Page 78: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 79: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 80: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 81: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 82: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 83: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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:

Page 84: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 85: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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] 

Page 86: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 87: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 88: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 89: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 90: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 91: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 92: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 93: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 94: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 95: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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 ;

Page 96: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 97: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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 

Page 98: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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 (

Page 99: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

        ,       , ||

Page 100: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 101: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 102: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 103: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 104: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 105: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 106: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 107: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 108: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 109: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 110: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 111: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 112: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 113: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 114: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 115: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 116: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 117: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 118: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 119: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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.

Page 120: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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 ;

Page 121: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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 ;

Page 122: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 123: DEPARTEMENT D'INFORMATIQUE MEMOIRE

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

Page 124: DEPARTEMENT D'INFORMATIQUE MEMOIRE