Présentation
En anglaisRÉSUMÉ
Cet article s’intéresse à l'amélioration de la qualité et de la fiabilité du développement de logiciels critiques en avionique, et vise une meilleure intégration plus agile des exigences de certification dans cette démarche. Il propose pour cela un cadre méthodologique, en démontre la conformité aux exigences des normes de certification et suggère un outillage support basé sur des solutions open source et sur étagère pour mettre en œuvre les propositions.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
This article focuses on improving the quality and reliability of safety-critical software development in avionics, and aims at a better and more agile integration of certification requirements in this process. It proposes a methodological framework, demonstrates its compliance with the requirements of certification standards and suggests a support tooling based on open source and off-the-shelf solutions to implement the proposals.
Auteur(s)
-
Vincent LOUIS : DGA Techniques aérospatiales
-
Claude BARON : LAAS-CNRS, INSA Toulouse
INTRODUCTION
La sécurité est la principale préoccupation de l’industrie aéronautique. Un niveau élevé de fiabilité de l’aéronef et de tous ses systèmes, pièces et équipements, doit être démontré par un processus appelé certification. Ce processus est essentiel pour la sécurité dans un système critique, dans lequel une défaillance peut entraîner des blessures, ou la perte de vies humaines. Il définit des exigences réglementaires, décrites dans des normes, imposant des contraintes au développement des avions. Les constructeurs, par le respect de ces exigences, s’engagent à assurer la sécurité des passagers et du personnel à bord, du personnel au sol, et des infrastructures.
La nécessité sociétale d’assurer, et de garantir, la sécurité des biens et des personnes implique ainsi la mise en œuvre d’un certain nombre d’actions, pour obtenir un certificat de type, délivré par une autorité de certification. Le processus de certification consiste, pour le constructeur, à démontrer à cette autorité la conformité à toutes les exigences réglementaires.
Seule l’application correcte d’un processus d’ingénierie peut garantir que le système remplit les objectifs de sécurité. Les actions mises en œuvre pour être en mesure de démontrer la conformité compliquent le processus d’ingénierie, et nécessitent de gros efforts, si les enjeux associés ne sont pas pris en compte dès le début du projet. Ce processus pourrait être mené de façon plus agile.
[H 8 060] démontre, en effet, que l’on peut avoir une démarche de certification intégrée au processus d’ingénierie de façon agile (appelée certification continue), par la proposition d’une démarche méthodologique efficace et structurée, qui permet de répondre nativement aux exigences de certification. La démarche vise à améliorer, accélérer, et rationaliser, le développement des logiciels avioniques soumis à certification : elle favorise une meilleure intégration des exigences de certification, en accélérant le développement de logiciels, sans compromettre la conformité aux exigences de sécurité. Elle repose sur les principes du développement continu qui, combinés à la gestion de projet agile, permettent l’itération et l’automatisation des actions de certification de manière transparente, et avec un impact limité sur le coût de développement global.
Cet article prolonge [H 8 060], par la proposition d’une démarche DevOps pour supporter la démarche de certification continue. Il rappelle d’abord le contexte de la certification des logiciels en aéronautique, et il précise les objectifs, et il souligne les contributions de cette étude. Puis, il présente le référentiel normatif des exigences essentielles, selon le point de vue de l’autorité militaire DGA. Ensuite, il décrit la démarche proposée pour pratiquer la certification continue. L’article conclut par une discussion sur les avantages et les perspectives de déploiement industrielle de cette proposition.
MOTS-CLÉS
processus agilité Logiciels embarqués génie logiciel sécurité des logiciels génie logiciel assisté par ordinateur développement logiciel agile production continue DevOps méthodes et outils certification continue développement piloté par les tests intégration continue automatisation des tests
KEYWORDS
process | agility | Embedded software | software engineering | software safety | computer-aided software engineering | Agile software development | continuous production | DevOps | Methods and tools | Continuous certification | Test-driven development | Continuous integration | Test automation
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
2. Référentiel d’exigences pour la certification des logiciels embarqués en aéronautique
Les entreprises qui cherchent à se conformer aux réglementations existantes doivent prendre en considération les nombreux guides de bonnes pratiques et de recommandations normatives, qui résultent d’un consensus au sein de la communauté aéronautique et contiennent les meilleures pratiques partagées.
La norme DO-178C/ED12C est généralement la référence pour le développement de logiciels embarqués dans l’aéronautique. Elle définit cinq niveaux de criticité des logiciels appelés DAL (Development Assurance Level), allant de A (le plus critique) à E (le moins critique). Plus le niveau DAL est proche de A, plus le nombre d’exigences est élevé.
La norme DO-178C/ED12C spécifie aussi les activités techniques du processus de développement et les activités de vérification, conçues pour détecter les erreurs de manière préventive. Elle décrit les étapes nécessaires pour démontrer que le logiciel met correctement en œuvre les fonctions attendues. Pour chaque processus, la norme DO-178C/ED12C définit :
-
les objectifs d’assurance (par exemple, la définition de l’architecture et des éléments qui permettent le codage [IN 176]), et les moyens de les satisfaire ;
-
les données d’entrée (par exemple, les spécifications, le plan de développement, les règles de conception) ;
-
les activités (par exemple, la définition de l’architecture, les exigences dérivées) ;
-
les produits (par exemple, la description de la conception) ;
-
les critères de transition entre chaque phase.
Il convient de noter que la DO-178C/ED12C n’impose pas de méthode ou d’outil. Elle fixe plutôt des objectifs à atteindre, permettant aux différents acteurs de trouver les moyens les plus efficaces pour y parvenir.
Comme les normes sont nombreuses, et que chacune d’entre elles utilise une approche différente pour décrire ses exigences, leur compréhension et leur maîtrise...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Référentiel d’exigences pour la certification des logiciels embarqués en aéronautique
BIBLIOGRAPHIE
-
(1) - REMPEL (P.), MÄDER (P.), KUSCHKE (T.), CLELAND-HUANG (J.) - Mind the Gap: Assessing the Conformance of Software Traceability to Relevant Guidelines. - International Conference on Software Engineering (ICSE), New York, USA, ACM, p. 943-954 (2014).
-
(2) - STEGHÖFER (J.-P.), KNAUSS (E.), HORKOFF (J.), WOHLRAB (R.) - Challenges of Scaled Agile for Safety-Critical Systems. - International Conference on Product-Focused Software Process Improvement, p. 350-366 (2019).
-
(3) - - https://www.launizo.com/blog/methodes-et-outils-de-productivite-en-entreprise-1/post/les-methodes-agiles-3 – consulté en octobre 2021.
-
(4) - BALAJI (S.), SUNDARARAJAN MURUGAIYAN (M.) - Wateerfallvs V-model vs Agile: a comparative study on SDLC. - International Journal of Information Technology and Business Management, 2(1), p. 26-30 (2012).
-
(5) - - https://www.scaledagileframework.com/system-team/
-
...
DANS NOS BASES DOCUMENTAIRES
-
Vers une certification continue des logiciels critiques en aéronautique.
-
Normalisation en matière de sûreté de fonctionnement des logiciels.
-
Développement de logiciels sûrs : une approche dirigée par la conception.
-
Conduire un projet avec la méthode Scrum.
-
Méthode Agile SCRUM – Comment l’utiliser de manière opérationnelle ?
NORMES
-
Software Considerations in Airborne Systems and Equipment Certification. - DO-178C/ED12C - 2011
-
Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems. - IEC 61508 - 2010
-
Software product assurance. - ECSS-Q-ST-80C - 2017
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive