ZHANG Yan
Direction de recherche : Béatrice BÉRARD
Co-encadrement : DUTHEILLET Claude & THIERRY-MIEG Yann
Conception semi-automatique de contrôleurs avec VeriJ
Lorsqu'un système ouvert ne respecte pas une spécification, notamment concernant la sûreté de fonctionnement, une solution possible consiste à restreindre le système avec un contrôleur pour atteindre l'objectif, lorsque cela est possible. Deux approches sont utilisées pour construire un tel contrôleur. La première, qui consiste en un processus manuel où un expert définit un contrôleur, est sujette à erreurs. La seconde repose sur des méthodes formelles et synthétise automatiquement un contrôleur correct, s'il en existe un. Cependant, les outils de synthèse existants résolvent principalement le problème pour des systèmes décrits dans des formalismes de bas niveau, qui présentent un investissement conséquent en apprentissage pour les ingénieurs du logiciel. De plus, la synthèse automatique ne passe pas bien à l'échelle pour des grands systèmes. Enfin, le contrôleur généré automatiquement est généralement très grand, ce qui rend son interprétation difficile, et il ne peut pas être adapté aisément lorsque des paramètres du système sont modifiés.
Afin de favoriser l'adoption de la théorie du contrôle dans les processus industriels, nous définissons un nouveau langage de programmation appelé VeriJ, sous la forme d'un sous-ensemble de Java auquel sont ajoutées des constructions supplémentaires dédiées à la supervision. Nous fournissons avec VeriJ un outil, basé sur la transformation de modèles, qui prend en entrée un programme VeriJ et produit un système de transitions étiqueté (LTS), représentant la sémantique du programme. Un moteur pour ce système de transitions est intégré dans l'outil afin de permettre le test de contrôlabilité et la synthèse de contrôleur pour des programmes VeriJ. Ceci réduit donc le fossé entre les programmes de type Java et la synthèse formelle de contrôleurs.
Nous proposons de combiner la synthèse automatique avec une conception centrée sur l'utilisateur en définissant une approche itérative, incrémentale et semi-automatique pour la conception de contrôleur. Dans ce processus, les utilisateurs peuvent modéliser, simuler et exécuter un système (incluant éventuellement un contrôle partiel), dans un environnement de développement Java. L'outil de synthèse fournit aux utilisateurs des diagnostiques sur le programme courant et peut générer des contrôleurs en VeriJ, lorsque cela est possible. Cette approche évite partiellement les problèmes de passage à l'échelle et de lisibilité des contrôleurs générés. L'illustration d'un tel processus sur un exemple significatif, provenant des systèmes de transport automatisés, montre qu'il est possible de combiner: i) les bénéfices résultant des environnements de développement évolués pour Java, avec ii) des performances comparables à celles des outils existants.
Pour pallier le problème d'explosion combinatoire de l'espace d'états, nous intégrons également un module de contrôle à un outil symbolique efficace (ITS/SDD) utilisant une variante de diagrammes de décision, les Set Decision Diagrams. Ceci permet de vérifier la contrôlabilité de systèmes modélisés par des réseaux de Petri (temporels) et une perspective importante de ce travail est d'utiliser ce travail pour améliorer les performances de VeriJ.
Soutenance : 05/07/2013
Membres du jury :
Stephan Merz - INRIA Nancy & LORIA [Rapporteur]
Franck Pommereau - IBISC, Université d'Évry [Rapporteur]
Stefan Schwoon - LSV, ENS Cachan
Fabrice Kordon - LIP6, UPMC
Béatrice Bérard - LIP6, UPMC
Yann Thierry-Mieg - LIP6, UPMC
Publications 2010-2022
-
2022
- Ph. Basset, S. Beeby, Ch. Bowen, Zh. Chew, Ah. Delbani, R. Dharmasena, Bh. Dudem, F. Fan, D. Galayko, H. Guo, J. Hao, Y. Hou, Ch. Hu, Q. Jing, Y. Jung, S. Karan, S. Kar‑Narayan, M. Kim, S.‑W. Kim, Y. Kuang, K. Lee, J. Li, Zh. Li, Y. Long, Sh. Priya, X. Pu, T. Ruan, S. Ravi P. Silva, H. Wang, K. Wang, X. Wang, Zh. Wang, W. Wu, W. Xu, H. Zhang, Y. Zhang, M. Zhu : “Roadmap on nanogenerators and piezotronics”, APL Materials, vol. 10 (10), pp. 109201, (AIP Publishing) (2022)
-
2014
- Y. Zhang, B. Bérard, L. Hillah, F. Kordon, Y. Thierry‑Mieg : “Controllability for Discrete Event Systems Modeled in VeriJ”, International Journal of Critical Computer-Based Systems, vol. 5 (3/4), pp. 218-240, (Inderscience) (2014)
-
2013
- Y. Zhang : “Semi-Automatic Controller Design in a Java-like Language”, soutenance de thèse, soutenance 05/07/2013, direction de recherche Bérard, Béatrice, co-encadrement : Dutheillet, Claude & THIERRY-MIEG Yann (2013)
- Y. Zhang, B. Bérard, L. Hillah, Y. Thierry‑Mieg : “Semi-Automatic Controller Design of Java-like Models”, Workshop on Formal Techniques for Java-like Programs, FTfJP 2013, Montpellier, France, pp. 3:1-3:7, (ACM) (2013)
-
2011
- Y. Zhang, B. Bérard, L. Hillah, F. Kordon, Y. Thierry‑Mieg : “Modeling complex systems with VeriJ”, 5th Verification and Evaluation of Computer and Communication System (VECOS), Tunis, Tunisia, pp. 34-45, (British Informatics Society Ltd) (2011)
- Y. Zhang, B. Matuszewski, A. Histace, F. Precioso : “Statistical Shape Model of Legendre Moments with Active Contour Evolution for Shape Detection and Segmentation”, Computer Analysis of Images and Patterns, vol. 6854 (1), LNCS, Sevilla, Spain, pp. 51-58 (2011)
-
2010
- Y. Zhang, B. Bérard, F. Kordon, Y. Thierry‑Mieg : “Automated Controllability and Synthesis with Hierarchical Set Decision Diagrams”, 11th International Workshop on Discrete Event Systems (WODES'10), Berlin, Germany, pp. 281-286, (IFAC/Elsevier) (2010)
- Y. Zhang : “Modeling Automated Highway Systems with VeriJ”, MOdelling and VErifying parallel Processes (MOVEP), Aachen, Germany, pp. 138-143 (2010)