Répondre aux exigences de la norme de Sûreté de Fonctionnement Logiciel Automobile ISO 26262

La norme ISO 26262, parue en 2011 et largement inspirée de la norme IEC 61508, traite de la sûreté de fonctionnement des systèmes électriques et électroniques incorporés au sein des véhicules routiers.

A l’instar de l’IEC 61508, assurer la conformité d’un projet à l’ISO 26262, c’est mettre en place, dès son démarrage, une méthodologie délimitée et rigoureuse dont l’objectif est la diminution des risques à un niveau acceptable.

Généralités de la norme ISO 26262

L’ISO 26262 se compose de 10 parties:
1.     Vocabulaire
2.     Gestion de la sûreté de fonctionnement
3.     Phase de projet
4.     Développement du produit au niveau du système
5.     Développement du produit au niveau du matériel (électronique)
6.     Développement du produit au niveau du logiciel
7.     Production et utilisation
8.     Processus d’appui
9.     Analyses liées aux niveaux d'intégrité de sûreté automobile et à la sûreté de fonctionnement
10.  Lignes directrices relatives à l'ISO 26262

NB : Nous avons remplacé le terme officiel « Sécurité fonctionnelle » par « Sûreté de Fonctionnement », résolument identique, pour plus de clarté.

Une nouvelle version de l’ISO 26262, qui incorporera notamment les systèmes intégrés dans les poids lourds et motos, est actuellement en cours d’élaboration. Sa publication est prévue pour 2018 ou 2019.

Niveaux d'ASIL

La norme ISO 26262 se distingue de l’IEC 61508 principalement par la définition de ses niveaux de criticité, appelés ASIL (« Automotive System Integrity Level »). A l’instar de l'IEC 61508, les 4 niveaux sont numérotés de 1 (le moins critique) à 4 (le plus critique) et plus la criticité est élevée, plus les tâches et vérifications à effectuer seront nombreuses.

Cependant, alors que les niveaux de SIL sont définis de manière quantitative (mesures de probabilités ou de taux de défaillance maximum), la définition des niveaux d’ASIL est qualitative et définie par trois métriques devant être appliquées à toute situation dangereuse détectée en phase d’analyse des risques :
  • Sévérité : de S0 (aucune blessure) à S3 (blessures mortelles avec survie incertaine ou décès) ;
  • Exposition : de E0 (probabilité invraisemblable) à E4 (probabilité élevée) ;
  • Contrôle (la probabilité que le conducteur puisse agir de lui-même pour prévenir le danger ou la blessure) : de C0 (contrôlable en général) à C3 (difficilement contrôlable ou impossible)
De plus, l’ISO 26262 ajoute un cinquième niveau appelé QM (« Quality Management »), parfois qualifié de « ASIL 0 » et pouvant être comparé au DAL E de la DO-178: il s’agit d’un niveau où le risque associé étant faible ou raisonnable, il ne nécessite pas de mesures de sûreté de fonctionnement, et peut donc être adressé uniquement par des mesures d’Assurance Qualité classiques comme décrites dans l’ISO 9001 ou l’ISO TS 16949. 
ISO26262_ASIL

Lien entre Sévérité, Exposition, Contrôle et niveaux d’ASIL

Lien entre Sévérité, Exposition, Contrôle et niveaux d’ASIL

Utilisation d’outils logiciels

Dans le cadre de l’utilisation d’outils logiciels pour une ou plusieurs tâches de développement ou vérification, l’ISO 26262 partie 8 introduit la notion de TCL (Tool Confidence Level), défini suivant l’impact de l’outil et le degré de détection d’une erreur.
ISO26262_Utilisation
  • TI : Impact de l’outil – Introduction ou non détection d’erreur au sein de l’élément pour lequel il est utilisé :
    • TI1 : Impossible;
    • TI2 : Dans tous les autres cas ;
  •  TD : Détection d’erreurs de l’outil – Confiance dans le fait qu’un dysfonctionnement ou une sortie erronée de l’outil sera détecté ou évité :
    • TD1 : Elevée ;
    • TD2 : Moyenne ;
    • TD3 : Dans tous les autres cas.
Alors qu’un outil TCL 1 ne nécessite aucune méthode de qualification, la norme ISO 26262 en propose 4 pour TCL 2 et 3, dépendant du niveau d’ASIL :
ISO26262_Mesure
La suite d’outils LDRA (analyse statique et dynamique, tests unitaires et d’intégration) dispose d’un pack de qualification ISO 26262 jusqu’à ASIL D (LDRA TBrun).

De plus, les outils LDRA (TBvision Static) et l’outil d’analyse statique avancée GrammaTech CodeSonar ont obtenu une certification ISO 26262 permettant leur utilisation jusqu’à ASIL D.

Exigences de l’ISO 26262 partie 6 concernant les logiciels

La partie 6 de l’ISO 26262 exige la mise en place d’un cycle de vie logiciel dès l’ASIL A, composé de 7 étapes contenant chacune plusieurs exigences méthodologiques :
  • Initialisation du développement logiciel,
  • Spécification des exigences de sûreté de fonctionnement logiciel,
  • Conception architecturale du logiciel,
  • Conception détaillée et implémentation du logiciel,
  • Tests Unitaires du Logiciel
  • Intégration et Tests d’Intégration du Logiciel
  • Vérification des exigences de sûreté de fonctionnement logiciel.
Voici un résumé des exigences les plus importantes :
ISO26262_Exigences
L’application des techniques et mesures définies dans la norme est graduée selon le niveau d’intégrité du logiciel, de la manière suivante :
· ++ : Hautement Recommandé;
· + : Recommandé;
· ° : L’utilisation de la technique n’est ni recommandée, ni déconseillée ;

Comment automatiser la réponse aux exigences logicielles de l’ISO 26262 ?

La partie 6 de l’ISO 26262 implique la mise en place d’un Plan d’Assurance Qualité Logiciel, contenant a minima les éléments suivants :
  • Gestion de la configuration et des versions ;
  • Suivi de la traçabilité des exigences (fonctionnelles, méthodologiques, normatives) ;
  • Mise en place et vérification de règles de codage et de métriques de qualité de code ;
  • Détection de bugs, d’erreurs « Runtime » et de failles logicielles ;
  • Tests unitaires, d’intégration et système liés aux exigences ;
  • Mesure de la couverture structurelle.

ISIT propose un ensemble de solutions produits et services, allant de la sensibilisation à l’automatisation des réponses aux exigences logicielles de l’IEC 61508, en passant par l’accompagnement projet :