Articles techniques

La perspective de MathWorks

Concevoir des applications ferroviaires conformes à la norme EN 50716 avec l'approche Model-Based Design


Auteurs:

  • Mohammad Abu-Alqumsan, MathWorks
  • Tom Erkkinen, MathWorks

9 minutes de lecture

Résumé

  • La norme EN 50716 remplace les normes EN 50128 et EN 50657, unifiant les exigences relatives aux logiciels de gestion des voies et du matériel roulant.
  • L'approche Model-Based Design permet aux équipes de répondre aux exigences de la norme EN 50716 de manière efficace et efficiente.
  • En exploitant au mieux l'approche Model-Based Design, les équipes de développement peuvent garantir une traçabilité de bout en bout et proposer des solutions logicielles robustes, sûres et vérifiables.

La publication de la norme EN 50716:2023 par le CENELEC offre à l'industrie ferroviaire une norme européenne unique et unifiée, régissant le développement de logiciels pour les applications au sol et à bord du matériel roulant. Cette norme, publiée en novembre 2023, établit des exigences consolidées pour les logiciels critiques de sécurité et d'exploitation utilisés dans les systèmes ferroviaires modernes.

Avant la norme EN 50716, ces domaines étaient couverts séparément par la norme EN 50128 (pour les systèmes de communication, de contrôle et de protection) et la norme EN 50657 (pour les logiciels de matériel roulant). La norme EN 50716 remplace explicitement les normes précédentes, assurant ainsi la cohérence, réduisant les redondances et harmonisant les processus dans toutes les applications ferroviaires.

Selon la norme EN 50716, le niveau d'intégrité logicielle requis est déterminé et évalué au niveau système, sur la base du niveau d'intégrité de sécurité du système (SIL) et du risque associé à l'utilisation du logiciel au sein du système (EN 50126). L'intégrité du logiciel est spécifiée selon cinq niveaux définis, allant de l'intégrité de base (le plus bas) à SIL 4 (le plus élevé).

Un schéma montrant un train, des équipements de voie et des étiquettes pour trois normes ferroviaires différentes.

Figure 1. Relation entre la norme EN 50716 et les normes remplacées EN 50218 (pour les applications en bord de voie) et EN 50657 (pour les applications embarquées).

Pourquoi l'approche Model-Based Design est un choix idéal pour la conformité à la norme EN 50716

Tout en maintenant la continuité avec les normes EN 50128 et EN 50657, la norme EN 50716 introduit des éléments qui reflètent une modernisation substantielle des attentes en matière d'ingénierie logicielle dans le secteur ferroviaire :

  • Un rôle élargi pour les modèles de simulation dans le développement
  • Élévation des méthodes formelles au rang de méthode hautement recommandée (HR) pour tous les niveaux SIL (et non plus seulement SIL 3 et SIL 4 comme dans les normes précédentes)
  • Considérations explicites relatives à l'IA et au Machine Learning
  • Un alignement plus clair avec les domaines des systèmes et de la cybersécurité

Ces domaines sont parfaitement maîtrisés par l'approche Model-Based Design. L'approche Model-Based Design supporte intrinsèquement l'esprit de la norme EN 50716. Les modèles sont considérés comme des artefacts d'ingénierie primaires, supportant la capture des exigences et l'architecture, le design des composants, la génération de code, la vérification, l'intégration et la maintenance. L'approche Model-Based Design améliore la communication, la traçabilité, la reproductibilité et la création de preuves tout au long du cycle de vie des systèmes et des logiciels, tout en permettant l'adoption pratique de méthodes formelles.

Le IEC Certification Kit (pour IEC 61508, EN 50716 et les normes connexes) détaille cette assistance et propose des certificats d'outils et des rapports d'évaluation de l'autorité de certification internationale TÜV SÜD.

Comment l'approche Model-Based Design supporte la norme EN 50716

La norme EN 50716 définit un processus rigoureux pour un développement structuré, traçable et vérifiable. L'approche Model-Based Design permet aux organisations de satisfaire aux recommandations de la norme en utilisant un workflow de référence de bout en bout adapté au SIL qui couvre l'ensemble du système ainsi que les activités de développement, de vérification et de validation des logiciels.

Un diagramme de workflow détaillé illustrant les étapes et les outils de développement et de vérification des systèmes et des logiciels, depuis les exigences jusqu'à la génération de code.

Figure 2. Processus de développement et de vérification de systèmes et de logiciels utilisant Simulink. Bien que cet article se concentre sur le développement logiciel, vous pouvez utiliser l'ingénierie des systèmes basée sur des modèles (MBSE) avec System Composer et Simulink pour les activités au niveau système (EN 50126), comme indiqué à gauche du diagramme de workflow.

Cet article porte sur :

  • Exigences logicielles
  • Architecture et design
  • Design des composants
  • Implémentation et test des composants
  • Intégration et test
  • Déploiement et maintenance des logiciels
  • Assurance logicielle

Configuration logicielle requise

Avec Requirements Toolbox™, vous pouvez définir des exigences textuelles de manière structurée et enrichir les exigences en langage naturel avec des modèles de simulation. Cette approche permet des représentations claires et non ambiguës des exigences fonctionnelles, d'interface et de sécurité.

En assurant une traçabilité robuste et bidirectionnelle entre les exigences et les modèles, les éléments de modèle et le code source, ainsi que les cas de test correspondants, les organisations peuvent satisfaire aux exigences de la norme EN 50716 en matière de documentation transparente et de vérification rigoureuse tout au long du cycle de vie du logiciel.

Capture d'écran de l'application Requirements Editor montrant une feuille de calcul récapitulant les exigences, les attributs détaillés et les liens de traçabilité de l'exigence sélectionnée dans la fenêtre Property Inspector.

Figure 3. Gestion des spécifications et de la traçabilité des exigences avec Requirements Toolbox.

Architecture et design

L'approche Model-Based Design supporte la modélisation architecturale hiérarchique, permettant aux équipes de décomposer les logiciels complexes en couches structurées où les comportements et les interfaces peuvent être validés dès le début par l'outil de modélisation et grâce à des contrôles de cohérence automatisés. Cette approche structurée rend l'attribution des exigences aux composants intrinsèquement traçable et analysable, garantissant que chaque exigence est liée à un élément architectural bien défini (par exemple, un composant logiciel) et peut être systématiquement vérifiée par des tests en aval.

Un schéma fonctionnel montrant trois composants principaux reliés par des lignes de flux de données, chacun avec plusieurs entrées et sorties étiquetées.

Figure 4. Modélisation des architectures logicielles avec des diagrammes de blocs, d'activités et de séquences grâce à System Composer.

Design des composants

Vous pouvez modéliser le design des composants logiciels à l'aide de machines à états (Stateflow®), de diagrammes de flux de signaux (Simulink®), de MATLAB® code ou d’une approche hybride combinant Simulink, Stateflow et MATLAB. L'approche Model-Based Design permet aux concepteurs de spécifier avec précision les transitions du système, la gestion des événements et le comportement d'exécution déterministe.

L'approche Model-Based Design supporte également l'analyse statique au niveau modèle, où vous pouvez utiliser les fonctionnalités de Simulink Check™ pour vérifier les modèles par rapport aux directives de modélisation établies. En parallèle, vous pouvez effectuer des simulations de modèles pour déceler les erreurs logiques existantes, les hypothèses incorrectes et les incompatibilités d'interface. Ensemble, la simulation et l'analyse de modèles statiques permettent de déceler les problèmes dès leur apparition et bien avant la mise en œuvre du logiciel ou la disponibilité des prototypes matériels, réduisant ainsi considérablement les retouches en aval et améliorant l'efficacité du développement.

Trois vues côte à côte montrant un diagramme de flux de données, une machine à états et un éditeur de code.

Figure 5. Options de l'approche Model-Based Design utilisant un diagramme de flux de données (Simulink), une machine à états (Stateflow) et du code MATLAB.

De plus, grâce à la modélisation du domaine physique dans Simulink et Simscape™, vous pouvez effectuer une simulation en boucle fermée de la dynamique de l'installation afin d'ajuster ou de régler de manière appropriée les modèles des composants logiciels. Lors des activités d'intégration ultérieures, les simulations en boucle fermée permettent de capturer les impacts du moteur, du freinage et de l'environnement sur l'ensemble du système.

Implémentation et test des composants

Il est simple de générer du code C/C++ à partir de designs de composants détaillées dans Simulink avec Embedded Coder®, garantissant ainsi que la logique et le comportement discrets du modèle soient bien reproduits dans le logiciel de production. Cette génération automatique de code est conforme aux attentes de l'outil T3 dans la norme EN 50716, réduisant ainsi l'effort de codage manuel et éliminant de nombreuses catégories d'erreurs de codage manuel tout en produisant des implémentations déterministes et analysables adaptées aux logiciels critiques pour la sécurité.

Un schéma du modèle est affiché à côté de son code source correspondant à des fins de comparaison et d'examen.

Figure 6. Vue côte à côte d'un modèle et du code généré avec traçabilité de bout en bout.

En complément de ce workflow, les tests model-in-the-loop (MIL), software-in-the-loop (SIL) et processor-in-the-loop (PIL) proposent une stratégie de vérification évolutive qui commence par la vérification fonctionnelle au niveau modèle, passe à l'exécution du code généré dans un environnement simulé et se termine par l'exécution du code sur le processeur cible. La transition entre MIL, SIL ou PIL nécessite un minimum d'efforts, supporte un degré élevé de réutilisation des cas de test et contribue à la confiance dans l'exactitude et la cohérence tout au long du cycle de vie du développement. Enfin, les tests HIL (Hardware-in-the-loop) peuvent suivre la mise en œuvre du matériel de production en exécutant votre modèle d'usine en boucle fermée sur du matériel en temps réel.

À cette fin, vous pouvez utiliser Simulink Test™ pour gérer et orchestrer tous les modes de test au sein d'un cadre unifié, permettant une approche cohérente de la définition, de l'exécution et du reporting des tests pour MIL, SIL, PIL et HIL. De plus, Simulink Coverage™ vous permet d'évaluer la couverture structurelle comme preuve objective de l'achèvement des tests grâce à des métriques d'instructions, de branches et de MC/DC.

Intégration et test

Au niveau de l'architecture logicielle, les modèles orchestrent les scénarios d'intégration en définissant comment les composants interagissent grâce à des interfaces bien structurées, des flux d'exécution et des modèles de communication (à l'aide de diagrammes de séquence et d'activité). Les simulations au niveau de l'architecture permettent aux équipes de valider rapidement le comportement d'intégration en mettant à l'épreuve l'ensemble de la structure logicielle de l'application dans des conditions réalistes de synchronisation, de gestion des événements et d'échange de données. L'approche basée sur la simulation permet de déceler rapidement les défauts architecturaux, les incompatibilités d'interface et les risques d'intégration, à un stade où les modifications de design sont beaucoup moins coûteuses.

La génération et l'exécution automatisées des cas de test renforcent encore cette validation architecturale. En dérivant les tests directement à partir des exigences (à l'aide de modèles de spécification) et du comportement au niveau de l'architecture, les équipes peuvent obtenir une couverture cohérente et garantir la traçabilité, ce qui correspond à l'importance accordée à la vérification systématique dans la norme EN 50716.

Assurance logicielle

La traçabilité de bout en bout, des exigences aux modèles de design architectural et détaillé, en passant par le code généré, les tests de vérification et les résultats, offre une chaîne de preuves structurée qui soutient une validation rigoureuse. En veillant à ce que chaque exigence soit explicitement liée aux éléments de modèle, aux artefacts d'implémentation et aux résultats de tests correspondants, les équipes de développement peuvent démontrer une justification claire et vérifiable de la manière dont les intentions au niveau système se traduisent dans le comportement du logiciel. Cette traçabilité est essentielle pour les domaines critiques en matière de sécurité car elle permet une analyse d'impact systématique, une vérification cohérente et une justification transparente des décisions de design tout au long du cycle de vie du logiciel, y compris les mises à jour contrôlées, l'analyse d'impact des changements et la maintenabilité à long terme.

Méthodes formelles

Selon la norme EN 50716, les méthodes formelles sont fortement recommandées pour les logiciels de niveau SIL 1 à SIL 4. Simulink Design Verifier™ vous permet d'appliquer des méthodes formelles au niveau du modèle pour renforcer l'assurance logicielle en vérifiant mathématiquement des propriétés clés telles que les invariants de sécurité, l'absence d'erreurs d'exécution, la correction des transitions d'état et le respect des contrats architecturaux.

Ces preuves complètent la simulation et les tests en offrant des garanties qui ne peuvent être obtenues par les seuls tests, augmentant ainsi la confiance dans l'exactitude et la robustesse du design du composant avant la génération du code. Par exemple, dans une application de logique de mode de contrôle de train, il est possible, grâce à des méthodes formelles, de prouver mathématiquement que les combinaisons de modes non sécuritaires, telles que la traction activée alors que les portes sont relâchées ou la supervision du freinage contournée pendant le mouvement, sont inaccessibles dans toutes les conditions de fonctionnement valides, y compris les scénarios de panne. De même, une analyse formelle de la logique du régulateur de vitesse peut prouver que les commandes de traction respectent toujours les limites de vitesse et les contraintes de sécurité et sont inhibées de manière fiable chaque fois que des conditions prioritaires telles que le freinage, la perte de supervision ou les transitions de mode surviennent.

Un modèle en cours d'analyse, avec des panneaux présentant les résultats de vérification formelle et les propriétés de sécurité validées.

Figure 7. Simulink Design Verifier vous permet d'appliquer des méthodes formelles au niveau modèle pour prouver les propriétés de sécurité. Cet exemple montre la preuve formelle de la propriété de la génération et de la transmission sûres de l'autorisation de mouvement (MA) par le centre de bloc radio (RBC).

Les produits Polyspace® permettent d’évaluer de manière similaire la qualité, la robustesse et, plus important encore, l’absence d’erreurs d’exécution, à la fois sur le code généré et sur le code développé manuellement.

Outils et langages de support

La norme EN 50716 établit des exigences explicites concernant l'utilisation des outils et langages de support dans le développement de logiciels ferroviaires, reconnaissant que ces outils peuvent influencer la sécurité et l'intégrité du logiciel résultant. La norme exige que les outils de développement, de vérification et de génération de code soient bien intégrés et que la sélection et l'utilisation des outils soient justifiées et contrôlées.

Il catégorise également les outils en fonction de leur impact potentiel sur les logiciels exécutables, en classes T1, T2 et T3. Les outils qui peuvent introduire directement ou indirectement des défauts (c.-à-d. les outils T2 et T3) doivent être étayés par des preuves documentées proportionnelles au niveau d’intégrité du logiciel (intégrité de base à SIL 4).

Le IEC Certification Kit (pour IEC 61508, EN 50716 et les normes connexes) facilite directement la conformité à ces exigences en fournissant des éléments de classification et de préqualification des outils, des certificats et des rapports d'évaluation TÜV SÜD, des suites de tests de validation et des modèles qui peuvent être adaptés à l'utilisation spécifique des outils de votre projet. En conséquence, l'effort nécessaire pour justifier et documenter l'utilisation des outils de développement, de génération de code et de vérification de l'approche Model-Based Design selon la norme EN 50716 est considérablement réduit.

Le IEC Certification Kit propose un document de correspondance entre les méthodes et techniques de la norme EN 50716 et les cas d'utilisation de l'approche Model-Based Design. Le tableau ci-dessous est extrait de ce document.

Tableau A.5 – Vérification et test

Technique/Mesure Outils et processus applicables pour l'approche Model-Based Design Commentaires
1. Preuve formelle Simulink : Bibliothèque de blocs de vérification de modèles Les blocs de vérification de modèles peuvent être utilisés pour formaliser les exigences de sécurité des logiciels et d'autres propriétés du modèle.
Simulink Design Verifier : Vérification des propriétés, détection des erreurs de design La démonstration de propriétés peut être utilisée pour vérifier les propriétés d'un modèle à l'aide de techniques de vérification formelles. La détection des erreurs de design peut analyser un modèle pour détecter les erreurs de design courantes suivantes : dépassement d’entier, division par zéro, logique morte et violations d’assertions.
Polyspace Code Prover et Polyspace Code Prover Server : Vérification de code La détection d'erreurs d'exécution peut analyser le code C ou C++ pour identifier les erreurs logicielles susceptibles de survenir lors de l'exécution. Polyspace Code Prover et Polyspace Code Prover Server proposent une vérification de code qui prouve l'absence de dépassement de capacité, de division par zéro, d'accès hors limites à un tableau et de certaines autres erreurs d'exécution dans le code source. Polyspace Code Prover et Polyspace Code Prover Server utilisent des techniques d'interprétation abstraite basées sur des méthodes formelles pour vérifier le code. 
2. Analyse statique Simulink Check : Contrôles du conseiller de modèle Model Advisor peut être utilisé pour vérifier la conformité à la norme de modélisation. Voir le tableau A.19 (2) Listes de contrôle.

Alignement de la sécurité fonctionnelle et de la cybersécurité

La norme EN 50716 reconnaît les interactions complexes possibles entre les domaines de la cybersécurité et de la sécurité fonctionnelle dans les systèmes ferroviaires connectés. Par exemple, les menaces de cybersécurité peuvent avoir un impact direct sur la sécurité fonctionnelle, et les mesures de cybersécurité peuvent avoir des conséquences néfastes sur la sécurité. C’est pourquoi la norme EN 50716 recommande d’équilibrer les mesures de sûreté et de sécurité et cite les normes IEC 62443 et CLC/TS 50701 comme normes appropriées pour traiter la cybersécurité.

L’approche Model-Based Design et l'ingénierie des systèmes basée sur des modèles (MBSE) utilisant Simulink et System Composer™ offrent un moyen pratique d'aligner les deux domaines grâce à un modèle de système partagé et exécutable tout au long du cycle de vie. Les fonctions liées à la sécurité, les interfaces système et les hypothèses opérationnelles peuvent être modélisées en parallèle des actifs de cybersécurité et des surfaces d'attaque potentielles en matière de cybersécurité. Le modèle partagé permet une identification précoce des interactions, supporte l'analyse combinée ou séquentielle des risques et des menaces, et permet aux ingénieurs de simuler des conditions malveillantes afin d'évaluer leur impact sur la sécurité.

Au niveau logiciel, les fonctions de sûreté et de sécurité, telles que la surveillance, les contrôles de plausibilité, la validation des messages, la logique d'authentification et la détection des anomalies, peuvent être co-développées et évaluées dans le même contexte architectural. La vérification continue par l'analyse statique du modèle et du code, la simulation et les tests en boucle fermée contribuent à garantir que les exigences de sécurité et de cybersécurité sont respectées et restent alignées à mesure que le design évolue. De plus, la traçabilité intégrée des exigences aux modèles et aux résultats des tests améliore la collaboration interdomaine entre les équipes d'ingénierie des systèmes, de la sûreté et de la sécurité.

Utilisation de l'IA et du Machine Learning

L'approche Model-Based Design répond aux défis de l'IA et du Machine Learning identifiés dans la norme EN 50716 en permettant une vérification au niveau système et la génération de preuves qui atténuent la visibilité structurelle limitée du Machine Learning. L'intégration de composants de Machine Learning dans des modèles Simulink exécutables supporte les tests basés sur les exigences et les scénarios, l'analyse de la couverture des scénarios et la validation en boucle fermée dans des domaines de design opérationnel définis. De plus, la simulation permet d'explorer des conditions de fonctionnement au-delà des données d'entraînement, ce qui renforce la confiance dans l'exhaustivité des données. Pour traiter spécifiquement la robustesse, l'analyse systématique des perturbations et les tests d'injection de défauts avec Simulink Fault Analyzer™ permettent d'évaluer les entrées adverses et les décalages de distribution.

Conclusion

L'intégration des modèles, de la génération de code, de l'analyse statique des modèles et du code, du test avec couverture, de la génération automatisée de cas de test et des méthodes formelles constitue une approche globale permettant de répondre aux exigences rigoureuses de la norme EN 50716 pour le développement de logiciels ferroviaires. En garantissant une traçabilité de bout en bout et en exploitant des outils de support avancés, les équipes de développement peuvent proposer des solutions logicielles robustes, sûres et vérifiables. Cette méthodologie structurée facilite non seulement la conformité, mais améliore également la maintenabilité à long terme et la transparence, contribuant ainsi à la fiabilité et à la sécurité des systèmes ferroviaires.

Publié en 2026


Produits utilisés : IEC Certification Kit

À propos des auteurs

Mohammad Abu-Alqumsan

Mohammad Abu-Alqumsan est IEC Certification Kit product manager chez MathWorks. Il travaille sur la qualité, la sécurité fonctionnelle et la cybersécurité et conseille les acteurs de l'industrie sur la qualification des outils et le développement de workflows conformes aux normes de certification courantes, telles que ISO 26262, IEC 61508, IEC 63404 et EN 50716. Avant de rejoindre MathWorks, il a travaillé chez Validas AG en tant que chef de projet et ingénieur logiciel de recherche. Mohammad est titulaire d'un doctorat en interfaces cerveau-ordinateur et robotique de l'Université technique de Munich.

Tom Erkkinen

Tom Erkkinen est embedded applications manager chez MathWorks. Avant de rejoindre MathWorks, Tom a travaillé à la NASA, où il a développé divers algorithmes de contrôle et logiciels en temps réel, notamment pour la robotique des navettes spatiales. Il a passé plus de 25 ans à aider les entreprises à déployer l'approche Model-Based Design avec génération de code embarquée. Tom est titulaire d'une licence en génie aérospatial de l'Université de Boston et d'une maîtrise en génie mécanique de l'Université de Santa Clara.

Continuer votre exploration