Ouvrir le menu Fermer le menu

EN 50128 : Répondre aux exigences de la norme de Sûreté de Fonctionnement Logiciel Ferroviaire

trait de séparation
Temps de lecture : 5 minutes

La norme EN 50128 traite de la sûreté de fonctionnement des logiciels de commande et de protection ferroviaire pour les Systèmes de signalisation, de télécommunication et de traitement.

Assurer la conformité d’un projet EN 50128, 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.

Au sommaire de cet aricle dédié à la norme EN50128 :

EN 50128 : Généralités de la norme

Après une première version en 2001, la norme EN 50128 a été mise à jour en 2011. Celle-ci se compose de 9 parties :
4 – Objectifs, conformité et niveaux d'intégrité de sécurité du logiciel
5 – Organisation et gestion du développement logiciel
6 – Assurance du logiciel
7 – Développement de logiciel générique
8 – Développement de données d'application ou d'algorithmes d'application
9 – Déploiement et maintenance du logiciel

La norme EN 50128 est associée aux normes ferroviaires EN 50126 (Spécification et démonstration de la fiabilité, de la disponibilité, de la maintenabilité et de la sécurité) et EN 50129 (Système de Signalisation, de télécommunication et traitements – Communication de sécurité sur les systèmes de transmission), définissant les niveaux de SIL.
De plus, dans sa version 2011, la norme EN 50128 définit comme un préalable quel que soit le niveau de SIL, la conformité à la norme d’Assurance Qualité ISO 9001:2008.

EN 50128 : Niveaux de SIL

A l’instar du standard IEC 61508, la norme EN 50128 utilise les niveaux SIL (« System Integrity Level ») de criticité des systèmes, mais en ajoute un cinquième, le niveau SIL 0. Ils sont donc numérotés de 0 (le moins critique) à 4 (le plus critique). Plus la criticité est élevée, plus les tâches et vérifications à effectuer seront nombreuses.

Il est à noter qu’au niveau logiciel, les niveaux SIL 1 et SIL2 sont strictement identiques, tout comme les niveaux SIL 3 et SIL 4.
EN50128_SIL-1

Au sein du standard EN 50129, le niveau de SIL se définit de manière analogue à la norme IEC 61508: suivant la criticité d’une défaillance pour les utilisateurs ou l’environnement du système, et un taux de diminution de défaillance souhaité. Cependant, la norme EN 50128 les définit, pour le logiciel, sans référence aux taux de défaillance.
EN50128_SIL

EN 50128 : 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, EN 50128:2011 définit les trois mêmes classes d’outils que la norme IEC 61508, à savoir:
  • T1 : Ne génère aucune sortie susceptible de contribuer, directement ou indirectement, au code exécutable 
  • T2 : Ne peuvent pas directement créer des erreurs dans le code exécutable, mais peuvent empêcher de détecter des défauts (outils de tests) 
  • T3 : Génèrent des sorties susceptibles de contribuer, directement ou indirectement, au code exécutable
Cependant, les exigences qui en découlent diffèrent du standard industriel. L’EN 50128 introduit 11 exigences applicables à la qualification d’outils (dépendant de la classe ci-dessus) : l’identification des outils utilisés (T1, T2 & T3), l’analyse de leurs défaillances potentielles, leur spécification ou manuel et la gestion de leur configuration (T2, T3), et enfin leur validation, basée sur le retour d’expérience, un certificat ou des tests spécifiques (T3).
De plus, l’un des fondements EN 50128 est que lorsqu’un outil remplace une opération manuelle, les preuves de l’intégrité des résultats de l’outil devraient être apportées selon le même processus que celui de l’opération manuelle, ou des méthodes alternatives montrant que l’intégrité du logiciel n’est pas diminuée par l’utilisation de l’outil en lieu et place d’une opération manuelle. La section 1.4 indique d’ailleurs que la norme peut aussi être appliquée au développement d’outils.
La suite d’outils LDRA (analyse statique et dynamique, tests unitaires et d’intégration) dispose d’un pack de qualification EN 50128 jusqu’à SIL 4 (LDRA TBrun).
De plus, les outils LDRA (TBvision Static) et l’outil d’analyse statique avancée GrammaTech CodeSonar ont obtenu une certification EN 50128 (outils T2) permettant leur utilisation jusqu’à SIL 4.

EN 50128 : Exigences

La norme EN 50128 exige la mise en place d’un cycle de vie logiciel quel que soit le niveau de SIL, composé de plusieurs étapes contenant chacune plusieurs exigences méthodologiques, ainsi que des contraintes d’indépendance entre les différentes parties prenantes du projet (chef de projet, équipe de validation, testeurs, évaluateurs, …) :
  • 7.2 : Phase d’exigences du logiciel 
  • 7.3 : Phase d’architecture et de conception du logiciel 
  • 7.4 : Phase de conception des composants logiciels 
  • 7.5 : Phase de réalisation et tests des composants logiciels
  • 7.6 : Phase d’intégration du logiciel
  • 7.7 : Phase de validation du logiciel
  • 9.2 : Phase de maintenance du logiciel
En addition, l’annexe A liste plus de 150 « mesures et techniques » pouvant être effectuées suivant l’étape du cycle de vie ci-dessus, ainsi que le niveau de SIL du système logiciel. Voici un résumé des  exigences les plus importantes :


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 :
  • M : Mandatory (obligatoire) 
  • HR : Hautement Recommandé (obligatoire sauf justification et accord de l’évaluateur) 
  • R : Recommandé mais non obligatoire 
  • - : L’utilisation de la technique n’est ni recommandée, ni déconseillée 
  • NR : Non Recommandé (interdit sauf justification et accord de l’évaluateur)

EN 50128 : Comment automatiser la réponse aux exigences ?

La norme EN 50128 définit 46 documents à élaborer (hors SIL 0), et 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 
  • Analyse statique de code, notamment pour la détection d’erreurs au plus au plus tôt dans le cycle de développement et la mise en place de programmation défensive 
  • Tests unitaires, d’intégration et système liés aux exigences 
  • Analyse dynamique de code, 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 de la norme EN 50128, en passant par l’accompagnement projet :
15

Ces articles peuvent vous intéresser

image blog article

Normes logicielles pour le Ferroviaire

Quelles normes logicielles appliquer pour les chemins de fer ?

image blog article

Pile CANopen ISIT sur STM32

Découvrez l'article publié par notre partenaire STMicroelectronics

image blog article

IEC 61508 : Répondre aux exigences de la norme de Sûreté de Fonctionnement Industriel

La norme IEC 61508 traite de la sûreté de fonctionnement des systèmes électriques, électroniques et électroniques programmables (comme l’électronique numérique et les logiciels) pour l’industrie. Régulièrement déclinée en normes spécifiques pour différents secteurs d’activité, elle est la référence en termes de safety.