Les normes ED-12C et DO-178C (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.

Définition des niveaux de criticité

modifier

Elles présentent 5 niveaux de criticité (de A à E) définis comme suit :

  • 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
  • Niveau B : Un défaut du système ou sous-système étudié peut provoquer un problème dangereux entraînant des dégâts sérieux voire la mort de quelques occupants
  • Niveau C : Un défaut du système ou sous-système étudié peut provoquer un problème majeur entraînant 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

Ces 5 niveaux sont aussi appelés niveaux DAL (Design Assurance Level).

Les Niveaux sont établis par les études de sûreté de fonctionnement. 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

modifier

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 :
  • Niveau A : en plus des contraintes du niveau B :

Documents à fournir

modifier

Les processus liés au développement de logiciels embarqués aéronautiques soumis aux normes ED-12C / DO-178C 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 et la DO-178C

modifier

La norme DO-178B 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 et permettre 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 et placés dans un document dédié, le DO-330 « Software Tool Qualification Considerations ». Il y a désormais trois catégories d'outils qualifiés (au lieu de 2 dans la DO-178B) et les niveaux de qualification, désormais appelés TQL-1 à TQL-5, ne correspondent plus exactement aux DAL-A à DAL-E.
  • De même, les aspects relatifs aux développement basés sur les modèles ont été placés dans un document dédié, le DO-331 « Model-Based Development and Verification Supplement to DO-178C and DO-278A ».
  • 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 « Object-Oriented Technology and Related Techniques Supplement to DO-178C and DO-278A ».
  • La place des méthodes formelles dans la certification passe de 2 paragraphes dans le DO-178B à une annexe entière, le DO-333 « Formal Methods Supplement to DO-178C and DO-278A »
  • 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 a été clarifiée par rapport à celle du DO-178B (nouvelle définition des « exigences dérivées » et du « MC/DC »...)
  • Les errata du DO-178B ont été intégrées au DO-178C.
  • Les « Parameter Data Item File » sont une nouveauté du DO-178C.

Révisions du texte

modifier
  • DO-178 : 01/1982
  • DO-178A : 01/03/1985
  • DO-178B : 01/12/1992
  • DO-178C : 01/05/2012

Une révision du texte a été effectuée le 6 août 2009 par Gilbert Amato, Secrétaire Général d'EUROCAE[réf. nécessaire]

Voir aussi

modifier

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.

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 : ED-79 / ARP4754 (en) "Certification considerations for Highly-Integrated and Complex Aicraft Systems".

Notes et références

modifier

Liens externes

modifier