Analyse de systèmes modulaires à l'aide de techniques d'abstractions hiérarchiques

Dans cette thèse, on s’intéresse au problème de l’explosion combinatoire du model-checking sur des systèmes modulaires. Les techniques d’abstractions hiérarchiques permettent de construire de manière incrémentale une abstraction d’un modèle en composant des abstractions de ses parties. Cette opérati...

Full description

Bibliographic Details
Main Author: Le Cornec, Yves-Stan
Other Authors: Université Paris-Saclay (ComUE)
Language:fr
Published: 2016
Subjects:
Online Access:http://www.theses.fr/2016SACLE019/document
Description
Summary:Dans cette thèse, on s’intéresse au problème de l’explosion combinatoire du model-checking sur des systèmes modulaires. Les techniques d’abstractions hiérarchiques permettent de construire de manière incrémentale une abstraction d’un modèle en composant des abstractions de ses parties. Cette opération doit en outre préserver les propriétés d’intérêt du modèle.Dans un premier temps, on définit le formalisme des réseaux de régulation modulaires, dans le but de pouvoir étudier des systèmes biologiques en utilisant de l’abstraction hiérarchique. On utilise ensuite cette méthode pour détecter les états stables accessibles depuis un état donné sur un modèle multicellulaire intervenant lors du développement embryonnaire de la drosophile. L’opération d’abstraction SAFETY utilisée préserve l’accessibilité de tous les états stable. C’est une réduction classique et générique dans le sens ou elle préserve également toutes les propriétés de sûreté d’un système. Dans un second temps, on suppose que l’on a connaissance de la formule globale (exprimée en μ-calcul) que l’on veut vérifier, ainsi que de l’état initial du module. On défini alors deux opérations de réduction différentes. Ces réductions ont pour seule contrainte de préserver la valeur global de la formule et il est donc possible d’obtenir des réductions plus importantes qu’avec les méthodes génériques (le but reste le même : réduire la taille d’un module ou d’un sous-système donné sans avoir connaissance du reste du système). Lors du calcul de cette réduction, on effectue de l’analyse partielle pour déterminer si le sous-système contient assez d’information pour connaître la valeur de vérité de la for-mule sur le système global. Si c’est le cas, on peut arrêter là l’analyse par abstraction hiérarchique ; sinon, cette étape est tout de même utile pour réduire le module.Enfin, on teste la première de ces réductions à l’aide d’un prototype sur quelques exemples simples. En plus de constater les coefficients de réduction obtenus, cela permet de fournir des données pour s’attaquer par la suite au problème du meilleur ordre d’analyse hiérarchique. C’est en effet un problème difficile et l’ordre d’analyse a une grande influence sur les performances de ces méthodes. === In this thesis, we are interested in limiting the combinatorial explosion that happens when model-checking modular systems. We use hierarchical abstraction techniques, which allow one to build an abstraction of a modular system by composing abstractions of his part, while ensuring that this abstraction does not change the temporal properties we are interested in. At first, we define the modular regulation networks formalism in or-der to apply hierarchical abstraction techniques to the study of biological systems. We then use this approach to find the reachable stable states of a multi-cellular model involved in the development of the fruit fly embryo. For this, we use the abstraction called SAFETY which reduces a system while keeping all of its reachable stable states. This is a classical reduction which is quite general in the sens that it also preserves all the safety properties of the model. After this, we define two new reduction operations, which are dependent on the μ-calculus formula we seek to verify on the global system. We also assume that we know the initial state of the module or sub-system to be reduced. Since these reductions must only preserve the value of one formula over the global system, they should be able to return smaller systems than the general ones. While computing these reductions on one module or sub-system, we use partial analysis techniques to test if it contains enough information to conclude about the truth value of the formula on the global system. If it is the case, we can stop the incremental analysis right away ; otherwise, this step is still useful for the computation of the reduced sub-system. Finally, we use a prototype to test the first one of our reduction operations on some simple examples. This enables us to observe how big the reductions are as well as getting data in order to tackle the problem of the order of analysis in the future. It is a difficult question and an important one since the hierarchical order in which we build the abstraction has a huge weight on the efficiency of these methods.