Tolérance aux fautes adaptative

L’adaptation dynamique des mécanismes de tolérance aux fautes est un moyen d'assurer la persistence de la sûreté de fonctionnement face à des changements dans le système ou son environnement.


Deux grandes classes de travaux ont été principalement effectuées dans la période de référence :

  • Une étude théorique sur la définition de mesures de la résilience des systèmes prenant en compte l’impact des mises à jour sur les hypothèses des mécanismes de tolérance aux fautes.
  • Une étude conceptuelle et expérimentale pour mettre en œuvre l’adaptation dynamique des mécanismes de tolérance aux fautes dans le domaine de l’automobile, dans le contexte d’AUTOSAR, mais aussi du système d’exploitation ROS utilisé dans la robotique et dans l’automobile.


Lorsqu’un changement survient, il est nécessaire d’étudier l’impact de ce changement sur les hypothèses et sur la confiance que nous avons en ces hypothèses. Nous avons analysé la cohérence entre le modèle de faute, les caractéristiques applicatives et le mécanisme associé. Pour un ensemble de mécanismes, on peut déterminer ceux qui satisfont les hypothèses (modèle de faute, caractéristiques applicatives). On peut donc en tirer une première mesure de la résilience du système, c’est-à-dire de sa capacité à satisfaire les propriétés de sûreté en dépit d’un changement d’hypothèse. D’autres mesures apparentées aux mesures de la sûreté de fonctionnement classique (fiabilité, disponibilité) ont été définies pour des systèmes qui évoluent au cours du temps. Cette analyse de la résilience est extensible à différentes caractéristiques applicatives, modèles de fautes, mécanismes de sûreté (Thèse de W. Excoffon)[1].

La tolérance aux fautes adaptative impose une capacité de modification en ligne des composants logiciels qui forment les mécanismes de sûreté, comme l’ont montré nos travaux précédents sur ce sujet. Deux questions se posent alors dans le contexte précis de l’Automobile :

  1. rechercher les espaces et les techniques d’adaptation sur les supports d’exécution existants, comme AUTOSAR ;
  2. étudier des supports d’exécution plus flexibles permettant la mise en œuvre de mécanismes adaptables, comme ROS (Robot Operating System).


L’un des inconvénients majeurs de l’architecture AUTOSAR est son manque de flexibilité. Cependant, nous avons pu montrer qu’il est possible de faire des mises à jour partielles sûres de fonctionnement sur des systèmes embarqués critiques dans cette architecture. Ces mises à jour sont possibles sans perturber le processus de développement propre au standard et avec des modifications minimales. Leur mise en œuvre passe par la préparation de l’application et la vérification de propriétés temps-réel. Nous combinons plusieurs points de vue sur l’application pour allouer de la place aux mises à jour et vérifier que les contraintes temps-réel sont respectées (Thèse de H. Martorell[2]). La rigidité de cette architecture logicielle a d’ailleurs conduit le consortium à développer une autre plateforme logicielle, Adaptive AUTOSAR, offrant plus de souplesse.

Si l’on souhaite offrir une plus grande adaptabilité en ligne, alors un autre support d’exécution est nécessaire. Parmi les supports d’exécution sur étagère, ROS est un candidat attractif. ROS est actuellement utilisé dans de nombreuses applications (en robotique ou dans l’automobile par exemple dans les systèmes avancés d'assistance au conducteur ADAS ou dans des applications militaires). Nous avons étudié comment la décomposition des mécanismes de tolérance aux fautes pouvait être mise en œuvre à l’aide des nœuds ROS (node) et connectés par des canaux de communication (topics).
Nous avons identifié un modèle générique de conception (design pattern) pour la mise en œuvre adaptative des mécanismes de tolérance aux fautes: protocol-before-proceed-after.
Ce modèle permet de mettre en œuvre tout mécanisme de tolérance aux fautes par réplication et d’en composer plusieurs, de façon transparente aux applications.
Un autre design pattern a été défini, en s’appuyant sur un «ordonnanceur » de briques de base permettant de construire et d’adapter les mécanismes de tolérance aux fautes à un niveau de granularité très fin. Cette approche est performante du point de vue de l’AFT.
Les fonctionnalités de ROS ne sont pas entièrement satisfaisantes pour la mise en œuvre de la tolérance aux fautes adaptative, car elles ne fournissent pas de liaison dynamique entre les nœuds. Cependant, bien qu’il soit imparfait, ROS permet de réaliser un système résilient basé sur l’AFT. Enfin, des travaux récents ont étudié la mise en œuvre des principes de l’AFT sur Adaptive AUTOSAR (Thèse de M. Amy[3]).
Nos travaux sur la résilience des systèmes en général et l’AFT en particulier ont été partiellement mis à profit lors de l’étude de nouveaux cockpits numériques en collaboration avec AIRBUS (Thèse de C. Fayollas[4]).
Enfin, ces travaux sur le plan architectural et sur l’ingénierie des systèmes résilients ont été complétés dans le domaine de l’automobile par une approche de validation par injection de faute suivant toutes les phases du cycle de développement, recommandée par le standard ISO 26262 (thèse de L. Pintard[5])

Fig2




[1] Excoffon W., Fabre J.-C., Lauer M., "Analysis of Adaptive Fault Tolerance For Resilient Computing", European Dependable Computing Conference, EDCC 2017, Geneva, Switzerland, 2017

[2] Martorell H., Fabre J.-C. , Lauer M., Roy M., Valentin R., "Partial Updates of AUTOSAR Embedded Applications: To What Extent?", in Proc of the European Dependable Computing Conference (EDCC 2015), Paris, 2015

[3] Lauer M., Amy M., Fabre J.-C.,  Roy M., Excoffon W., Stoicescu M., "Resilient Computing On ROS Using Adaptive Fault Tolerance", Journal Of Software: Evolution And Process., Wiley Eds, JSME (vol 30, issue 3), 2018

[4] Fayollas C., Fabre J.-C. , Palanque P., Cronel M., Navarre D., Deleris Y., "A Software-Implemented Fault-Tolerance Approach for Control and Display Systems in Avionics", in Proc of the IEEE Int. Pacific Rim Dependable Computing conference (PRDC2014), Singapore, 2014

[5] Pintard L., Leeman M., Ymlhai-Ouazzani A., Fabre J-.C., Kanoun K., "Using Fault Injection to Verify AUTOSAR applications according to ISO26262", in SAE World Congress & Exhibition (SAE 2015), Detroit, 2015