Causal explanations for reactive real-time systems
Explications causales pour les systèmes temps réel réactifs
Résumé
With the growing complexity of embedded systems, it is crucial to understand and localize sources of failures, for instance, to correct and improve the system.In this thesis, we are interested in counterfactual analysis, more precisely the problem of computing causal explanations.In order to do counterfactual analysis, one needs a model and to this end, we use discrete-time and dense-time models.The first contribution of the thesis is a formal definition of causal explanations on discrete event systems, that we call choice explanations, constructed from a discrete function, that we call level of choice. We propose a symbolic approach to effectively construct such explanations.With our approach there is no need to model the failures or faulty events, a semantic model and a safety specification are sufficient for explaining the failures.We define the semantics of a choice explanation as the set of explained traces, on which we define a set of expected properties. We prove that the choice explanations satisfy those properties.We have shown how to apply this approach to dense-time models, using strong time abstracting bisimulation.Regarding real-time systems, a major contribution of the thesis is a novel approach to construct causal explanations of failures from a quantitative function that we call robustness of choice, or robustness for short. This robustness function assigns a value to every state of the system that reflects the ability of the system to avoid failure. We formalize a set of requirements for robustness functions in view of explaining the failures of reactive real-time systems. Some of these requirements are inspired by the properties of the discrete level of choice and are stronger in a dense-time model. The remaining requirements in a dense-time model encode the concept of urgency. We have instantiated a concrete robustness function for timed automata that allows us to effectively compute causal explanations of the failures of real-time systems.
Avec la complexité croissante des systèmes embarqués, il est crucial de comprendre et de localiser les sources de défaillances, par exemple pour corriger et améliorer les systèmes. Dans cette thèse, nous nous intéressons à l'analyse contrefactuelle, plus précisément au problème du calcul des explications causales.Pour faire de l'analyse contrefactuelle, on a besoin d'un modèle et à cette fin, nous utilisons des modèles à temps discret et à temps dense.La première contribution de la thèse est une définition formelle des explications causales sur les systèmes d'événements discrets, que nous appelons explications de choix, construites à partir d'une fonction discrète, que nous appelons niveau de choix. Nous proposons une approche symbolique pour construire efficacement de telles explications. En outre, nous illustrons notre approche à l'aide de plusieurs exemples et d'une étude de cas.Nous définissons également une fonction sémantique associée à une explication de choix. Cette fonction sémantique renvoie l'ensemble des comportements expliqués par une explication de choix. Nous identifions un ensemble de propriétés entre une explication et la défaillance observée et nous prouvons que les explications de choix satisfont ces propriétés.La deuxième contribution est l'extension de la définition des explications de choix aux modèles à temps dense, basée sur le formalisme bien étudié des automates temporisés. L'approche est aussi illustrée par plusieurs exemples et une étude de cas.En ce qui concerne les systèmes temps réel, une contribution majeure de la thèse est une nouvelle approche pour construire des explications causales des défaillances à partir d'une fonction quantitative que nous appelons robustesse de choix ou robustesse tout court. Avec notre approche, il n'est pas nécessaire de modéliser les défaillances ou les événements de faute, un modèle sémantique et une spécification de sureté sont suffisants pour expliquer les défaillances. Cette fonction de robustesse attribue une valeur à chaque état du système qui reflète la capacité du système à éviter les défaillances. Nous formalisons un ensemble d'exigences pour les fonctions de robustesse en vue d'expliquer les défaillances d'un système cyber-physique. Certaines de ces exigences s'inspirent des propriétés du niveau de choix discret et sont plus fortes dans un modèle en temps dense. Les autres exigences supplémentaires dans un modèle à temps dense permettent de traduire le concept d'urgence dans l'explication. Une autre contribution importante est la définition d'une instance de fonction de robustesse qui peut être calculée pour les automates temporisés. Avec une telle instance de fonction de robustesse, nous pouvons en effet calculer des explications causales des défaillances des systèmes temps réel.
Domaines
Informatique [cs]Origine | Fichiers produits par l'(les) auteur(s) |
---|