Sur la validation des systèmes tolérant les fautes : injection de fautes dans des modèles de simulation VHDL

Les travaux theoriques et pratiques exposes dans ce memoire introduisent et justifient le choix du langage de modelisation vhdl dans l'objectif de l'integration de la validation par injection de fautes au developpement des systemes surs de fonctionnement. Ce memoire presente tout d'abord une synthese critique des travaux anterieurs portant sur l'injection de fautes en insistant plus particulierement sur les aspects lies aux concepts de modelisation et d'abstraction. On montre ensuite l'interet de la simulation tant du point de vue de la mise en uvre de l'injection de fautes que de l'integration de la validation des proprietes de surete de fonctionnement au processus de conception. Apres avoir justifie le choix de la simulation a evenements discrets, on propose une formalisation de certaines techniques d'injection selon ce principe ; puis, sachant que le choix d'une technique depend non seulement de sa capacite theorique a resoudre un probleme mais aussi et surtout de sa capacite a etre mise en uvre, on traite le probleme de l'optimisation d'une simulation dans le contexte de l'injection de fautes et on decrit un ensemble de methodes de simulation multiniveau (statiques et dynamiques) destinees a favoriser la realisation de cet objectif. Dans ce contexte, on montre que le langage vhdl offre un ensemble de proprietes (puissance d'expression, normalite, modularite, etc. ) favorables a son utilisation pour la validation. Apres avoir introduit les principales caracteristiques de ce langage, differentes solutions de mise en uvre des techniques d'injection sont elaborees (injection directe et indirecte ; usage des fonctions de resolution, des configurations, etc. ). On souligne cependant certaines limitations inherentes au langage et on presente des extensions qui permettent de les contourner. Ces techniques d'injection de fautes sont concretisees par leur integration dans un outil, mefisto, dont on decrit la structure, les fonctionnalites et le mode de fonctionnement. Enfin, cet outil est applique a un modele de processeur afin de comparer deux techniques d'injection particulieres parmi celles proposees: injection directe sur les signaux et injection directe sur les variables. Ce contexte experimental est employe pour illustrer les methodes de simulation multiniveau, pour proceder a la mise en uvre des techniques d'injection en vhdl que l'on a identifiees et pour valider les principes qui sous-tendent l'outil mefisto