Ouvrir le menu Fermer le menu

EN 50716 : Répondre aux exigences de la norme Ferroviaire

trait de séparation
Temps de lecture : 7 minutes

Une Nouvelle Ère pour le développement des logiciels critiques dans le Secteur Ferroviaire avec l'arrivée de la norme EN 50716 !

Prévue pour remplacer la norme EN 50128 (dans toutes ces versions), en vigueur depuis plus de deux décennies pour le développement des logiciels des systèmes de signalisation, et la norme EN 50657, plus récente, pour le développement des logiciels pour les matériels roulant, cette nouvelle norme est officiellement applicable depuis novembre 2023 et deviendra obligatoire en octobre 2024.

L'introduction de la norme EN 50716 symbolise la nature évolutive du cadre normatif : elle s'adapte aux progrès de notre époque sans perturber les pratiques établies de l'industrie.

Tout en assurant une continuité avec les normes EN 50128 et EN 50657 en conservant ses fondements, la norme EN 50716 intègre des simplifications et évolutions basées sur les retours d'expérience industriels.

Au sommaire de cet article dédié à la norme EN 50716 :
  • Généralités de la norme
  • Niveaux de SIL
  • Exigences de la norme
  • Comment automatiser la réponse aux exigences logicielles ?

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

  • Continuité et Évolution : La norme EN 50716 remplace les normes EN 50128 Ed.2 et la norme EN 50657, en vigueur respectivement pour les logiciels de signalisation ferroviaire et les logiciels des matériels roulant, pour fournir une version unifiée de la normalisation pour le logiciel dans le domaine ferroviaire. Elle conserve la structure fondamentale de ses prédécesseurs tout en intégrant des simplifications et des évolutions basées sur les retours d'expérience industriels. Elle vise à assurer une transition en douceur tout en répondant aux nouvelles exigences et technologies.
  • Cycles de Vie Itératifs : En complément de l'approche traditionnelle en cycle de vie linéaire « en V », la norme EN 50716 apporte une réponse aux industriels souhaitant adopter des cycles de vie plus itératifs, dans l’optique d’une amélioration continue et une meilleure adaptation aux changements et aux retours d'expérience tout au long du développement du logiciel.
  • Modélisation et Techniques de Modélisation : La norme reconnaît l'importance croissante des modèles et des techniques de modélisation dans le développement de logiciels ferroviaires. Elle adapte les contraintes normatives pour s'aligner avec ces méthodes, assurant ainsi une meilleure intégration et utilisation des modèles tout au long du cycle de vie du logiciel.
  • Intégration de l'Intelligence Artificielle : La norme EN 50716 intègre les avancées en matière d'IA, notamment l'apprentissage automatique. Elle fournit des directives pour l'utilisation de ces technologies dans des applications à fortes contraintes de sécurité, tout en abordant les défis spécifiques liés à leur intégration.
  • Approche Basée sur les Risques : La norme met un accent particulier sur la gestion des risques. Elle propose des méthodologies pour identifier, évaluer et atténuer les risques tout au long du cycle de vie du logiciel. Cette approche permet de garantir que les logiciels développés sont non seulement conformes aux exigences de sécurité, mais aussi robustes face aux éventuelles défaillances.

EN 50716 : Niveaux de SIL

La norme EN 50716, conserve la définition des niveaux de SIL (Safety Integrity Level) de l’EN 50657 pour classer les logiciels en fonction de leur criticité et des mesures de sécurité nécessaires pour atténuer les risques.

Voici les principaux niveaux de SIL tels que définis dans la norme :

  • IB (Intégrité de Base concerne tous les logiciels dont le niveau de Sécurité est considéré inférieur à SIL 1) :
Les logiciels à ce niveau doivent suivre des procédures de développement de base. Les risques associés sont relativement faibles, et les exigences de validation et de vérification sont moins strictes comparées aux niveaux supérieurs.

  • SIL 1 (Niveau de Sécurité Faible) et SIL 2 (Niveau de Sécurité Modéré) :
Les logiciels de ces niveaux nécessitent une gestion plus rigoureuse des risques et des procédures de développement plus structurées. Les tests et la documentation sont plus approfondis pour garantir que les défaillances potentielles sont correctement identifiées et atténuées.

  • SIL 3 (Niveau de Sécurité Élevé) et SIL 4 (Niveau de Sécurité Très Élevé) :
Les exigences de développement, de vérification et de validation sont très strictes. Les logiciels doivent subir des tests rigoureux, et une documentation complète est nécessaire pour démontrer que tous les risques potentiels ont été identifiés et atténués de manière appropriée. Des dispositions de détection et de maîtrise des risques sont nécessaires et peuvent influer sur l’architecture du logiciel lui-même.

Les niveaux SIL sont attribués en fonction de l'impact potentiel d'une défaillance logicielle sur la sécurité du système ferroviaire. Plus le niveau est élevé, plus les exigences en matière de développement, de vérification, et de validation sont strictes. L'objectif est d'assurer que les logiciels critiques pour la sécurité respectent des standards rigoureux, garantissant ainsi la fiabilité et la sécurité des opérations ferroviaires.

Les exigences applicables sont identiques pour les logiciels SIL 1 et SIL2, ainsi que pour les logiciels SIL 3 et SIL 4.

Comprendre et appliquer les niveaux de SIL selon la norme EN 50716 est crucial pour développer des logiciels ferroviaires sûrs et fiables. Les entreprises doivent évaluer soigneusement le niveau de criticité de chaque composant logiciel et suivre les directives appropriées pour chaque niveau de SIL afin de garantir la conformité et la sécurité des systèmes ferroviaires.

EN 50716 : Exigences

La norme EN 50716 définit des exigences détaillées pour garantir la sécurité fonctionnelle des logiciels ferroviaires. Ces exigences couvrent plusieurs aspects du cycle de vie du développement logiciel, de la conception à la maintenance. Voici les principales catégories d'exigences :

1. Gestion du Cycle de Vie du Logicel
  • Planification : Élaboration de plans détaillés pour la gestion du cycle de vie, y compris des plans de gestion de projet, de qualité, de sécurité, de configuration et de vérification.
  • Documentation : Maintien d'une documentation complète et accessible pour toutes les phases du cycle de vie du logiciel.
  • Contrôle des Modifications : Établissement de procédures rigoureuses pour la gestion des modifications, incluant des revues et des autorisations formelles.
2. Analyse des Risques et Sécurité
  • Identification des Risques : Mise en place de méthodologies pour identifier les risques potentiels liés au logiciel.
  • Évaluation des Risques : Évaluation systématique des risques identifiés pour déterminer leur criticité.
  • Atténuation des Risques : Développement de stratégies et de mesures pour atténuer les risques identifiés.
3. Développement du Logiciel
  • Exigences et Spécifications : Définition claire des exigences fonctionnelles et de sécurité du logiciel.
  • Conception et Architecture : Utilisation de techniques de conception et d'architecture qui favorisent la sécurité et la fiabilité du logiciel.
  • Codage et Implémentation : Adoption de pratiques de codage sûres et de normes de codage spécifiques.
4. Vérification et Validation
  • Tests : Conduite de tests unitaires, d'intégration, de système et de validation pour s'assurer que le logiciel répond aux exigences spécifiées.
  • Revue et Audit : Organisation de revues de code, de conception et d'architecture, ainsi que des audits pour vérifier la conformité aux normes et aux plans.
  • Validation : Validation du logiciel dans son environnement opérationnel pour garantir qu'il fonctionne comme prévu.
5. Gestion de la Configuration
  • Contrôle des Versions : Mise en œuvre de systèmes de contrôle de version pour gérer les différentes versions du logiciel.
  • Suivi des Modifications : Documentation et suivi de toutes les modifications apportées au logiciel, avec des justifications et des autorisations appropriées.
  • Reproduction : Assurance que toute version du logiciel peut être reproduite à partir des configurations et des composants documentés.
6. Maintenance et Support
  • Support Continu : Mise en place de procédures pour le support et la maintenance continue du logiciel.
  • Mises à Jour et Correctifs : Gestion des mises à jour et des correctifs de manière contrôlée pour garantir qu'ils n'introduisent pas de nouveaux risques.
  • Surveillance : Surveillance continue du logiciel en opération pour détecter et corriger les problèmes potentiels.

Automatisation de la Réponse aux Exigences Logicielles de la Norme EN 50716

Automatiser la réponse aux exigences logicielles de la norme EN 50716 peut considérablement améliorer l'efficacité, la précision et la conformité des processus de développement.

Voici un guide avec certains outils pour mettre en place cette automatisation :

1. Sélection et Intégration d'Outils de Gestion du Cycle de Vie
  • Gestion des Exigences : Utilisez des outils comme Polarion pour capturer, gérer et tracer les exigences. Assurez-vous que ces outils permettent la traçabilité des exigences à travers toutes les phases du développement.
  • Gestion de Projet : Intégrez des outils pour planifier, suivre et gérer les activités du projet, y compris les ressources et les échéances.
2. Automatisation de la Conception et du Développement
  • Environnements de Développement Intégré (IDE) : Utilisez des IDE tels que Eclipse, Visual Studio ou IntelliJ IDEA pour automatiser la compilation, les tests unitaires et l'intégration continue.
  • Modélisation et Génération de Code : Utilisez des outils de modélisation pour créer des modèles UML/SysML et générer automatiquement du code à partir de ces modèles.
3. Automatisation de la Vérification et de la Validation
  • Tests Unitaires et d'Intégration : Utilisez des frameworks de tests pour automatiser les tests unitaires et d'intégration. Utilisez des outils comme Jenkins pour l'intégration continue et l'automatisation des builds.
  • Analyse Statique et Dynamique : Employez des outils comme CodeSonar de CodeSecure pour l'analyse statique, et LDRA pour l'analyse dynamique.
  • Tests de Régression : Intégrez des outils de tests de régression automatisés pour s'assurer que les nouvelles modifications n'introduisent pas de bugs.
4. Automatisation de la Documentation et de la Traçabilité
  • Documentation Automatisée : Utilisez des outils pour générer automatiquement la documentation technique à partir du code source.
  • Traçabilité : Assurez une traçabilité automatique des exigences, des tests et des artefacts de développement en utilisant des outils intégrés comme Polarion qui permettent de lier les exigences aux cas de tests, aux éléments de conception et aux résultats de tests.
5. Automatisation de la Gestion de la Configuration
  • Contrôle de Version : Utilisez des systèmes de contrôle de version pour gérer les différentes versions du logiciel. Automatisez la gestion des branches et des merges pour suivre les modifications et garantir la reproductibilité.
  • Gestion de Configuration : Intégrez des outils de gestion de configuration pour automatiser la configuration des environnements de développement et de test.
6. Automatisation de la Maintenance et du Support
  • Surveillance et Analyse : Utilisez des outils de surveillance tels pour surveiller les performances du logiciel en production et analyser les anomalies.
  • Mises à Jour et Correctifs : Automatisez la distribution et l'installation des mises à jour et des correctifs en utilisant des outils de gestion de versions et de déploiement comme Jenkins.

L'automatisation de la réponse aux exigences de la norme EN 50716 implique la sélection et l'intégration d'une variété d'outils tout au long du cycle de vie du développement logiciel. Ces outils doivent être choisis en fonction de leur capacité à répondre aux exigences spécifiques de la norme, et doivent être intégrés de manière à offrir une traçabilité complète, une vérification rigoureuse et une gestion efficace de la configuration et des risques. En automatisant ces processus, les entreprises peuvent non seulement améliorer leur conformité à la norme EN 50716, mais aussi augmenter l'efficacité, la qualité et la sécurité de leurs logiciels ferroviaires.


Forts de notre expertise éprouvée dans le développement de logiciels sécuritaires, les experts de ISIT sont prêts à vous aider à relever les défis posés par la norme EN 50716 et à vous accompagner dans cette transition vers un avenir plus sûr et plus innovant.

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

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.