Aspects quantitatifs et probabilistes pour des modèles à
Transcription
Aspects quantitatifs et probabilistes pour des modèles à
L ABORATOIRE D ’I NFORMATIQUE DE N ANTES -ATLANTIQUE UMR 6241 É COLE DOCTORALE STIM, N . 503 « Sciences et technologies de l’information et des mathématiques » Sujet de thèse pour 2014 Aspects quantitatifs et probabilistes pour des modèles à événements discrets Application au B événementiel Directeur de thèse N OM, Prénom : JARD, Claude Équipe d’accueil : AELOS Unité de recherche : LINA (UMR 6241) Unité de rattachement : UFR ST, Univ. Nantes Courriel : claude.jard (at) univ-nantes.fr Taux d’encadrement : 40 % Nombre de thèses en cours : 2 Co-encadrant N OM, Prénom : D ELAHAYE, Benoît Équipe d’accueil : AELOS Unité de recherche : LINA (UMR 6241) Unité de rattachement : UFR ST, Univ. Nantes Courriel : benoit.delahaye (at) univ-nantes.fr Taux d’encadrement : 30 % Co-encadrant N OM, Prénom : L ANOIX, Arnaud Équipe d’accueil : AELOS Unité de recherche : LINA (UMR 6241) Unité de rattachement : IUT, Univ- Nantes Courriel : arnaud.lanoix (at) univ-nantes.fr Taux d’encadrement : 30 % Financement prévu : MESR, CNRS-Région Sujet de thèse pour 2014 Aspects quantitatifs et probabilistes pour des modèles à événements discrets Application au B événementiel Résumé. Les méthodes de modélisation et de vérification formelles basées sur des modèles à évènements discrets – par exemple Event-B – ne permettent pas, à ce jour, de prendre en compte l’ensemble des aspects quantitatifs des systèmes réels. En particulier, la prise en compte des probabilités dans ces systèmes est une difficulté qui n’a pas été résolue dans l’état de l’art. En revanche, le domaine de la vérification a été très actif sur ces problématiques ces dernières années. Il conviendra donc de faire le pont entre ces deux domaines. La difficulté principale résidera en particulier dans le développement de méthodes quantitatives et probabilistes dédiées à Event-B, un langage de modélisation formelle à évènements discrets ; il s’agira principalement d’adapter la sémantique et les obligations de preuves associées pour prendre en compte les probabilités. Mots clés. Modélisation, Event-B, Probabilités, Méthodes Formelles, Propriétés quantitatives Ph. D. Proposal for 2014 Quantitative and probabilistic aspects for discrete events models Application to Event-B Abstract. From the best of our knowledge, modelisation and formal verification methods based on discrete events model – like Event-B – are not capable of handling the complete spectrum of quantitative aspects from real-life systems. While dealing with probabilistic behavior in such systems is one of the major difficulties still unresolved in the litterature, other domains like verification have been very active on this topic in the past few years. As a consequence, one of the potential ways of attacking this problem would be to work on a bridge between discrete event modeling and classical verification techniques. The main difficulty will be in developing quantitative and probabilistic methods dedicated to Event-B – a formal language based on discrete events. Thus, instead of just translating problems from one domain to another, the main goal will be to adapt the semantics and associated proof obligations of Event-B to take into account probabilities by using the knowledge and expertise from the verification domain. Keywords. Modelisation, Event-B, Probablities, Formal methods, Quantitative properties 2 Introduction Contexte et problématique Le développement et l’étude de systèmes matériels comme logiciels passent aujourd’hui toujours par une phase de modélisation et de vérification. Autant que possible, on essaie de travailler sur des modèles formels que l’on peut vérifier de manière exacte. De plus, dès que l’on considère des systèmes réels (qu’ils soient matériels, logiciels ou encore naturels), il est souvent nécéssaire de prendre en compte des aspects quantitatifs tels que le temps, les ressources énergétiques, les incertitudes comportementales, la qualité des matériels, etc. Il devient dès lors impossible de modéliser de tels systèmes de manière exacte et discrétisée. Une solution est d’utiliser la théorie des probabilités pour abstraire les aspects “incertains” de ces systèmes : les incertitudes sont modélisées par des distributions de probabilité, et on parle alors de modèles stochastiques. Plutôt que de vérifier des propriétés exactes de manière binaire, on s’intéresse alors à la vérification formelle de propriétés quantitatives. Cela permet entre autres de considérer des propriétés telles que la fiabilité ou la disponibilité des systèmes. Parmi les outils ayant fait le succès des méthodes de modélisation et de vérification formelles, on trouve notamment la méthode B. La méthode B a été développée dans le but de modéliser et de raisonner sur des systèmes séquentiels [Abr96]. Event-B est une évolution plutôt dédiée à la modélisation et à la vérification de systèmes distribués réactifs [Abr10]. B / Event-B a été largement utilisé pour valider de nombreux cas d’études industriels [LS07, BY08, Lan08, DB09, FRB11]. Les propriétés vérifiées sont principalement des propriétés de sûreté (invariant et absence de blocage). La sémantique d’un modèle B est définie par un ensemble d’obligations de preuve, permettant d’assurer qu’un modèle est correct par construction : il s’agit principalement de démontrer que le déroulement d’un événement préserve un certain invariant. Un développement B événementiel s’effectue via un processus de raffinement, consistant à prendre en compte étapes par étapes tous les détails du modèle : chaque raffinement successif doit préserver le comportement du modèle précédent. Les avantages de Event-B sont i) un langage formel de modélisation de haut niveau bien défini et bien adapté à l’échelle industrielle, ii) un processus de développement par raffinement largement documenté [Abr10, CM08], et iii) Rodin, un ensemble d’outils pour la spécification et la vérification de modèles B [ABH+ 10, Rod]. Il s’agit d’une plateforme de développement basée sur Eclipse qui embarque entre autre des outils de preuve (automatique et interactive) permettant de décharger les obligations de preuves assurant la cohérence d’un modèle B et le raffinement. La plateforme Rodin est extensible et adaptable par le développement de plugins spécifiques [HFA13]. Problèmes et opportunités A l’heure actuelle, on ne sait pas encore bien prendre en compte tous les aspects quantitatifs/probabilistes dans une modélisation B évenementiel. Dans [HH07, YH10] le choix non-déterministe de B est remplacé par un simple choix probabiliste plus équitable, et 3 l’axiomatique des obligations de preuve est modifiée en conséquence. Il est montré qu’un modèle B avec choix probabiliste est un raffinement correct du même modèle, non-déterministe. Dans [TTL10, TTL11], il est simplement proposé d’exprimer des probabilités aux niveaux des événements ; ces probabilités servent ensuite uniquement à déduire une probabilité globale d’assurer une certaine propriété d’invariance. D’un autre côté, le développement de méthodes probabilistes dans le domaine de la vérification est en plein essor. Il existe de nombreuses méthodes permettant de modéliser des systèmes avec des aspects quantitatifs et probabilistes ; elles sont aussi bien basées sur les algèbres de processus [And99, LN04] que sur des systèmes de transition [dA97, CDL+ 11]. Il existe également de nombreux outils permettant de vérifier de tels systèmes [BDL+ 11, KNP04]. Des travaux récents mettent en avant une modélisation à base de contrats hypothèse/garantie embarquant des aspects probabilistes et quantitatifs [DCL11, KNPQ10]. L’exploitation des avancées récentes dans le cadre des méthodes probabilistes pour complèter Event-B pourrait accroitre considérablement le pouvoir expressif de B et les possibilités des outils de vérification, en permettant d’intégrer des aspects quantitatifs au sein du processus de développement B. Travail demandé Objectifs Le défi est d’établir un pont entre les deux domaines (modèles B événementiels et discrets vs. modèles stochastiques probabilistes). Si des similarités évidentes existent entre ces deux mondes, le projet de recherche présenté ici ne consiste pas en un transfert direct d’un problème de modélisation B vers des outils et méthodes classiques du monde probabiliste mais plutôt en l’étude d’une nouvelle sémantique quantitative et probabiliste pour Event-B. Il s’agira donc en pratique de développer et d’étudier de nouvelles obligations de preuves dédiées à l’expression et à la vérification des aspects quantitatifs et probabilistes des systèmes. Une fois ces obligations développées, elles seront intégrées à la sémantique de B et l’on pourra s’intéresser à l’expression de propriétés quantitatives et à leur validation sur des modèles B combinant des aspects discrets et des aspects probabilites. Plan de travail prévisionnel de l’étude • Etat de l’art à propos de l’expression et de la vérification – en particulier par des démarches de preuve – de propriétés probabilistes ; • Intégration de l’expression de probabilités dans le langage Event-B (au niveau des gardes des événements ? au niveau des substitutions constituant ces événements ?) 4 et définition de nouvelles obligations de preuve pour valider la cohérence de ces nouvelles expressions ; • Expression de propriétés quantitatives en B événementiel et leur vérification ; • Définition d’un processus de développement intégrant par raffinement les aspects probabilistes au sein d’un modèle Event-B ; En parallèle de ces aspects théoriques, on s’attachera au développement d’un plugin pour la plateforme Rodin permettant d’outiller la démarche. Des exprimentations grandeur nature pourront être réalisées sur la plateforme expérimentale de démonstration (un jeu de « tennis » entre deux mini-robots) mise en place par l’équipe STR à l’IRCCyN dans le cadre du projet AFSEC-PDL. Candidats Compétences Les candidats doivent avoir une bonne maîtrise du domaine des méthodes formelles ainsi que des compétences et un goût prononcé pour les mathématiques et en particulier la théorie des probabilités. 5 Bibliographie [ABH+ 10] Jean-Raymond Abrial, Michael Butler, Stefan Hallerstede, Thai Son Hoang, Farhad Mehta, and Laurent Voisin. Rodin : an open toolset for modelling and reasoning in Event-B. STTT, 12(6) :447–466, 2010. [Abr96] J.-R. Abrial. The B Book. Cambridge University Press, 1996. [Abr10] Jean-Raymond Abrial. Modeling in Event-B : System and Software Engineering. Cambridge University Press, New York, NY, USA, 1st edition, 2010. [And99] Suzana Andova. Process algebra with probabilistic choice. In Proc. 5th International AMAST Workshop on Formal Methods for Real-Time and Probabilistic Systems (ARTS), Bamberg, Germany, volume 1601 of Lecture Notes in Computer Science, pages 111–129. Springer, 1999. [BDL+ 11] Gerd Behrmann, Alexandre David, Kim G. Larsen, Paul Pettersson, and Wang Yi. Developing UPPAAL over 15 years. Software : Practice and Experience, 41(2) :133–142, February 2011. [BY08] Michael Butler and Divakar Yadav. An incremental development of the mondex system in event-b. Formal Asp. Comput., 20(1) :61–77, 2008. [CDL+ 11] Benoît Caillaud, Benoît Delahaye, Kim G. Larsen, Axel Legay, Mikkel L. Pedersen, and Andrzej Wasowski. Constraint markov chains. Theor. Comput. Sci., 412(34) :4373–4404, 2011. [CM08] Dominique Cansell and Dominique Méry. The Event-B Modelling Method Concepts and Case Studies. In Logics of Specification Languages, Monographs in Theoretical Computer Science, pages 33–140. Springer, February 2008. [dA97] L. de Alfaro. Formal Verification of Probabilistic Systems. PhD thesis, Stanford University, 1997. [DB09] Kriangsak Damchoom and Michael J. Butler. Applying Event and Machine Decomposition to a Flash-Based Filestore in Event-B. In SBMF, pages 134– 152, 2009. 6 [DCL11] Benoît Delahaye, Benoît Caillaud, and Axel Legay. Probabilistic contracts : a compositional reasoning methodology for the design of systems with stochastic and/or non-deterministic aspects. Formal Methods in System Design, 38(1) :1–32, 2011. [FRB11] Asieh Salehi Fathabadi, Abdolbaghi Rezazadeh, and Michael Butler. Applying Atomicity and Model Decomposition to a Space Craft System in Event-B. In NASA Formal Methods, pages 328–342, 2011. [HFA13] Thai Son Hoang, Andreas Fürst, and Jean-Raymond Abrial. Event-b patterns and their tool support. Softw. Syst. Model., 12(2) :229–244, May 2013. [HH07] Stefan Hallerstede and Thai Son Hoang. Qualitative probabilistic modelling in event-b. In Proceedings of the 6th International Conference on Integrated Formal Methods, IFM’07, pages 293–312, Berlin, Heidelberg, 2007. SpringerVerlag. [KNP04] M. Z. Kwiatkowska, G. Norman, and D. Parker. Prism 2.0 : A tool for probabilistic model checking. In Proc. 1st International Conference on Quantitative Evaluation of Systems (QEST), Enschede, The Netherlands, pages 322–323. IEEE, 2004. [KNPQ10] Marta Z. Kwiatkowska, Gethin Norman, David Parker, and Hongyang Qu. Assume-guarantee verification for probabilistic systems. In TACAS, volume 6015 of Lecture Notes in Computer Science, pages 23–37. Springer, 2010. [Lan08] Arnaud Lanoix. Event-B Specification of a Situated Multi-Agent System : Study of a Platoon of Vehicles. In 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering (TASE 2008), page 8 pages, France, June 2008. [LN04] Natalia López and Manuel Núñez. An overview of probabilistic process algebras and their equivalences. In Validation of Stochastic Systems - A Guide to Current Research, volume 2925 of Lecture Notes in Computer Science, pages 89–123. Springer, 2004. [LS07] Thierry Lecomte and Thierry Servat. Formal methods in safety-critical railway systems. In 10th Brasilian Symposium on Formal Methods, 2007. [Rod] RODIN : Event-B Platform. available online at http ://www.event-b.org/. [TTL10] Anton Tarasyuk, Elena Troubitsyna, and Linas Laibinis. Towards probabilistic modelling in event-b. In Proceedings of the 8th International Conference on Integrated Formal Methods, IFM’10, pages 275–289, Berlin, Heidelberg, 2010. Springer-Verlag. 7 [TTL11] Anton Tarasyuk, Elena Troubitsyna, and Linas Laibinis. Quantitative verification of system safety in event-b. In Proceedings of the Third International Conference on Software Engineering for Resilient Systems, SERENE’11, pages 24–39, Berlin, Heidelberg, 2011. Springer-Verlag. [YH10] Emre Yilmaz and Thai Son Hoang. Development of rabin’s choice coordination algorithm in event-b. ECEASST, 35, 2010. CV du directeur de thèse C LAUDE JARD est professeur de classe exceptionnelle à l’Université de Nantes depuis 2012. Il est directeur de la fédération CNRS AtlanSTIC. Il était auparavant professeur à l’ENS Cachan et directeur de la recherche de son antenne de Bretagne. Son domaine de recherche concerne la modélisation formelle des comportements des systèmes répartis. Il a contribué aux questions de spécification, vérification, test et supervision de ces systèmes. Il est particulièrement actif ces dernières années sur les questions liées au temps et à la causalité dans le cadre des systèmes ouverts. C LAUDE JARD est auteur de plus de 150 publications. CV du co-encadrant B ENOÎT D ELAHAYE est Maître de conférence à l’Université de Nantes depuis Septembre 2013. Il exerce ses activités de recherche au LINA dans l’équipe AeLoS. Ses thématiques de recherche sont centrées sur le développement de méthodes pour la vérification et la spécification de systèmes quantitatifs et en particulier probabilistes. Ses travaux portent aussi bien sur la partie théorique du problème, i.e. le développement de méthodologies pour la modélisation et la vérification exacte de systèmes quantitatifs, que sur la partie pratique du problème, i.e. de développement d’algorithmes et d’outils, notamment statistiques, utilisables en pratique. B ENOÎT D ELAHAYE est auteur de plus de 20 publications. CV du co-encadrant A RNAUD L ANOIX est Maître de conférence à l’Université de Nantes (IUT) depuis Septembre 2008 et chargé de mission Licence Pro SIL depuis septembre 2013. Il exerce ses activités de recherches au LINA dans l’équipe AeLoS. Ses thématiques de recherches sont centrées sur l’utilisation des méthodes formelles pour la validation des systèmes et des logiciels, en particulier l’adaptation de processus de construction comme le raffinement aux problématiques liées à l’assemblage de composants hétérogènes. Ses derniers travaux portent sur des problématiques liées à la formalisation et à la vérification des opérations de reconfigurations dynamiques d’une architecture à base de composants ou services. A RNAUD L ANOIX est auteur de plus de trente publications. 8