Proposal of a model-driven approach for software safety - Application to the software architecture of connected and autonomous vehicles
Proposition d’une approche dirigée par les modèles pour la sûreté de fonctionnement logicielle - Application à l'architecture logicielle des véhicules connectés et autonomes
Résumé
In the context of automotive software development, the general problem that motivated this work was the growing complexity of software architectures and the limitations of the current practices in terms of safety analyses. Despite the development of MBSE (Model Based Systems Engineering), these practices are still characterized by the reliance on manual traditional safety analysis techniques such as Fault Tree Analysis (FTA) or Failure Modes and Effect Analysis (FMEA). Although still useful, these techniques fall short when faced with complexity with the possibility of resulting in subjective, inefficient, poor quality and error-prone analyses. Hence, to improve the state of the current practice in the automotive context, our proposal is to apply the Model Based Safety Analysis (MBSA) approach that is a relevant Model Driven Engineering approach applied to safety. However, the review of the current state of the art of current MBSA approaches suggests that most of these approaches are systems oriented and lack clear methodological support. In addition, some of the MBSA approaches (especially those relying on a dedicated model) require deep understanding (in terms of modeling paradigm) and can be challenging to implement in the case of complex systems (limitations of manual modeling). Also in current practices, safety analysis at software level suffers of poor integration with the software development process, which can result in inconsistent safety analyses. To address these issues, the essence of our contribution is to provide a methodology that adapts the concepts, principles, and methods of MBSA for the purpose of improving the practice of software safety analysis, taking into consideration the current state of practices (in the existing software development process).Our first contribution consists of a methodology covering all the steps required to perform safety analysis on automotive software architectures using the model-based approach while addressing the challenges presented by the lack of inadequate inputs brought by the use of document-centric artifact in some parts of the software engineering process. Through this contribution, we propose a step-by-step methodology for defining the safety analysis context, constructing the dysfunctional architecture, and using it for safety analyses relying on a dedicated model approach.The second proposal, also methodological, aims to address some challenges related to complexity brought by the limitations of a dedicated model approach. It consists of using software fault patterns based on ISO 26262 software fault templates to ease the construction of the dysfunctional model. Through this proposal, prototypes of common software fault patterns are developed and reused to build the dysfunctional model.The third contribution, still undergoing development, is a tooling proposal to partially automated and ease the construction of software component’s fault behavior and propagation through functional to dysfunctional logic translation. It aims to ensure a better consistency of software safety analyses with the software development process constantly with ISO 26262 recommendations.
Dans le contexte du développement de logiciels automobiles, le problème général qui a motivé ce travail était la complexité croissante des architectures logicielles et les limites des pratiques actuelles en termes d’analyses de sécurité. Malgré le développement du MBSE (Model Based Systems Engineering), ces pratiques sont toujours caractérisées par le recours à des techniques manuelles traditionnelles d’analyse de la sécurité telles que l’analyse par arbre de défaillance (FTA) ou l’analyse des modes de défaillance et de leurs effets (AMDE). Bien qu’elles soient toujours utiles, ces techniques sont insuffisantes face à la complexité avec la possibilité d’aboutir à des analyses subjectives, inefficaces, de mauvaise qualité et sujettes aux erreurs. Par conséquent, pour améliorer l’état de la pratique actuelle dans le contexte automobile, notre proposition est d’appliquer l’approche d’analyse de la sécurité basée sur un modèle (MBSA) qui est une approche d’ingénierie pilotée par modèle pertinente appliquée à la sécurité. Toutefois, l’examen de l’état actuel de la technique des approches actuelles des MBSA suggère que la plupart de ces approches sont axées sur les systèmes et manquent d’un soutien méthodologique clair. En outre, certaines des approches MBSA (en particulier celles qui reposent sur un modèle dédié) nécessitent une compréhension approfondie (en termes de paradigme de modélisation) et peuvent être difficiles à mettre en œuvre dans le cas de systèmes complexes (limites de la modélisation manuelle). De même, dans les pratiques actuelles, l’analyse de la sécurité au niveau logiciel souffre d’une mauvaise intégration avec le processus de développement logiciel, ce qui peut entraîner des analyses de sécurité incohérentes. Pour résoudre ces problèmes, l’essence de notre contribution est de fournir une méthodologie qui adapte les concepts, les principes et les méthodes de MBSA dans le but d’améliorer la pratique de l’analyse de la sécurité des logiciels, en tenant compte de l’état actuel des pratiques (dans le processus de développement de logiciels existant).Notre première contribution consiste en une méthodologie couvrant toutes les étapes nécessaires pour effectuer une analyse de la sécurité sur les architectures logicielles automobiles en utilisant l’approche basée sur des modèles tout en répondant aux défis présentés par le manque d’intrants inadéquats apportés par l’utilisation d’artefacts centrés sur les documents dans certaines parties du processus de génie logiciel. Grâce à cette contribution, nous proposons une méthodologie étape par étape pour définir le contexte d’analyse de la sûreté, construire l’architecture dysfonctionnelle et l’utiliser pour des analyses de sûreté s’appuyant sur une approche modèle dédiée.La deuxième proposition, également méthodologique, vise à relever certains défis liés à la complexité due aux limites d’une approche modèle dédiée. Elle consiste à utiliser des modèles de pannes logicielles basés sur des modèles de pannes logicielles ISO 26262 pour faciliter la construction du modèle dysfonctionnel. Grâce à cette proposition, des prototypes de modèles de défaillance logicielle courants sont développés et réutilisés pour construire le modèle dysfonctionnel.La troisième contribution, encore en cours de développement, est une proposition d’outillage visant à automatiser partiellement et à faciliter la construction du comportement et de la propagation des défauts des composants logiciels par traduction logique fonctionnelle à dysfonctionnelle. Il vise à assurer une meilleure cohérence des analyses de sécurité logicielle avec le processus de développement logiciel en permanence avec les recommandations ISO 26262.
Domaines
Systèmes embarquésOrigine | Version validée par le jury (STAR) |
---|