ALIDECS

Langages et Atelier Intégré pour le Développement
de Composants Embarqués Sûrs


Ce projet est une ACI "Sécurité & Informatique"

 









 

Mise en uvre de la tolérance aux fautes par des transformations automatiques de programmes

Mise en \oeuvre de la tolérance aux fautes par des transformations automatiques de programmes

Nous avons proposé une approche formelle pour rendre automatiquement tolérant aux fautes un système initialement non tolérant aux fautes. Le système initial est constitué d'un ensemble de tâches périodiques indépendantes, ordonnancées sur un ensemble de processeurs à silence sur défaillance connectés par un réseau de communication parfaitement fiable. Notre but est que, en supposant la présence d'un processeur supplémentaire, le système final tolère une faute à la fois d'un processeur (permanente ou non). La détection des fautes est réalisée grâce à du « heartbeating » périodique, et le masquage par des points de reprise périodiques (« checkpointing & rollback »). Le principe de notre méthode est de transformer le code exécuté par chaque tâche pour qu'il mette en \oeuvre ces techniques. Chaque transformation est formellement représentée par des règles de transformation. Cette approche formelle illustre l'intérêt de la séparation des préoccupations et nous a permis de démontrer formellement que le système final tolère une faute tout en continuant à satisfaire des contraintes de temps d'exécution maximal [3].

En prenant cette approche comme point de départ, nous travaillons actuellement à la définition d'un langage d'aspects permettant de tisser différentes techniques de tolérance aux fautes dans des programmes temps-réel.

Pascal Raymond 2006-11-16