Resilient automotive systems : from a component-based to an 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 adaptative sur ROS
Résumé
Like the mobile phone evolved as smartphone, cars have gradually turned into smartcars. Advanced Driver Assistance Systems (ADAS), infotainment or personalization of the vehicle are clearly today key aspects of attractiveness for customers. Connected vehicles led manufacturers to remotely update embedded software, promoting their maintainability and the subsequent addition of features later in the lifetime of a car. In this context, the AUTOSAR consortium, a group of major car manufacturers, has designed a new software platform to facilitate remote updates and online modification of such embedded systems. However, with the increasing complexity of embedded software systems, it becomes mandatory to maintain dependability in operation despite unforeseen changes. Thus, the dependability mechanisms must also be adapted and updated to ensure the resilience of the system, namely, the persistence of dependability when facing changes. Fault Tolerance Mechanisms (FTM) which are means ensuring a nominal or an (acceptable) degraded service in the presence of faults must also adapt to a change in the application operational context (fault model changes, characteristics of the application or available resources). This ability to adapt FTMs is called Adaptive Fault Tolerance (AFT). The contributions of this thesis are performed in this context of evolution and adaptivity of critical embedded software. In this work, we propose approaches to develop safe embedded systems whose FTMs can adapt to the operational context in different ways, coarse-grain or fine-grain modifications of their implementation at runtime, to minimize the impact on the application. We propose a first solution based on a substitutable component approach: we break down FTMs according to a Before-Proceed-After design scheme grouping respectively fault tolerance actions performed before a functional action of the application, the interaction with the application and fault tolerance actions required after the action performed by the application. We implement this approach on ROS (Robot Operating System), a middleware for robotics that enables an application to be implemented as a component graph. We then propose a second solution in which we refine the granularity of the FTM components by first categorizing the individual dependability actions they contain. This enables an elementary action to be substituted instead of a component as a whole. Thus, we solved a resource problem that appeared in the substitutable component approach. Since a component is mapped to a process, the FTMs overuse more resources that are obviously limited in embedded systems. To this aims, we design a solution based on an object-based scheduling approach. FTMs are designed in this case as an object graph. The fault tolerance basic actions are mapped to objects that are scheduled within the FTM component. This second approach was also implemented on ROS. Finally, we make a comparative analysis of the two software execution platforms of the automotive industry, namely the AUTOSAR Classic Platform and the AUTOSAR Adaptive Platform, which is still under development today. As a final step, we examine the compatibility between these two runtime supports and our approaches to design resilient 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.
Domaines
AutreOrigine | Version validée par le jury (STAR) |
---|