Proposition de Sujet de Thèse 2014 Thématique : Titre : Laboratoire d Accueil : Encadrant(s) : Sûreté des Systèmes Complexes Vérification probabiliste de propriétés de modèles AltaRica 3.0 LGI Antoine RAUZY (LGI) & Michel Batteux (IRT SystemX) Table des matières Contexte... 1 Description détaillée du sujet de thèse... 4 Verrous technologiques et scientifiques... 4 Plan de travail prévisionnel... 5 Intérêt pour la Défense... Erreur! Signet non défini. Compétences du Laboratoire... 5 Référence Bibliographiques... 6 Contexte La sûreté de fonctionnement des systèmes complexes est un enjeu majeur tant d un point de vue économique que sociétal. Les normes et règlements en vigueur, la pression économique et environnementale imposent aux concepteurs de systèmes complexes (avions, centrales nucléaires, trains, usines chimiques et pétrolières ) de conduire des études d analyse du risque. Ces dernières reposent pour une grande partie sur une approche probabiliste : on cherche à déterminer les scenarios d accident les plus probables et, si le risque est jugé inacceptable, à réduire la probabilité de survenue de ces scenarios et/ou à en diminuer les conséquences pour le système analysé, ses opérateurs et son environnement. Les méthodes «traditionnelles» d analyse probabiliste du risque (Arbres de Défaillance, chaîne de Markov, réseaux de Petri stochastiques ) ne sont plus adaptées aux systèmes conçus aujourd hui : ces méthodes reposent sur des formalismes de bas niveau. Cela induit une distance entre les modèles et les systèmes modélisés qui est préjudiciable à l appropriation des modèles par les parties prenantes et à leurs évolutions au cours du cycle de vie des systèmes. C est pourquoi une nouvelle approche, dite basée 1
sur les modèles, sous- entendu de haut niveau, est explorée depuis une douzaine d années. La France est à la pointe de ces recherches, via notamment les travaux menés autour du langage AltaRica 1. Le langage AltaRica est donc un formalisme de modélisation de haut niveau dédié à la sûreté de fonctionnement. Trois ateliers industriels reposent sur AltaRica : Cecilia OCAS (Dassault Aviation), Simfia (EADS- Apsys) et Safety Designer (Dassault Systèmes). De nombreuses études d analyse du risque ont été conduites avec ces ateliers. La dizaine d année d expériences industrielles a permis un important retour d expérience sur le langage lui- même et les outils associés. L équipe «Risque» du LGI travaille actuellement à la spécification de la nouvelle version du langage, nommée AltaRica 3.0. Cette nouvelle version représente une évolution majeure, dans plusieurs directions : AltaRica 3.0 est un langage orienté prototype [NTM99]. Ce paradigme est particulièrement adapté à la modélisation dysfonctionnelle. Il permet en effet une gestion fine de la connaissance entre ce qui est acquis et peut être capitalisé via des bibliothèques de composants et ce qui est en cours de modélisation. La mise en œuvre du paradigme «orienté prototype» dans le cadre de langages de modélisation permet une rejointe entre des travaux importants en sciences cognitives (ceux de G. Lakoff en l occurrence [Lak90]) et en théorie de l innovation [HW02]. Grace à un nouveau mécanisme de traitement des assertions, AltaRica 3.0 permet de modéliser de façon élégante et efficace les systèmes comportant des boucles instantanées de rétroaction, cauchemar traditionnel de la communauté des langages réactifs (Lustre, Scade ) [SBT96]. En adoptant une syntaxe proche de celle de Modelica [Fri04], AltaRica 3.0 ouvre la voie pour un rapprochement entre la sûreté de fonctionnement et la modélisation multi- physique. Outre la spécification du langage, le projet AltaRica 3.0 comporte le développement d une palette nécessaire et suffisante d outils de traitement et de passerelles depuis et/ou vers d autres formalismes de modélisation, notamment via le projet Open AltaRica développé conjointement entre le LGI et l IRT System- X. La Figure 1 donne une vision d ensemble du projet. Le développement des outils de traitement demande bien sûr d importants efforts de recherche d algorithmes et d heuristiques efficaces et la réalisation de nombreuses expérimentations sur des cas tests industriels. Les outils en cours de développement se divisent en trois groupes : Un compilateur AltaRica 3.0 vers les systèmes de transitions gardées (GTS). Les GTS sont un modèle d automates avec entrées/sorties [Rau08] qui généralise tous les formalismes utilisés en sûreté de fonctionnement (arbres de défaillance, schémas blocs- diagrammes, chaînes de Markov, réseaux de Petri ). 1 Voir http://www.lix.polytechnique.fr/~rauzy/altarica/altarica.html pour une bibliographie à peu près complète sur le langage AltaRica. 2
Plusieurs outils de traitement des GTS : un simulateur pas à pas, un compilateur des GTS vers les arbres de défaillances, un générateur de séquences critiques, un compilateur vers les chaînes de Markov et un simulateur stochastique. Des outils de traitements pour les modèles de plus bas niveau : un pour les arbres de défaillance et arbres d événements et un autre pour les chaînes de Markov multi- phases avec récompenses. Les premières versions de ces outils sont disponibles ou devraient l être au premier semestre 2014. Figure 1. Le projet AltaRica 3.0. L équipe de recherche et développement est constituée de A. Rauzy (Directeur de la chaire Blériot- Fabre, et professeur à l Ecole Centrale), L. Kloul (MdC, Université de Versailles, chercheuse au LIX), J.- M. Roussel (MdC ENS Cachan), T. Prosvirnova (doctorante X), P.- A. Brameret (doctorant ENS Cachan), et M. Batteux (Chef de projet Open- AltaRica à l IRT SystemX). Une collaboration est en train d être mise en place avec une équipe du CEA LIST pour réaliser une passerelle entre SysML (et plus précisément l outil Papyrus 2 ) et AltaRica. 2 3
Description détaillée du sujet de thèse La thèse portera sur la vérification de propriétés (probabilistes) de modèles AltaRica 3.0, ou plus précisément de systèmes de transitions gardées obtenus par compilation de modèles AltaRica 3.0. Ces propriétés pourront être de deux ordres : Des propriétés qui permettent de valider le modèle. Typiquement, on vérifiera que pour tout événement du modèle, il existe au moins un scenario dans lequel cet événement survient. L automatisation de ce type de vérifications est extrêmement utile dans la phase de mise au point des modèles. C est un outil essentiel d ingénierie des modèles. Des propriétés probabilistes du système lui- même. Typiquement, on évaluera la probabilité pour qu une alarme déclenchée ne soit pas traitée dans un délai donné. Pour le premier type de propriétés, les technologies existent et sont assez bien maîtrisées, sachant que l enjeu essentiel est de limiter autant que faire se peut les effets de l explosion combinatoire de l espace d états du modèle : codage symbolique de l espace d états à l aide de diagrammes binaires de décision (comme dans le model- checker SMV [McM93]), dépliage du modèle et utilisation de solveurs SAT performants (comme dans le model- checker nusmv [BCCZ99]), vérification à la volée (comme dans l outil Spin/Promela [Hol03]). La thèse permettra d étudier lesquelles de ces techniques sont adaptables à la vérification de modèles AltaRica 3.0 et s il est possible d encapsuler les outils susmentionnés dans un atelier dédié au langage. Notre sentiment est que les techniques de vérification à la volée sont les mieux adaptées car elles permettent naturellement de produire des scenarios d incidents ou d accidents et de diriger la recherche en fonction de la propriété à vérifier. Cette hypothèse de travail devra toutefois être questionnée et validée. Pour le second type de propriétés, les technologies sont aujourd hui beaucoup moins stabilisées et un effort de recherche important reste à faire. Les travaux autour de model- checkers comme PRISM [KNP07] sont certes intéressants, mais restent essentiellement académiques. Notre idée, pour réussir un passage à l échelle industrielle, est de nous appuyer sur la simulation stochastique comme brique algorithmique de base. La vérification de propriétés consiste dans cette perspective à diriger la simulation en fonction de la propriété et en éliminant dynamiquement les exécutions soit qui ne concernent pas la propriété à vérifier, soit pour lesquels les exécutions précédentes ont décidé de la validité de la propriété avec un degré de confiance (une probabilité) raisonnable. Verrous technologiques et scientifiques La vérification de propriétés temporelles et probabilistes présente trois types de difficultés que la thèse contribuera à réduire : Les techniques de model- checking se heurtent à l explosion combinatoire de l espace d états du modèle (et du système modélisé!). C est un problème dur, au sens de la théorie de la complexité (techniquement P- espace complet). On peut bien sûr repousser les limites de cette explosion 4
combinatoire à l aide d algorithmes et d heuristiques performants, mais pas la supprimer et certainement pas la supprimer sur des systèmes réels. Tout l enjeu est donc d étudier quelles sont les propriétés, ou classes de propriétés, vérifiables avec des ressources de calcul raisonnables. L expression des propriétés, notamment en logique temporelle du type CTL ou LTL [CGP00], s avère souvent un exercice ardu. Notre conviction est qu il est beaucoup plus simple pour les ingénieurs d exprimer les propriétés à l aide d automates que d utiliser des logiques temporelles ad- hoc. Le développement d une bibliothèque de propriétés habituelles sera une façon de réduire ce problème. La prise en compte des aspects temporels et probabilistes a été assez peu étudiée jusqu à présent. Les algorithmes mis en œuvre dans des model- checkers comme PRISM [KNP07] ne passent clairement pas à l échelle industrielle. Ici encore, notre approche se veut pragmatique : la simulation stochastique est un outil efficace et auto- adaptatif. Diriger la simulation stochastique par la propriété à vérifier nous semble donc une approche originale et réaliste. Plan de travail prévisionnel Le plan de travail de la thèse se décompose en deux parties. Tout d abord, le doctorant devra se familiariser avec les concepts mis en œuvre dans AltaRica et dans les model- checkers ARC (développé au LaBRI), nusmv [BCCZ99], Spin/Promela [Hol03] et PRISM [KNP07]. Des prototypes de traducteurs vers les formalismes d entrée de ces outils pourront être réalisés afin de tester s il est raisonnablement possible d encapsuler ces derniers dans un atelier AltaRica. Comme il a été indiqué plus haut, le model- checking à la volée est sans doute la technologie la plus intéressante pour AltaRica. On pourra donc envisager de développer un prototype de model- checker à la volée en s appuyant sur les travaux déjà réalisés par A. Rauzy pour AltaRica Data- Flow. L idée principale étant d utiliser des automates à compteurs pour coder les propriétés plutôt que des formules de logique temporelle (type CTL ou LTL [CGP00]). Cette première phase devrait durer de 12 à 18 mois. Dans une deuxième phase et en fonction des résultats de la première phase, le doctorant pourra s attaquer à la partie scientifiquement originale de la thèse, à savoir utiliser la simulation stochastique comme brique logicielle élémentaire d un model- checker probabiliste. Compétences du Laboratoire La thèse sera co- encadrée par : Antoine RAUZY : Professeur à l Ecole Centrale de Paris (directeur de la chaire Blériot- Fabre). Antoine Rauzy est un spécialiste mondialement reconnu sur les fondements mathématiques et algorithmiques de la sûreté de fonctionnement. Il a publié des dizaines d articles qui font référence dans le domaine. Il est le créateur du langage AltaRica. Il a développé les moteurs de calcul utilisés dans les ateliers industriels 5
Cecilia OCAS, SimFia et Safety Designer (notamment Aralia). Il a dirigé pendant plusieurs années le département R&D d ingénierie système de Dassault Système et a été responsable de nombreux partenariats industriels. Michel Batteux : Titulaire d'un master de Logique Mathématique et Fondements de l'informatique de l université Paris 7, Michel BATTEUX a ensuite réalisé une thèse CIFRE, en partenariat entre l'entreprise Sherpa Engineering et le Laboratoire de Recherche en Informatique de l'université Paris- sud 11, sur des problématiques de diagnostic en ligne de systèmes automatiques. Suite à cette thèse, il a effectué un post- doctorat au sein du Laboratoire d'informatique de l'école Polytechnique, puis a été embauché en tant que chercheur contractuel. Après un passage par Thalès, il a pris la responsabilité du projet Open AltaRica au sein de l IRT SystemX. Il travaille sur la simulation stochastique de modèles AltaRica 3.0. Référence Bibliographiques [CGP00] E.M. Clarke, O. Grumberg, and D.A. Peled. Model Checking. MIT Press, Feb. 2000. ISBN- 10: 0262032708, ISBN- 13: 978-0262032704. [Fri04] P. Fritzson. Principles of Object- Oriented Modeling and Simulation with Modelica 2.1. ISBN: 978-0- 471-47163- 9. Wiley- IEEE Press. 2004. [HW02] A. Hatchuel and B. Weil. La théorie C- K : Fondements et usages d une théorie unifiée de la conception. In Actes du Colloque «Sciences de la conception». Lyon 15-16 mars 2002. [Hol03] G.J. Holzmann. The Spin Model Checker Primer and Reference Manual, Addison- Wesley, 2003. ISBN 0-321- 22862-6. [KNP07] M. Kwiatkowska, G. Norman and D. Parker. Stochastic Model Checking. In M. Bernardo and J. Hillston (editors) Formal Methods for the Design of Computer, Communication and Software Systems: Performance Evaluation (SFM'07), volume 4486 of Lecture Notes in Computer Science (Tutorial Volume), pages 220-270, Springer. June 2007. [Lak90] G. Lakoff. Women, Fire, and Dangerous Things: What Categories Reveal About the Mind. University of Chicago Press. April, 1990. ISBN- 10: 0226468046. ISBN- 13: 978-0226468044 [McM93] K. McMillan. Symbolic Model Checking. Kluwer Academic Publisher, 1993. ISBN 0-7923- 9380-5. [NTM99] J. Noble, A.Taivalsaari, and I. Moore. Prototype- Based Programming: Concepts, Languages and Applications. Springer- Verlag Berlin and Heidelberg GmbH & Co. K. May, 1999. ISBN- 10: 9814021253. ISBN- 13: 978-9814021258 [Rau08] A. Rauzy, Guarded Transition Systems: a new States/Events Formalism for Reliability Studies, Journal of Risk and Reliability, Professional Engineering Publishing, Vol. 222, Num. 4, pp 495-505, 2008 [SBT96] T. Shiple, G. Berry, and H. Touati. Constructive Analysis of Cyclic Circuits. Proc. International Design and Testing Conference IDTC'96, Paris, France, 1996. 6