L`offre de thèse
Transcription
L`offre de thèse
Sujet de Thèse Titre du sujet : Analyse de données de simulation pour le diagnostic : Application à la validation formelle de modèles de systèmes Encadrement : • • Directeur de thèse : Philippe DHAUSSY, équipe Lab-STICC / MOCS, ENSTA Bretagne, 2 rue François Verny, BREST (France), 29806, Cedex 9, [email protected] Co-directeur de thèse : Vincent Ribaud, équipe Lab-STICC / MOCS, Université de Bretagne Occidentale, [email protected] Contexte de travail Dans le contexte de l’ingénierie des systèmes, que ce soit de grands systèmes, civils et militaires, ou des systèmes embarqués, les simulations jouent un rôle déterminant dans les processus de décision. En effet la complexité des activités techniques que conduisent les architectes à tous les niveaux (analyse fonctionnelle, architecture des opérations d’ensemble ou des programmes, architecture des démonstrateurs, …) nécessite d’être supportée par des simulations adaptées. Les simulations peuvent intervenir à plusieurs niveaux et nécessitent une gestion intelligente des données fournies, en très grand nombre, par le simulateur. Leur mise en forme est indispensable pour être compréhensibles par l’utilisateur. Celle-ci peut prendre différents formats, textuels ou graphiques, et doit faire apparaître les relations et les interactions entre objets mis en œuvre dans le système. Ces simulations sont parfois étendues pour rechercher des exécutions exhaustives de parties de modèles de simulation, au regard de scénarios adéquats. Ceci permet de focaliser les analyses sur le fonctionnement d’un composant spécifique du système sur lequel l’utilisateur veut porter son attention. Dans ce cas, ce type de simulation permet d’effectuer des analyses formelles offertes aujourd’hui par des outils de vérification (ou model-checking). Lors de la mise en œuvre de techniques de simulation ou validation formelle de modèles logiciels par model-checking, le problème de l’interprétation de données de retour de preuve se pose dès que les modèles sont de taille importante. La compréhension par l’utilisateur de la cause de falsification d’une exigence (propriété) implique une interprétation des données ou contre exemples fournies par le simulateur ou le vérificateur. Cette interprétation est souvent difficile car les données de retour de simulation fournies sous la forme de séquences de transitions sont de taille importante. De plus, elles contiennent des informations d’un niveau sémantique, très détaillé, qui ne correspond pas toujours au niveau d’abstraction dans lequel l’utilisateur a conçu son modèle. Concepts et principes L’objectif visé de cette thèse est l’étude et l’expérimentation de concepts qui contribuent à améliorer l’aide à la construction des diagnostics durant les activités de simulation et de vérification formelle de propriétés. Les aides que nous souhaitons construire sont basées sur une technique de génération, à la demande, d’interpréteurs des données fournies par le vérificateur. L’idée sous jacente est de construire un ensemble de données, compréhensible pour l’utilisateur pour lui faciliter un diagnostic. Ces données peuvent être construites à partir d’une interprétation des traces fournies lors de la simulation et d’une mise en relation des données contenues dans le modèle à valider, contenues dans le contexte (ou les scénarios) identifié pour la vérification, contenues dans les propriétés. Enfin, le format de représentation des données (graphiques, textuelles) souhaité par l’utilisateur doit être pris en compte pour la génération de l’interpréteur. Une de nos récentes propositions est de décomposer le processus de diagnostic en 5 phases: formulation où le problème et les hypothèses à vérifier sont représentés selon le formalisme choisi; détection où les traces-témoins sont exhibées; réduction où les traces sont expurgées et réduites à leur représentation minimale; localisation où les éléments du modèle - suspicieux dans le cas d'une erreur sont repérés; compréhension où les problèmes identifiés doivent être reliés à leurs causes. Dans le cas où le problème est formulé par un modèle d'automates concurrents et où les hypothèses sont des propriétés d'accessibilité exprimées par des automates observateurs (approche retenue par notre équipe) la violation d'une propriété d'accessibilité fournit un contre-exemple: une trace dans le système de transition qui est l'un des chemins possibles conduisant à la situation erronée. Dans un récent survey [Ribaud et al., 2014] sur le diagnostic à partir de traces, nous avons étudié les différentes techniques qui peuvent être utiles pour une ou plusieurs phases de diagnostic et groupé ces techniques selon une proximité d'usage : techniques permettant de déterminer les causes d'erreur, techniques permettant de mieux comprendre le système, techniques relatives à la simulation, l'observation et la manipulation du modèle. Nous avons identifié au moins 3 difficultés majeures dans l'aide au diagnostic basé sur des traces: fossé ou décalage sémantique (semantic gap) entre les langages de spécification de l'utilisateur et la représentation des traces; interprétation multi-niveaux due aux différents niveaux de détail d'où les traces sont construites et aux différents points de vue desquels les traces sont analysées; traitement des traces de grande taille directement lié au problème de l'explosion de l'espace des états et à la taille des traces pouvant aller jusqu'à des millions de pas. Objectifs de la thèse L’approche systémique que nous appréhendons s'inspire d'une proposition de Marie-Madeleine VaretPietri concernant l'ingénierie des connaissances (Varet-Pietri, 2000), transposée dans le domaine de la validation de modèles. L'approche communément admise repose sur une hypothèse sémiotique : un système que l'on observe est un ensemble de phénomènes, d'éléments (concrets ou abstraits, tangibles ou intangibles) perçus par un observateur. Ces éléments sont désignés sous le terme général de signes, et le système observé est un système de signes. Dans cette optique sémiotique, on observe le système selon trois aspects: -syntaxique- la représentation du système: modèle, propriété, contexte d'utilisation (scénarios); -sémantique- la signification du modèle et de ses propriétés; -pragmatique- la relation entre le modèle, les propriétés et leurs utilisations. L'approche retenue par notre équipe, qui est de réifier les contextes (ou scénarios) d'utilisation, met l'accent sur la dimension pragmatique où la signification des éléments ne peut être comprise qu'en connaissant le contexte (cas d’utilisation) de leur emploi. Ces définitions - notamment l'aspect pragmatique - ont été utilisées avec succès pour améliorer les possibilités d'exploration et de simulation de l’outil OBP [Dhaussy et al., 2012]. Cette approche, de manière générale mais plus particulièrement pour le diagnostic, peut être renouvelée par l'intégration d'une approche systémique au sens de la théorie du système général [Le Moigne, 1994]. La définition d’un système, comme objet actif et stable et évoluant dans un environnement favorise la conception de modèles de phénomènes perçus par un observateur et aboutit à une trialectique d'observation de ce système : • la définition ontologique (ce que l'objet est) considère le système dans sa structure, comme ensemble d'objets agencés, comme "étant quelque chose"; • la définition fonctionnelle (ce que l'objet fait) considère le système dans sa fonction, comme agissant, comme "faisant quelque chose"; • la définition génétique ou historique (ce que l'objet devient) considère le système dans son évolution, comme se modifiant au cours du temps, comme "devenant quelque chose" Puisqu'un système est perçu à la fois comme un système de signes et un système général, et que chacun admet 3 points de vue, le produit des deux approches fournit 9 points de vue possibles. Nous proposons de croiser les deux approches pour l’appliquer au diagnostic. Application au diagnostic L'idée générale est de considérer chacun des aspects sémiotiques d'un diagnostic basé sur des traces issues d'un simulateur ou d’un model-checker et d'examiner chaque aspect selon le paradigme systémique. L’aspect syntaxique du diagnostic est le point de vue qui, à partir de la forme du modèle, des propriétés et des contextes, traite de la forme sous laquelle se traduit le diagnostic, et des codes que le diagnostic emploie pour prendre forme. On l'appellera la représentation avec ces trois composantes : ontologique (ce que l'objet est : quelles sont les données du diagnostic ?), fonctionnel (ce que l'objet fait : quels traitements opère-t-on sur ces données ?), historique (ce que l'objet devient : quelles sont les modifications qu'on apporte sur les données et les traitements ?). L’aspect sémantique du diagnostic est le point de vue qui, toujours à partir du sens du modèle, des propriétés et des contextes, traite du fond par rapport à la forme et de la structure que le diagnostic emploie pour prendre sens, on l'appellera la signification avec ces trois composantes : ontologique (ce que l'objet est : quelles sont les structures sémantiques du diagnostic ?), fonctionnel (ce que l'objet fait : quels sont les tâches du diagnostic ?), historique (ce que l'objet devient : quelle est l'histoire d'un diagnostic: son processus et ses produits ?) L’aspect pragmatique du diagnostic, c'est le point de vue qui, toujours à partir du modèle, des propriétés et des contextes, s'occupe du système et de l'environnement, que le diagnostic utilise pour mettre en contexte, on l'appellera la pratique avec ces trois composantes : ontologique (ce que l'objet est : quel est le domaine du diagnostic ?), fonctionnel (ce que l'objet fait : quels sont les activités du diagnostic ?), historique (ce que l'objet devient : quelle est l'évolution du diagnostic: sa mémoire, ses changements ?) Ce travail s’appuiera sur les formalismes de description des modèles (NAF, SysML, ..,), de cas d’utilisation et de scénarios, d’exigences et de contraintes temporelles. Pour une illustration des concepts, les outils de simulation DirecSim et Aston pourront être mis en œuvre, ainsi que les outils de vérification comme OBP (Observer-Based Prover) et le langage CDL (Context and Description Language) [http://www.obpcdl.org], développés au laboratoire Lab-STICC à l’ENSTA Bretagne. Références Vincent Ribaud, Ciprian Teodorov, Zoé Drey, Luka Le Roux and Philippe Dhaussy. Techniques and Challenges for Trace Processing from a Model-Checking. CISSE E-Conference, 12-14 december 2014. Dalal Alrajeh, Jeff Kramer, Alessandra Russo, and Sebastin Uchitel. 2009. Learning operational requirements from goal models. In Proceedings of the 31st International Conference on Software Engineering (ICSE '09). IEEE Computer Society, Washington, DC, USA, 265-275. Christel Baier and Joost-Pieter Katoen. 2008. Principles of Model Checking (Representation and Mind Series). The MIT Press. Edmund M. Clarke, E. Allen Emerson, and Joseph Sifakis. Model checking: algorithmic verification and debugging. Commun. ACM 52, 11 (November 2009), 74-84. Philippe Dhaussy, Jean-Charles Roger, and Frederic Boniol. 2011. Reducing State Explosion with Context Modeling for Model-Checking. In Proceedings of the 2011 IEEE 13th International Symposium on High-Assurance Systems Engineering (HASE '11). IEEE Computer Society, Washington, DC, USA, 130-137. Philippe Dhaussy, Frédéric Boniol, Jean-Charles Roger, and Luka Leroux. 2012. Improving model checking with context modelling. Adv. Soft. Eng. 2012, Article 9 (January 2012). Heather Goldsby, Betty H. C. Cheng, Sascha Konrad, and Stephane Kamdoum. 2006. A visualization framework for the modeling and formal analysis of high assurance systems. In Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems (MoDELS'06). Springer-Verlag, Berlin, Heidelberg, 707-721. Mounir Hemam and Zizette Boufaida. 2011. MVp-OWL: A Multi-Viewpoints Ontology Language for the Semantic Web. Int. Journal Reasoning-based Intelligent Systems (IJRIS). 3, 3/4, (November 2011), 147–155. Philippe Kruchten. Architectural blueprints –– The view model of software architecture. 1995. IEEE software. 6, 12 (November 1995), 42-50. Patricia Lago, Henry Muccini, and Hans van Vliet. 2009. A scoped approach to traceability management. J. Syst. Softw. 82, 1 (January 2009), 168-182. Jean-Louis Lemoigne. 1994. La théorie du système général - Théorie de la modélisation". Les classiques du Réseau Intelligence de la Complexité, www.mcwapc.org. Shahar Maoz and David Harel. 2011. On tracing reactive systems. Softw. Syst. Model. 10, 4 (October 2011), 447-468. Marie-Madeleine Varet-Pietri. 2000. L'ingénierie de la connaissance - La nouvelle "épistémologie appliquée". Presses Universitaires Franc-Comtoises. Stefan Winkler and Jens Pilgrim. 2010. A survey of traceability in requirements engineering and model-driven development. Softw. Syst. Model. 9, 4 (September 2010), 529-565.