Aller au contenu

Recherche

Algorithmes de synthèse de contrôleurs

J'ai développé avec mes collègues plusieurs algorithmes de synthèse de contrôleurs. Le premier algorithme est une amélioration de l'algorithme de synthèse de contrôleurs avec observation partielle proposé par Cieslak et al [IEEE Transactions on Automatic Control 40 (4)]. Le second algorithme est pertinent pour la synthèse de contrôleurs avec observation totale. Il inclut une stratégie de recherche basée sur un mécanisme ingénieux de retour arrière et ne requiert pas le modèle global du comportement libre du système [Journal of Algorithms 25 (1)]. Le troisième algorithme permet une meilleure compréhension de la relation entre des techniques du domaine de la théorie du contrôle et celles du domaine de la planification en intelligence artificielle. Ce travail constitue une avancée significative par rapport aux méthodes introduites dans le cadre théorique du contrôle des systèmes discrets développé initialement par Ramadge et Wonham. Cet algorithme est le premier qui intègre le traitement des propriétés de sûreté, de vivacité et de temps réel d'une manière uniforme en utilisant une logique temporelle [IEEE Transactions on Automatic Control 43 (11)].

Contrôle de systèmes à événements discrets paramétrés

Les algorithmes de synthèse de contrôleurs proposés dans la littérature scientifique comporte de sérieux désavantages lorsqu'ils sont appliqués sur des systèmes industriels, particulièrement sur des systèmes paramétrés (par ex. des réseaux de processus similaires). Deux de ces désavantages sont liés à la mise à l'échelle et à la complexité de calcul. Pour résoudre ces problèmes, nous avons proposé des méthodes de synthèse de contrôleurs qui intègrent des techniques d'abstraction dans des procédures de synthèse : une développée avec mon collègue Barbeau (maintenant à l'université de Carleton) et un étudiant au doctorat qui exploite les réseaux de Petri colorés et des spécifications de symétries [Discrete Event Dynamic Systems: Theory and Applications 9 (2)] et une autre qui est orientée vers le calcul de contrôleurs attribués à partie de modèles abstraits à la place d'un modèle concret [Journal of Systems and Software 60 (2)]. Cette dernière méthode requiert des transformations pour la réduction et la fusion. Afin que les transformations soient valides, elles doivent être bien fondées et exactes. Avec mon collègue Frappier, nous avons proposé des transformations exactes [LNCS 2178]. Obtenir des transformations bien fondées est un problème beaucoup plus difficile. Il n'a pas été résolu dans le cas général. Néanmoins, avec mon collègue Desharnais de l'Université Laval et un étudiant au doctorat, nous avons développé des solutions pour les systèmes paramétrés à données bornées (MRS'2003) et pour des boucles de commande à rétroaction dérivées à partir de politiques de contrôle sur les états aussi bien dans le cas de l'observation totale [LNCS 3299] que dans le cas de l'observation partielle [CDC-ECC'05]. Basé sur ces derniers travaux, nous avons réalisé une étude plus approfondie sur le contrôle de systèmes à événements discrets paramétrés avec interconnexions des processus. Le résultat de cette recherche est une théorie complète sur le sujet [Discrete Event Dynamic Systems: Theory and Applications 19 (2)].

Contrôle par délégation pour la composition de composants logiciels dynamiques

Dans le contrôle de systèmes à événements discrets, le contrôle est de type inhibition/permission. Un autre type de contrôle est possible, celui par délégation qui est à la base d'une théorie de composition de composants logiciels dynamiques, comme des agents. Avec un étudiant au doctorat, nous avons formulé un nouveau problème de formation d'une équipe d'agents. Les agents sont munis d'un comportement et leurs tâches ont des attributs avec des valeurs spécifiques. Le but est également un comportement avec des tâches, mais les valeurs de leurs attributs s'expriment comme des préférences. Le problème consiste à former une équipe robuste d'agents, sous la forme de compositions « agents-contrôleur », qui permet de réaliser le but à moindre coût [LNAI 10413].

Une vue systématique pour le développement à base de composants logiciels

De nos jours, le développement à base de composants logiciels est un sujet de recherche très fertile principalement parce que les systèmes sont de plus en plus complexes et coûteux à développer. Avec un étudiant au doctorat nous avons examiné le développement à base de composants logiciels dans la perspective de la théorie des systèmes avec comme intention de synthétiser des observateurs (interfaces de composants) et des superviseurs (contrôleurs de composants). En plus, nous avons montré, à partir de trois opérateurs atomiques, comment ajouter du contrôle à un composant et comment assembler horizontalement et verticalement des composants réutilisables tout en maintenant des invariants requis par la théorie. Selon le meilleur de nos connaissances, c'était la première fois qu'une telle méthode formelle a été utilisée pour résoudre des problèmes de contrôle dans le contexte du développement à base de composants logiciels, incluant la réutilisation. Premièrement, nous avons illustré notre approche à l'aide d'un système en ligne organisé hiérarchiquement à partir de services Web [LNCS 6921]. Deuxièmement, basé sur ces résultats, cette méthode a été améliorée afin d'inclure un mécanisme d'instanciation et une dynamique abstraite dans le but de générer automatiquement du code pour des automates programmables comme ceux que l'on retrouve dans l'industrie [IEEE Transactions on Control Systems Technology]. Cette méthode a été appliquée avec succès dans la création d'une librairie de composants réutilisables et le contrôle d'une usine de production modulaire disponible dans notre laboratoire et semblable à celles rencontrées dans l'industrie. Cette usine comporte 44 composants et son espace d'états est estimé à 1031 états.

Exploration et application de la théorie du contrôle supervisé par une approche de satisfiabilité de contraintes

La majorité des outils développés comme support à la théorie du contrôle des systèmes à événements discrets intègrent des diagrammes de décision binaire (BDD) à des algorithmes de calcul de points fixes afin de manipuler des modèles comportant d'immenses espaces d'états. Une autre technique de représentation symbolique associée à des outils de satisfaction de contraintes booléennes et principalement utilisée par des vérificateurs de modèles bornés est moins répandue. Notre équipe de recherche a formulé, d'une manière déclarative en Alloy, des modèles abstraits de plusieurs variantes de la théorie du contrôle des systèmes à événements discrets dans le but de démontrer la faisabilité de cette technique. Nous avons défini un modèle d'une théorie de contrôle hiérarchique dans le but d'obtenir des observateurs et des superviseurs de petits composants réutilisables [LNCS 6959]. Nous avons également été les premiers à proposer une solution Kodkod pour le calcul d'éléments suprémaux (de familles de langages ou de prédicats) [LNCS 7316]. Nous avons complètement reformulé la théorie du contrôle à base d'états dans un modèle Alloy et progressivement enrichi ce modèle par rapport à différentes extensions : observation partielle, structures en arborescence d'états et systèmes paramétrés [Science of Computer Programming 94 (2)]. Enfin, les modèles Alloy ont été intégrés dans un programme αRby. Le langage de programmation αRby est une fusion de Alloy et Ruby. Cette solution permet de résoudre des problèmes de contrôle plus aisément qu'en Alloy/Kodkod, voire impossible en Alloy pur [International Journal on Sofware Tools for Technology Transfer]. Une comparaison de trois langages de programmation, incluant αRby, permet d'envisager d'autres paradigmes de programmation pour atteindre cet objectif [Journal of Computer Languages].

Synthèse de plans et synthèse de contrôleurs

Ce travail de recherche, mené avec Barbeau (maintenant à l'université de Carleton) et mon collègue Kabanza met en évidence une méthode qui étend l'approche traditionnelle de planification par chaînage avant dans le but de calculer des plans réactifs, lesquels sont des machines à états qui comportent des cycles et des événements incontrôlables. De tels plans sont plus appropriés pour des agents réactifs que les plans conventionnels [Artificial Intelligence 95 (1)]. D'autres liens entre les techniques du domaine de la théorie du contrôle et celles de la composition d'agents basées sur une forme particulière de planification ont également été établis [SMC 2015].