Вы находитесь на странице: 1из 6

SYNTHESE DES CONTROLEURS OPTIMAUX POUR LES SYSTEMES A EVENEMENTS DISCRETS.

Prof. Jean Marie MOANDA et Ir. Junior BAKOLA MONGO Dpartement de Gnie Electrique et Gnie Informatique Universit de Kinshasa, Facult Polytechnique
RESUME PRELIMINAIRES

Dans cet article, on introduit le problme de synthse de contrleurs optimaux des systmes vnements discrets et nous proposons une procdure pour la rsolution de ce problme, dans le cas o le procd et les spcifications sont reprsents par des automates tats finis et prsentant une complexit croissante. Nous allons souscrire la mthodologie de synthse selon la thorie de la commande par supervision initie par Ramadge et Wonham. Par une illustration sur un exemple simple, puis sur un modle offrant une complexit leve. Dans cet esprit, les langages, mthodes et outils de dveloppement mis en uvre pour les spcifier et les dvelopper doivent slever un niveau de qualit permettant de satisfaire les exigences exprimes. Face cette situation, nous contribuons dans ce travail systmatiser lemploi des mthodes formelles dans les cycles de dveloppement des systmes en loutillant et ladaptant au langage UML (Unified Modeling Language), qui est le plus exploit dans les projets industriels.
MOTS CLES : Systmes Evnements Discrets, Synthse des contrleurs optimaux INTRODUCTION

Depuis quelques dcennies les progrs technologiques ainsi que les exigences dune comptitivit sans cesse croissante ont prsid lapparition de systmes de plus en plus complexes ainsi l o par le pass le bon sens suffisait, il est devenu de plus en plus crucial de disposer doutils formels qui permettent danalyser de tels systmes cest notamment le cas des systmes de production dont la complexit rend parfois difficiles leur dimensionnement, leur automatisation et leur gestion. Certains sattachent aux aspects de suret de fonctionnement dun systme automatis tel que la fiabilit, la dfaillance mais vu les progrs technologiques et les concurrence qui ne cesse de croitre sur le march, un nouvel aspect danalyse et de commande est ne celui de la synthse de contrleur. La mthodologie sintresse au fonctionnement normal et dsir du systme, elle a t introduite par Ramadge et Wonham. Notre travail sera alors port sur lapplication de la mthode de synthse de contrleur sur le SED, en usant des mthodes formels coupls aux techniques de gnie logiciel pour ainsi dbouch sur un modle offrant clart et concision du point de vue analyse et conception.

Nous nous situons dans le contexte de contrle par supervision, dfini par la thorie de Ramadge et Wonham. Etant donns un procd P et une spcification de fonctionnement Sspec, on souhaite synthtiser un contrleur C de faon ce que le systme en boucle ferme C/P, respecte la spcification. Cest--dire quon doit chercher le langage L(P) L(Sspec). Ce langage appel fonctionnement dsir correspond lensemble des squences qui peuvent tre gnres par le procd et qui sont tolres par la spcification, ce langage est not LD. Il nest pas toujours possible (prise en compte dvnements incontrlables u) de restreindre, par le contrle, le fonctionnement dun procd nimporte quel sous langage de ce fonctionnement. Lexistence dun contrleur C tel que L(C/P) = LD rside dans le concept de contrlabilit [WON 87]. A partir des modles accepteurs P dun procd et Sspec dune spcification de fonctionnement, lalgorithme de KUMAR permet de vrifier la contrlabilit du langage de spcification L(Sspec). De plus, dans le cas o le langage L(Sspec) nest pas contrlable, cet algorithme permet de synthtiser un modle accepteur du langage suprme contrlable du fonctionnement dsir, c'est--dire SupC(LD) [Kumar et al. 91].
PROBLEMATIQUE DU CONTROLE

Le problme de la synthse de contrleur peut se rsumer ainsi : Etant donn un systme, qui modlise un programme ou un systme rel comment forcer ce systme respecter ses spcifications, en restreignant son comportement le moins possible ? La premire question qui se pose est limplmentation du systme contrl. La vision adopte est celle du raffinement dune spcification incomplte, afin de la rendre correcte vis--vis dexigences bien dfinies. Il sagit typiquement de modifier les transitions du systme initial ou bien contraindre le comportement laide dun contrleur qui a des moyens daction et dobservations sur le systme. Il savre en fait que les problmes sont souvent quivalents, mais il convient de spcifier le point de vue, adopt.

CONTRIBUTION

Soit un cahier de charge, la synthse dun contrleur optimal pour un tel systme nest sans doute pas difficile en recourant la thorie RW. Il savre alors difficile si le systme trait est un systme complexe prsentant un problme dexplosion combinatoire. Notre modeste contribution consiste alors user dun certains nombres des diagrammes UML, pouvant rendre le problme complexe facilement modlisable puis finalement obtenir un modle FSM conforme au un langage formel. Nous avons choisi pour cela le modle en peau doignon qui est maintenant normaliss au sein dUML. Ils permettent de combiner des automates tats finis suivant deux principes: le "paralllisme" (automates concurrents) et l'inclusion hirarchique. L'inclusion signifie que chaque tat peut tre dcompos en un automate qui dcrit le comportement avec une granularit plus fine. Les transitions sont tiquetes avec des vnements dclencheurs, des actions (qui sont des vnements dclenchs) et des conditions. Lutilisation dUML dans lindustrie recouvre principalement les diagrammes de cas dutilisation, les diagrammes de classe, les diagrammes de squence et les diagrammes dactivit. Dans notre contexte, nous utilisons les diagrammes dactivits, car nous nous intressons principalement aux comportements des systmes modliss. Les diagrammes dactivit permettent de modliser des flux de contrle : signaux, donnes, algorithmes ou procdures. Les diagrammes de comportement, qui dcrivent les aspects dynamiques dun systme ou processus mtier. Ils comprennent principalement les diagrammes dactivit, dtats-transitions et de cas dtude. Nous nous proposons dappliquer les mthodes formelles, selon deux approches complmentaires. La premire consiste appliquer des techniques au cours de sa phase danalyse, pendant laquelle les exigences de fonctionnement sont formalises. Cette dmarche intervient en amont de la phase de conception dtaille du systme. Il sagit de dterminer, partir dun ensemble de configurations initiales du systme, une stratgie permettant de maintenir son fonctionnement dans lensemble de ses comportements admissibles, quelle que soit linfluence de son environnement. Lobjectif est dabord de comprendre la dynamique du comportement du systme raliser, afin daider lingnieur concevoir ensuite un modle prcis de ce systme que nous pourrions vrifier. La deuxime approche concerne la vrification formelle de proprits attendues sur le modle du systme, obtenu en phase de conception dtaille.

Notons que les deux approches permettent dobtenir le diagramme dtats du contrleur et suivant lalgorithme de KUMAR on arrive un contrleur optimal qui garantisse les respects des spcifications. Ce dernier permettra dobtenir une implmentation et une simulation aise sur lenvironnement MATLAB.
IMPLEMENTATION AVEC MATLAB SIMULINK

Simulink est un logiciel qui permet de modliser, simuler et analyser des systmes dynamiques (systme dont les sorties et les tats voluent au cours du temps). Dans ce paragraphe, nous allons prsenter le nouveau simulateur systmes qui va interagir avec SIMULIK. Stateflow est un outil graphique puissant de conception, de dveloppement et pour la modlisation de systmes de contrle complexe. Il nous offre la possibilit de modliser et simuler le comportement de systmes fonds sur le principe des automates tats finis. Cette particularit de Stateflow va nous permettre de combiner plusieurs lments d'un systme en une simulation de boucle ferme ( closed-loop simulation ). La combinaison de Stateflow et de Simulink nous offre donc une mthode de simulation la fois prcise et complexe. Stateflow fait partie de Simulink, il permet dy ajouter des blocs contenant des graphes nombre dtats fini, avec des tapes, des actions, des transitions, mais galement avec des vnements. La simulation du schma- bloc utilise Visual C++, cest dire que les modles une fois dfinis sont traduits en C++ et compils, ce qui donne lexcutable utilis pour la simulation. La particularit de deux approches prsentes ci-haut est quelles nous offrent directement un diagramme dtats du procd contrl facile (c'est--dire le produit synchrone des automates du systme ascenseur pris individuellement et lapplication de lalgorithme de KUMAR est intgr dans le modle propos) construire sous stateflow (tats, transitions et vnements).
IMPLEMENTATION DU PROCEDE-CONTROLE

Les objectifs du contrle en boucle ferme sont de maintenir le procd respecter les spcifications en agissant sur loccurrence des vnements contrlables. Nous allons utilis une autre approche visant concevoir un systme entran par les vnements qui alors modlise le comportement du systme tudier, qui se trouve tre dcrit en termes de transitions dtat. La dclaration des tats active est base sur l'occurrence des vnements sous certaines conditions. Le procd contrl est implment de faon modulaire tel que chaque contrleur ascenseur est programm graphiquement ensuite les deux supervis par un contrleur global qui gre les conflits.

La programmation graphique de chaque contrleur contr est ralise de faon traduire le diagramme dtat donn en un FSM compatible Stateflow, qui intgre deux importantes tables (Condition+action) permettant la coordination des proprits daccessibilit et de co-accessibilit. La loi de contrle est t cod sous Matlab est imprime son action sur le modle graphique et gre les occurrences des vnements contrlables et incontrlables. EXEMPLE Lexemple exemple retenu pour illustrer notre contribution est un contrleur du systme ascenseur. Lenvironnement doit contrler un ensemble de 2 ascenseurs automatiques dans un btiment de 6 tages. Nous remarquerons le systme ne prsente pas seulement un problme de complexit combinatoire mais constitue galement un systme complexe. Chaque composant nt du systme est modlis comme un SED, la grande difficult est due au fait que ces composants aussi nombreux sont astreints une srie des spcifications lies au cahier de charge. Ce qui nous amne user dune approche beaucoup plus conciliante permettant ttant la prise en compte des tous ces composants et leurs spcifications sans toute fois arrive atteindre une explosion combinatoire. La premire approche consiste appliquer des techniques au cours de sa phase danalyse.
Evnement 1 un passager potentiel appelle l'ascenseur un passager indique l'tage voulu un passager met sur Arrt l'interrupteur Marche/Arrt un passager met sur Marche l'interrupteur Marche/Arrt un passager obstrue la porte pendant qu'elle se referme un passager appuie sur le bouton Ouverture de la porte un passager appuie sur le bouton Fermeture de la porte le timer de fermeture de la porte expire un passager appuie sur le bouton d'appel d'urgence l'ascenseur arrive l'tage 'ascenseur quitte l'tage Rponse du systme 1. le bouton d'appel s'claire 2. slection d'un ascenseur 3. envoi de l'ascenseur l'tage d'appel 1. le bouton de l'tage s'claire 2. envoi de l'ascenseur l'tage demand l'ascenseur s'arrte l'ascenseur reprend le traitement des requtes en cours la porte s'ouvre et le timer de fermeture est redmarr la porte reste ouverte et le timer de fermeture est remis 0 la procdure de fermeture est dmarre

Identification de cas dutilisation et criture de cas dutilisation.


tap e 0 1 2 3 4 5 Message Action pass ager 1 sour ce sour ce cible l'ascenseur ferme la porte et dmarre vers le 6me cible l'ascenseur ferme la porte et dmarre vers le 2 me cible sour ce cible source cible source pass ager 2 ascense ur

l'ascenseur est inactif au 1er demande de l'ascenseur au 4me pour monter l'ascenseur passe au 2me tage demande de l'ascenseur au 2me pour descendre l'ascenseur arrive au 4me le passager 1 entre dans l'ascenseur et demande le 6me tage l'ascenseur arrive au 6me et ouvre la porte le passager 1 sort

l'ascenseur dmarre vers le 4me mise en attente de la requte

cible

cible source

6 7

8 9 10

le timer de fermeture de la porte expire l'ascenseur arrive au 2me et ouvre la porte le passager 2 entre dans l'ascenseur et demande le 1er tage l'ascenseur arrive au 1er et ouvre la porte l'ascenseur ferme la porte et se met en tat inactif

11 12

l'ascenseur ferme la porte et dmarre vers le 1er le passager 2 sort

source

Tableau 2: Diffrents cas dutilisation identifis

Diagramme de squence

2 3 4 5 6

Figure 1 : Diagramme de squence

Diagramme de cas dutilisation

le cycle de fermeture de la porte dbute

le central de contrle est notifi

10 12

1. l'clairage du bouton s'teint 2. le cycle d'ouverture de la porte dbute l'ascenseur va l'tage le plus proche dans sa liste de destinations

Tableau1 : Evnements vnements prise en compte dans lanalyse du modle

Figure 2 : scnario provenant du cas dutilisation

Identification des associations entre objets


Source des messages bouton d'appel contrleur contrleur ascenseur ascenseur Destination des messages contrleur ascenseur ascenseur contrleur Indicateur darrive dascenseur ascenseur bloqueurs Message demande d'ascenseur demande de status ajout de la destination accord signal d'arrive

capteur de palier localisation capteur de tension de engager cble station de contrle bloqueurs relcher capteur de tension de station de contrle alarme cble ascenseur station de contrle status bouton de demande ascenseur ajout de la d'tage destination interrupteur ascenseur marche/arrt marche/arrt interrupteur station de contrle marche/arrt marche/arrt bouton d'alarme station de contrle alarme ascenseur porte ouvrir/fermer Tableau 3. Identification et association entre objets

Figure 3 : Automate dun contrleur local optimis du modle ascenseur

Figure 5 : Automate tat fini de lascenseur Figure 4 : contrleur dun scnario provenant du cas

Implmentation sous MATLAB

La phase de conception dtaille. Une fois lanalyse est bien finie nous procdons la conception dun contrleur. Ce diagramme permet de visualiser des automates dtats finis de lascenseur, du point de vue des s tats et des transitions voir figure 4.

Figure 6 : (Modle stateflow du contrleur)

Figure 7 : (Structure modulaire du concept contrleur sous Stateflow)

Ce point se concentre sur la logique de contrle du systme qui est mis en application dans Stateflow, mais les points suivants sont cruciaux l'interaction entre Simulink et Stateflow : La logique de contrle surveille les lectures des capteurs comme entres de donnes dans Stateflow. La logique dtermine partir de ces lectures produit une phrase boolenne d'tat. Le diagramme Stateflow ci-dessous dessous met en application la logique de contrle ontrle de chaque contrleur pris individuellement puis celle du contrleur global pris en entiret. Le groupe de figures ci-dessus dessus dcrit la logique de contrle illustre par la machine tat fini du contrleur dascenseur en ne considrant quun asce ascenseur pris isolement, cette logique est donc implmente dans une machine stateflow sous une programmation graphique traduisant le comportement rel dun contrleur dascenseur dans un environnement dynamique.

Figure 8 : Le modle FSM du contrleur local A dascenseur

Figure 10 : Logique de commande du contrleur global du systme

Figure 9 : la table de processus du contrleur local A

CONCLUSION

La a conception dun contrleur pour un cas complexe difficilement concevable avec les mthodes classiques dveloppes par INRIA et R&W. L on a pu recourir des mthodes dveloppes en gnie logiciel enfin dobtenir un automate du contrleur optimal et faisant face aux problmes lis la compilation de modle de taille importante nous avons dtermine le modle du contrleur qui reflte directement les spcifications choisies.
Figure 11 : Le modle Stateflow dun FSM de la file dattente

Si aucun ascenseur n'est disponible, la requte est mise en queue jusqu' ce qu'un des ascenseurs satisfasse la requte mise. Une fois press, le bouton d'appel s'claire pour indiquer qu'une requte est en attente. Presser un des boutons d'appel alors qu'une requte pour la mme direction est en attente n'aura aucun effet.

Ensuite nous nous sommes focaliss sur la conception dun simulateur pour notre systme logiciel intgrant la logique synthtise dans la seconde partie. La procdure de synthse prsente beaucoup davantage car elle nous offre directement le FSM adapt pour tre implment dans lenvironnement utilis pour p concevoir le simulateur. Nous pouvons dire que la formulation de la technique de synthse gnre des contrleurs corrects, optimaux et offre la possibilit de faire des contrles diffrents sur un mme modle (Contrleurs locaux et global).
BIBLIOGRAPHIE

[BAL 92] S. Balemi, Control of Discrete Event Systems: Theory and Application Mai 1992. [BRA 94] B. A. Brandin and W. M. Wonham. Supervisory control of Timed Discrete Event Systems Systems. [CAS 99] C. Cassandras. Introduction to Discrete Event Systems. Kluwer Publishing Company 1999. [Alla et al. . 01] A. Alla, R. David, M. Di Mascolo, J. J.-L. Ferrier. Analyse et commande des systmes vnements discrets. Herms Ed., 2000. [Kumar et al. . 91] R. Kumar, V. Garg, S.I. Marcus. "On controllability and normality of discrete event dynamical systems".Systems .Systems and Control Letters, vol. 17, p. 157-168, 1991. [Mathworks R2009] The MathWorks Inc Simulink: Dynamic System Simulation for MATLAB , Using Simulink, [Hared 87] Harel, David, Statecharts: A Visual Formalism for Complex Systems,Science of Computer Programming 8, 1987, pages 231-274. 274. [Kyamakya 05] Cours Gnie logiciel, Kyamakya facult Polytechnique de Kinshasa [Robert 03] Cours Gnie logiciel, Jean-Marc Robert Ecole de technologie suprieure Qubec Qubec.

Figure 12 : Le modle stateflow dun FSM de statut

Une fois press, le bouton d'appel s'claire pour indiquer qu'une requte est mise, le contrleur prend directement en charge la requte et demande le statut dascenseur une fois que le statut lui est donn, le systme rpondra une requte d'ascenseur en n envoyant l'ascenseur le plus proche et qui est inactif ou qui se dplace dans la direction demande. Si aucun ascenseur n'est disponible, la requte est mise en queue.
PERSPECTIVES

Comme perspectives nous aurions voulu faire de la synthse dappel optimale sur un modle dascenseur (c'est--dire : dans le modle trait, les passagers empruntent la premire cabine disponible, quelque soit ltage auquel ils se rendent, de nombreux arrts sont ncessaires pour librer la cabine tandis que avec le contrle trle dappel de destination, les passagers sont regroups avant de pntrer dans lascenseur. Ceux qui se rendent au mme tage parviennent directement destination, sans arrt intermdiaire. Les tapes tant moins nombreuses, la cabine est plus rapidement rapideme disponible).

Вам также может понравиться