Resilient systems for automobile: from a component-based approach to an object-based object-based approach to adaptive fault tolerance on ROS
Systèmes résilients pour l'automobile: d'une approche à composants à une approche à objets de la tolérance aux fautes adaptatives sur ROS
Résumé
Just like the cell phone evolving into a smartphone, the car has gradually become a smartcar. Driving aids, infotainment and vehicle customization are the key points of attractiveness to consumers. The emergence of connected cars has enabled manufacturers to remotely update on-board software, making it easier to maintain and add new features later on. In this context, the AUTOSAR consortium, a group of major car manufacturers, has designed a new software platform that facilitates remote updating and online modification of these in-vehicle systems. However, with increasing complexity in these software systems, it has become essential to be able to ensure safe operation despite unexpected changes. Thus, dependability mechanisms must also adapt and be updated to ensure system resilience, i.e., persistence of dependability in the face of changes. Fault Tolerance Mechanisms (FTMs) ensuring a nominal or degraded service in the presence of faults must also adapt to a change in the application context (change in the fault model, application characteristics or available resources). This ability to adapt FTMs is called Adaptive Fault Tolerance (AFT). It is in this context of evolution and adaptability that our thesis work is situated. In this thesis, we present approaches to develop fail-safe systems whose FTMs can be adapted at runtime by more or less fine-grained modifications to minimize the impact on the application's execution. We propose a first solution based on a substitutable components approach, we decompose our FTMs according to a Before-Proceed-After design scheme gathering respectively the dependability actions executing before an application action, the communication with the application and those executing after an application action. We implement this approach on ROS (Robot Operating System), a middleware for robotics allowing to create applications in the form of component graphs. We then propose a second solution in which we refine the granularity of the components of our FTMs and we categorize, in a first step, the dependability actions they contain. This allows us to substitute not a component but an elementary action. Thus, we overcome a resource problem that appeared in the substitutable components approach. As a component is projected on a process, our FTMs use unnecessarily limited resources on embedded platforms. To address this problem, we propose a solution based on a schedulable object approach. FTMs move from a component graph design to an object graph design. The safety actions are projected on objects that are scheduled inside the FTM. This second solution is also implemented on ROS. Finally, we critically analyze the two automotive software execution media, namely, AUTOSAR Classic Plateform, and AUTOSAR Adaptive Platform, which is still under development. In a final step, we examine the compatibility between these two frameworks and our approaches to designing resilient embedded systems based on adaptive fault tolerance.
A l’instar du téléphone mobile évoluant en smartphone, la voiture s’est transformée petit à petit en smartcar. Les aides à la conduite, l’infotainment ou encore la personnalisation du véhicule sont les points clefs de l’attractivité auprès des consommateurs. L’apparition des véhicules automobiles connectés a permis aux constructeurs de mettre à jour à distance les logiciels embarqués, favorisant leur maintenabilité et l’ajout a posteriori de fonctionnalités. Dans ce contexte, le consortium AUTOSAR, un regroupement de constructeurs automobiles majeurs, a conçu une nouvelle plate-forme logicielle facilitant la mise à jour à distance et la modification en ligne de ces systèmes embarqués. Cependant, avec de plus en plus de complexité dans ces logiciels, il est devenu essentiel de pouvoir assurer un service sûr de fonctionnement malgré des changements imprévus. Ainsi, les mécanismes de sûreté de fonctionnement doivent eux aussi s’adapter et être mis à jour pour assurer la résilience du système, à savoir, la persistance de la sûreté de fonctionnement face à des changements. Les mécanismes de tolérance aux fautes (Fault Tolerance Mechanisms - FTM) assurant un service nominal ou dégradé en présence de fautes doivent également s’adapter face à un changement de contexte applicatif (changement du modèle de faute, des caractéristiques de l’application ou des ressources disponibles). Cette capacité à adapter les FTM est appelée Tolérance aux Fautes Adaptative (Adaptive Fault Tolerance – AFT). C’est dans ce contexte d’évolution et d’adaptativité que s’inscrivent nos travaux de thèse. Dans cette thèse, nous présentons des approches pour développer des systèmes sûrs de fonctionnement dont les FTM peuvent s’adapter à l’exécution par des modifications plus ou moins à grain fin pour minimiser l’impact sur l’exécution de l’application. Nous proposons une première solution basée sur une approche par composants substituables, nous décomposons nos FTM selon un schéma de conception Before-Proceed-After regroupant respectivement les actions de sûreté de fonctionnement s’exécutant avant une action l’application, la communication avec l’application et celles s’exécutant après une action de l’application. Nous implémentons cette approche sur ROS (Robot Operating System), un intergiciel pour la robotique permettant de créer des applications sous forme de graphe de composants. Nous proposons ensuite une seconde solution dans laquelle nous affinons la granularité des composants de nos FTM et nous catégorisons, dans un premier temps, les actions de sûreté de fonctionnement qu’ils contiennent. Cela permet non plus de substituer un composant mais une action élémentaire. Ainsi, nous pallions à un problème de ressource apparu dans l’approche par composants substituables. Un composant étant projeté sur un processus, nos FTM utilisent inutilement des ressources déjà limitées sur les plate-formes embarqués. Pour ce faire, nous proposons une solution basé sur une approche par objets ordonnançables. Les FTM passent d’une conception par graphe de composants à une conception par graphe d’objets. Les actions de sûreté de fonctionnement sont projetés sur des objets qui sont ordonnancés à l’intérieur du FTM. Cette seconde solution est aussi mise en oeuvre sur ROS. Enfin, nous faisons une analyse critique des deux supports d’exécution logiciel pour l’automobile, à savoir, AUTOSAR Classic Plateform, et AUTOSAR Adaptive Platform, qui est en cours de développement encore actuellement. Nous examinons, dans une dernière étape la compatibilité entre ces deux supports et nos approches pour concevoir des systèmes résilients embarqués basés sur de la tolérance aux fautes adaptative.
Origine | Fichiers produits par l'(les) auteur(s) |
---|