Caractérisation des systèmes autoguérissants : diagnostiquer ce que l'on va réparer
Résumé
Les systèmes complexes basés sur des architectures informatiques se doivent d~être capables ~d~autoguérison~, c~est-à-dire capables, sans intervention extérieure, de détecter, diagnostiquer et réparer les effets de l~occurrence de fautes, pour continuer à assurer leurs fonctionnalités. Les concepteurs de tels systèmes ont besoin d~outils permettant de vérifier avant leur mise en oeuvre opérationnelle qu~ils sont bien ~autoguérissants~. Mais auparavant, il est nécessaire de définir précisément et formellement ce qu~autoguérison signifie. La diagnosticabilité, qui est la capacité d~un système à déterminer l~état fautif dans lequel il se trouve à partir des observations dont il dispose, est une propriété bien connue, mais qui néglige les capacités de réparation de ces fautes. La réparabilité au contraire, vue comme la capacité d~un système à disposer de plans de réparation adaptés aux fautes, ne prend pas en compte les capacités de diagnostic. Notre article établit le lien entre ces deux propriétés, définissant la capacité d~autoguérison comme une combinaison de la diagnosticabilité, dont il nous a fallu étendre la définition classique, et de la réparabilité, dont nous proposons une première définition formelle. Nous suggérons à partir de là un algorithme de vérification pratique et des stratégies pour aider les concepteurs à rendre leur système autoguérissant.