- DO178B
-
DO-178B
Les normes ED-12B et DO-178B Software considerations in airborne systems and equipment certification développées en commun et éditées respectivement par EUROCAE et RTCA Inc., fixent les conditions de sécurité applicables aux logiciels critiques de l'avionique dans l'aviation commerciale et l'aviation générale. Elles précisent notamment les contraintes de développement liées à l'obtention de la certification d'un logiciel d'avionique.
Sommaire
Définition des niveaux de criticité
Elles présentent 5 niveaux de criticité (de A à E) définis comme suit :
- Niveau A : Problème catastrophique - Sécurité du vol ou atterrissage compromis - Crash de l'avion
- Niveau B : Problème majeur entraînant des dégâts sérieux voire la mort de quelques occupants
- Niveau C : Problème sérieux entraînant un dysfonctionnement des équipements vitaux de l'appareil
- Niveau D : Problème pouvant perturber la sécurité du vol
- Niveau E : Problème sans effet sur la sécurité du vol
Ces 5 niveaux sont aussi appelés niveaux DAL (Design Assurance Level)
Les Niveaux sont établis par les études de sécurité. Ces études fixent alors le niveau DAL pour le matériel et le logiciel conformément aux normes de sécurité (EUROCAE ED-79 et SAE ARP4754 "Certification considerations for Highly-Integrated and Complex Aicraft Systems") ou directives de l'avionneur (ABD100, ABD200,...). Le niveau DAL d'un sous-système peut être différent du niveau système à la condition que le niveau DAL du système soit atteint par une architecture matérielle/logicielle adéquate.
Objectifs à atteindre
Plus le niveau de criticité est proche du niveau A, plus le nombre d'objectifs à tenir est élevé. Ainsi :
- Niveau E :
- Le développement logiciel n'est soumis à aucune contrainte particulière.
- Niveau D :
- Le logiciel doit être documenté ; la liste de documents à fournir est fixée par la norme (voir plus bas).
- Préalablement au développement, des plans doivent être établis pour fixer les méthodes de développement, de vérification, de gestion de configuration, d'assurance qualité.
- Il faut assurer et vérifier la traçabilité entre les spécifications du système, les spécifications de haut niveau du logiciel, et les vérifications.
- Tout ce qui est spécifié doit être formellement vérifié : la couverture fonctionnelle doit être assurée. Les documents doivent aussi être formellement vérifiés.
- Le logiciel doit être géré en configuration, par exemple toutes les évolutions du code source doivent être justifiées
- Un service Qualité indépendant doit assurer le respect de la norme en inspectant les sorties du cycle de vie du logiciel.
- Niveau C : en plus des contraintes du niveau D :
- Des règles de développement doivent être fixées au préalable (sur les phases de spécification, conception et codage)
- Les contraintes de traçabilité et de vérification s'appliquent également aux phases de conception et de codage du logiciel.
- Les exigences de bas niveau (ou exigences de conception) doivent être formellement vérifiées.
- La couverture structurelle, ou couverture de code, doit être vérifiée et analysée : toutes les instructions du code doivent avoir été exécutées et testées, tous les écarts doivent être justifiés. Ces contraintes amènent souvent à devoir passer des tests unitaires.
- Niveau B : en plus des contraintes du niveau C :
- La couverture de code au niveau "décision" est requise.
- Les activités de développement et de vérification doivent être confiées à des équipes indépendantes.
- Niveau A : en plus des contraintes du niveau B :
- La couverture de code au niveau "condition"/"décision" est requise.
Documents à fournir
Les processus liés au développement de logiciels embarqués aéronautiques soumis aux normes ED-12B / DO-178B s'accompagnent de l'édition de plusieurs documents (les titres sont donnés à titre indicatif) :
Avant le développement, phase de planification :
- Plan des aspects logiciels relatifs à la certification : en particulier ce document précise le niveau de criticité retenu, et par quels moyens on prévoit de remplir les objectifs des normes ED-12B / DO-178B
- Plan de développement logiciel
- Plan de vérification du logiciel
- Plan de gestion de configuration du logiciel
- Plan d'assurance qualité du logiciel
- Règles de spécifications du logiciel
- Règles de conception du logiciel
- Règles de codage du logiciel
Concernant le processus de développement proprement dit :
- Spécifications des exigences du logiciel
- Description de la conception du logiciel
Concernant le processus de vérification :
- Cas et procédures de vérification du logiciel
- Résultats de la vérification du logiciel :
- Résultats de tests unitaires
- Résultats de tests d'intégration
- Résultats de tests
- Analyse de la couverture de code
- Revue de chaque document du logiciel
Concernant le processus de gestion de configuration :
- Index de la configuration du logiciel
- Index de l'environnement du cycle de vie du logiciel
Concernant le processus d'assurance qualité :
- Enregistrements relatifs à la qualité
- Compte-rendu de revue de conformité
- Résumé des travaux réalisés
Voir aussi
Cette norme possède son équivalent dans le domaine du développement électronique, connue sous l'identifiant : ED-80 ou DO-254 "Design Assurance Guidance for Airborne Electronic hardware" développées en commun par EUROCAE et RTCA.
La norme parente à ces deux normes est une recommandation relative au traitement des analyses de sécurité en aéronautique : ED-79 / ARP4754 "Certification considerations for Highly-Integrated and Complex Aicraft Systems".
A noter que les groupes d'experts du "Working Group 71" d'EUROCAE (WG-71) et du "Special Committee 205" de RTCA (SC-205) mènent actuellement une révision complète des normes ED-12B / DO-178B. La publication des normes révisées ED-12C et DO-178C sont actuellement prévues pour 2011 au plus tôt.
Notes et références
La révision du texte a été effectuée le 6 août 2009 par Gilbert Amato, Secrétaire Général d'EUROCAE
- Portail de l’aéronautique
Catégorie : Avionique
Wikimedia Foundation. 2010.