Aller au contenu

DO-178/ED-12

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis DO-178)

La norme DO-178/ED-12 (Software considerations in airborne systems and equipment certification) développée en commun et éditées conjointement par EUROCAE et RTCA inc. (en), fixe les conditions de sécurité applicables aux logiciels critiques de l'avionique dans l'aviation commerciale et l'aviation générale. Elle précise notamment les contraintes de développement liées à l'obtention de la certification d'un logiciel d'avionique.

La première version de la DO-178/ED-12 est en date de mai 1982.

La première évolution, de référence DO-178A/ED-12A, est éditée en octobre 1985.

La seconde évolution, de référence DO-178B/ED-12B, est éditée en décembre 1992 (avec l'amendement N° 1 du 19 octobre 1999). Est apparue avec cette issue, en annexe, les tables des objectifs à couvrir.

La troisième évolution, de référence DO-178C/ED-12C, est éditée en janvier 2012.

Définition des niveaux de criticité

[modifier | modifier le code]

La DO-178/ED-12 présentent les contraintes de développement, d'intégration et vérification/validation nécessaire en fonction du DAL (Design Assurance Level, en anglais) attribué au logiciel[Note 1].

Le DAL de chaque fonction est établi par l'évaluation de la gravité des "événements redoutés" (Failures Conditions, en anglais) qui affectent chaque fonction d'un aéronef. Il résulte les études de sûreté de fonctionnement. Ces études fixent alors le niveau DAL pour un système (Nommé FDAL[Note 2]) décliné pour le matériel et le logiciel (nommé IDAL[Note 3]) conformément aux normes de sécurité (ARP4754/ED-79 Certification considerations for Highly-Integrated and Complex Aicraft Systems) ou directives de l'avionneur (par exemple, chez Airbus, l'ABD0100 ou l'ABD0200 ...). Le niveau IDAL d'un sous-système peut être différent du niveau système à la condition que le niveau FDAL du système soit atteint par une architecture système, matérielle et logicielle adéquate (redondance, dissymétrie, surveillance ...).

Les 5 niveaux de DAL (de A à E) sont définis comme suit[1] :

  • Niveau A : Un défaut du système ou sous-système étudié peut provoquer un problème catastrophique, sécurité du vol ou atterrissage compromis : crash de l'avion, perte de la cellule.
  • Niveau B : Un défaut du système ou sous-système étudié peut provoquer un problème dangereux entrainant des dégâts sérieux, voir la mort de quelques occupants.
  • Niveau C : Un défaut du système ou sous-système étudié peut provoquer un problème majeur entrainant un dysfonctionnement des équipements vitaux de l'appareil.
  • Niveau D : Un défaut du système ou sous-système étudié peut provoquer un problème mineur sans effet sur la sécurité du vol.
  • Niveau E : Un défaut du système ou sous-système étudié peut provoquer un problème sans effet sur la sécurité du vol.

Objectifs à atteindre

[modifier | modifier le code]

Les objectifs à atteindre sont résumés de façon formelle dans les tableaux de l'annexe : Pour chaque phase du projet et chaque sortie, sont indiqués les objectifs et les critères d'indépendance pour la vérification de l'achèvement de cet objectif.

Le tableau suivant dénombre ces objectifs.

IDAL Evénement redouté Nombre d'objectifs Nombre d'objectifs à

couvrir avec indépendance

A Catastrophique 71 30
B Dangereux 69 18
C Majeur 62 5
D Mineur 26 2
E Sans 0 0

Plus le niveau de IDAL est proche du niveau A, plus le nombre d'objectifs à tenir est élevé. Ainsi :

  • Niveau E :
  • 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/validation, 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 des plans, afin de répondre à 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 :
  • Niveau A : en plus des contraintes du niveau B :

Documents à fournir

[modifier | modifier le code]

Les processus liés au développement de logiciels embarqués aéronautiques soumis aux recommandations de la DO-178C/ED-12C s'accompagnent de l'édition de plusieurs documents (les titres sont donnés à titre indicatif) :

Avant le développement, phase de planification :

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 :

Concernant le processus de gestion de configuration :

Concernant le processus d'assurance qualité :

  • Enregistrements relatifs à la qualité,
  • Compte-rendu de revue de conformité,
  • Résumé des travaux réalisés.

Évolutions entre la DO-178B/ED-12B et la DO-178C/ED-12C

[modifier | modifier le code]

La norme DO-178B/ED-12B a été publiée en 1992 et est utilisée depuis. En 2004, les groupes de travail EUROCAE WG71 et RTCA Special Committee 205 (SC-205) ont travaillé à sa mise à jour pour clarifier certains points du DO-178B/ED-12B. Cette mise à jour permet, en particulier, l'intégration de nouvelles techniques de génie logiciel jugées suffisamment matures pour être utilisées dans les systèmes aéronautiques et leur certification. La section 3 de l'annexe A résume les points principaux qui ont notamment été modifiés ou ajoutés :

  • Les aspects relatifs à la qualification des outils ont été retirés du DO-178C/ED-12C et placés dans un document dédié, le DO-330/ED-215 « Software Tool Qualification Considerations ». Il y a désormais trois critères d'outils qui différencient les qualifications requises (au lieu de 2 dans la DO-178B/ED-12B) et les niveaux de qualification, désormais appelés TQL-1 à TQL-5, ne correspondent plus exactement aux DAL-A à DAL-E[2].
  • De même, les aspects relatifs aux développements basés sur les modèles ont été placés dans un document dédié, le DO-331/ED-216 « Model-Based Development and Verification Supplement to DO-178C and DO-278A »[3].
  • De même, les considérations spécifiques aux développements orientés objets ont été placés dans un document dédié, le DO-332/ED-217 « Object-Oriented Technology and Related Techniques Supplement to DO-178C and DO-278A »[4].
  • La place des méthodes formelles dans la certification passe de 2 paragraphes dans le DO-178B à une annexe entière, le DO-333/ED-218 « Formal Methods Supplement to DO-178C and DO-278A »[5].
  • Deux objectifs de certification sont apparus dans les tables aux DAL-A, DAL-B et DAL-C
  • La taxonomie utilisée dans le DO-178C/ED-12C a été clarifiée par rapport à celle du DO-178B/ED-12B (nouvelle définition des « exigences dérivées » et du « MC/DC »...)
  • Les errata du DO-178B/ED-12B ont été intégrées au DO-178C/ED-12C.
  • Les « Parameter Data Item File » sont une nouveauté du DO-178C/ED-12C.

Cette norme possède son équivalent dans le domaine du développement électronique, connue sous l'identifiant : DO-254/ED-80 "Design Assurance Guidance for Airborne Electronic Hardware" développées en commun par EUROCAE et RTCA.

Cette norme est complétée par un document « Foire aux Questions sur le DO178C », lui aussi publié par RTCA sous le nom DO-248C "Additional Information on Software Considerations in Airborne Systems and Equipment Certification".

La norme parente à ces deux normes est une recommandation relative au traitement des analyses de sécurité en aéronautique : ARP4754/ED-79 "Certification considerations for Highly-Integrated and Complex Aicraft Systems".

Notes et références

[modifier | modifier le code]
  1. Ce document est une recommandation. En particulier, il est écrit en anglais avec des should. Cependant, il est reconnu par les autorités de certification aéronautique, telles que l'EASA ou la FAA, comme "moyens acceptables de démontrer la conformité" [à la réglementation] (Acceptable Means of Compliance, en anglais) et de garantir le niveau de sécurité requis pour répondre aux contraintes réglementaires.
  2. En accord avec l'ARP4754/ED-79, le DAL associé à la fonction (C'est-à-dire au système qui remplit cette fonction) est le FDAL, pour Functional Design Assurance Level.
  3. En accord avec l'ARP4754/ED-79, le DAL associé aux Items qui composent le système est le IDAL, pour Item Design Assurance Level.

Références

[modifier | modifier le code]
  1. « La norme DO-178C », sur Verifysoft (consulté le )
  2. (en-US) « RTCA DO-330/EUROCAE ED-215 » Accès libre, sur rapitasystems.com (consulté le )
  3. (en-US) « RTCA DO-331/EUROCAE ED-218 » Accès libre, sur rapitasystems.com (consulté le )
  4. (en-US) « RTCA DO-332/EUROCAE ED-217 » Accès libre, sur rapitasystems.com (consulté le )
  5. (en-US) « Avionics Certification Standards » Accès libre, sur aicas.com (consulté le )

Liens externes

[modifier | modifier le code]