Ingénierie du logiciel embarqué : construire la confiance dans les transports
trait de séparation
Temps de lecture : 5 minutes
Développement de logiciels embarqués sécurisés dans les secteurs automobile et ferroviaire
Sécurité et fiabilité : enjeux du logiciel embarqué dans l’automobile

Dans l’industrie automobile, la sécurité des logiciels est assurée par des directives qui mettent l’accent sur le fonctionnement fiable des systèmes électroniques des véhicules, d’autant plus qu’ils deviennent plus autonomes et connectés.
Sécurité fonctionnelle (FuSa)
La norme ISO 26262 – Véhicules routiers – Sécurité fonctionnelle est dérivée de la norme IEC 61508. Elle fournit un cadre complet pour garantir la sécurité fonctionnelle des systèmes électriques et électroniques des véhicules routiers. Elle couvre l'ensemble du cycle de développement des produits et est largement utilisée dans l'industrie automobile pour garantir la sécurité des systèmes à forte intensité logicielle.
D'autres normes de sécurité fonctionnelle s'inspirent des recommandations de l'ISO 26262 pour fournir des conseils plus spécialisés. Par exemple, l'ISO 25119 (Tracteurs et machines agricoles) combine les recommandations modifiées et simplifiées de l'ISO 26262 (sécurité automobile) et de l'ISO 13849 (sécurité des machines).
D'autres normes de sécurité fonctionnelle s'inspirent des recommandations de l'ISO 26262 pour fournir des conseils plus spécialisés. Par exemple, l'ISO 25119 (Tracteurs et machines agricoles) combine les recommandations modifiées et simplifiées de l'ISO 26262 (sécurité automobile) et de l'ISO 13849 (sécurité des machines).
Sécurité de la fonctionnalité prévue (SOTIF)
La norme ISO/PAS 21448 « Véhicules routiers — Sécurité de la fonctionnalité prévue » traite de la sécurité de la fonctionnalité prévue (SOTIF) des systèmes automobiles. Elle se concentre sur les considérations de sécurité liées au bon fonctionnement d'un système, en particulier dans les cas où le système fonctionne comme prévu, mais peut néanmoins entraîner des situations dangereuses. Elle est particulièrement pertinente pour les véhicules autonomes.
Ingénierie du logiciel embarqué : construire la confiance dans le ferroviaire

Dans le secteur ferroviaire, l'évolution des réseaux fermés, câblés et isolés vers des réseaux ouverts et interconnectés a engendré une nouvelle génération de menaces. Les normes EN 50716 (EN 50128) et la série EN 5012x , leurs modèles de sécurité fonctionnelle, leurs concepts et le processus d'évaluation des risques qu'elles décrivent sont basés ou dérivés de la norme IEC 61508 et adaptés au contexte ferroviaire spécifique. Par ailleurs, la directive sur la sécurité ferroviaire et la directive sur l'interopérabilité définissent les exigences essentielles en matière de sécurité et d'interopérabilité sur le réseau ferroviaire européen.
En dehors de l'Europe, les normes de sécurité ferroviaire pour les logiciels incluent la norme IEC 62279 , qui est l'équivalent international de la norme EN 50716 (EN 50128). Aux États-Unis, la Federal Railroad Administration (FRA) et l' American Public Transportation Association (APTA) fournissent des lignes directrices et des normes pour la sécurité ferroviaire.
En dehors de l'Europe, les normes de sécurité ferroviaire pour les logiciels incluent la norme IEC 62279 , qui est l'équivalent international de la norme EN 50716 (EN 50128). Aux États-Unis, la Federal Railroad Administration (FRA) et l' American Public Transportation Association (APTA) fournissent des lignes directrices et des normes pour la sécurité ferroviaire.
La suite d'outils LDRA offre une gamme de fonctionnalités de tests dynamiques conçues pour améliorer la qualité des logiciels et garantir la conformité aux normes de sécurité. Parmi les principales fonctionnalités de tests dynamiques, on peut citer :
- Test unitaire, système et d'intégration : génère des faisceaux de tests et des programmes pilotes pour faciliter les tests unitaires et d'intégration sur l'hôte, la cible et les simulateurs.
- Analyse de la couverture du code : fournit des mesures détaillées de la couverture du code pour identifier les parties non testées du code et pour démontrer la traçabilité des exigences.
- Analyse du couplage des données et du couplage des commandes : Fournit une analyse du degré de dépendance d'un module par rapport à un autre, en vue d'optimiser cette dépendance.
- Analyse du temps d'exécution (WCET) : inclut la prise en charge des processeurs multicœurs, y compris la possibilité d'analyser les interférences.
- Traçabilité du code source au code objet : fournit les moyens de confirmer que le compilateur a créé un code objet exécutable qui reproduit fidèlement ce que les développeurs avaient prévu.