Ouvrir le menu Fermer le menu

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

trait de séparation
Temps de lecture : 5 minutes
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.

Assurer la conformité d’un système à la norme IEC 61508, 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, et construire une architecture qui répond à des exigences structurelles.

Au sommaire de cet article dédié à la norme IEC 61508 :

IEC 61508 : Généralités de la norme

La norme IEC 61508 se compose de 7 parties, dont les trois premières uniquement contiennent des exigences normatives (les parties 4 à 7 étant des aides et lignes directrices à leur mise en place) :
  • Partie 1 (ou IEC 61508-1) : Prescriptions générales
  • Partie 2 (ou IEC 61508-2) : Prescriptions pour les systèmes électriques / électroniques / électroniques programmables relatifs à la sécurité
  • Partie 3 (ou IEC 61508-3) : Prescriptions concernant les logiciels
  • Partie 4 : Définitions et abréviations
  • Partie 5 : Exemples de méthodes pour la détermination des niveaux d’intégrité de sécurité
  • Partie 6 : Lignes directrices pour l’application de la IEC 61508-2 et la IEC 61508-3
  • Partie 7 : Présentation de techniques et mesures
La première version du standard IEC 61508, parue entre 1998 et 2000 et reconnue dès 2002 par l’organisme européen de normalisation CENELEC, a été amendée en 2010, principalement dans le but de clarifier certaines exigences (la liste des changements plus importants est disponible sur le site du consortium IEC). La norme IEC 61508:2010 (ou IEC 61508 Ed. 2) est la version actuellement applicable.

IEC 61508 : Niveaux de SIL

La norme IEC 61508 introduit 4 niveaux de criticité des systèmes, appelés SIL (« Safety Integrity Level ») et numérotés de 1 (le moins critique) à 4 (le plus critique). Plus la criticité est élevée, plus les tâches et vérifications à effectuer seront nombreuses, et dans le cadre du logiciel, plus la rigueur exigée dans la réalisation de chaque tâche sera importante (ce concept est appelé « Capabilité Systématique du logiciel »).

Le niveau de SIL se définit 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é (voir la liste des taux de défaillance par niveau de SIL) ; le niveau peut aussi être augmenté par un fabricant dans un but de reconnaissance de la maturité de ses processus de maitrise des risques.
SIL_61508

IEC 61508 : 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, la norme IEC 61508 introduit la notion d’outil support logiciel direct (susceptible d’avoir une influence directe sur le système de sûreté pendant son exécution) et d’outil de support logiciel autonome (prenant en charge une partie du cycle de vie, et n’ayant pas une influence directe sur le système pendant son exécution).

Les premiers doivent suivre le standard IEC 61508 comme tout composant logiciel de sûreté ; les seconds sont dissociés en trois niveaux :
  • 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
Alors qu’un outil T1 ne nécessite aucune méthode de qualification, un outil T2 doit disposer d’une spécification produit et faire l’objet d’une évaluation pour documenter le niveau de confiance pouvant lui être accordé, ainsi que les défaillances potentielles. Un outil T3 doit en addition démontrer qu’il est conforme à sa spécification et documenter les résultats de sa validation.

La suite d’outils LDRA (analyse statique et dynamique, tests unitaires et d’intégration) et CodeSonar de GrammaTech (Analyse statique avancée) disposent d’un pack de qualification IEC 61508 jusqu’à SIL 4.

De plus, les outils LDRA (lien vers LDRA TBvision Static) et l’outil d’analyse statique avancée GrammaTech CodeSonar ont obtenu une certification IEC 61508 (outils T2) permettant leur utilisation jusqu’à SIL 4.

IEC 61508 : Exigences au niveaux logiciels

La norme IEC 61508-3 exige, dans son chapitre 7, la mise en place d’un cycle de vie logiciel quel que soit le niveau de SIL, composé de 9 étapes contenant chacune plusieurs exigences méthodologiques :
  •  7.1 : Généralités ;
  •  7.2 : Spécifications de sécurité du logiciel ;
  •  7.3 : Planification de la validation de sécurité du logiciel ;
  •  7.4 : Conception et développement du logiciel (contenant les exigences relatives à l’architecture du système, aux langages de programmation et outils supports, à la conception détaillée, au codage, au test des modules logiciels et à l’intégration du logiciel) ;
  • 7.5 : Intégration de l’électronique programmable ;
  • 7.6 : Procédures d’exploitation et de modification du logiciel ;
  • 7.7 : Validation de sécurité du logiciel ;
  • 7.8 : Modification du logiciel ;
  • 7.9 : Vérification du logiciel.
Le chapitre 8, quant à lui, définit les dispositions nécessaires pour la conduite d’une évaluation de sécurité fonctionnelle pour juger de la conformité du système développé à la norme.

En addition, les annexes A et B listent, entre autres, plus de 150 techniques de tests et de vérification pouvant être effectuées suivant l’étape du cycle de vie ci-dessus, ainsi que suivant le niveau de SIL du système logiciel.

Voici un résumé des exigences les plus importantes :
Exigences_IEC61508_ISIT

IEC 61508 : Comment automatiser la réponse aux exigences logicielles ?

La norme IEC 61508-3 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 
  • Tests unitaires, d’intégration et système liés aux exigences 
  • Mesure de la couverture structurelle
De plus, l’analyse statique avancée et la détection d’erreurs « Runtime » au plus tôt dans le cycle de développement a pour but, en conformité avec les prescriptions de la norme IEC 61508, d’assurer l’atteinte du niveau d’intégrité alloué aux éléments logiciels du système, et requiert des outils qualifiés.

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

Ces articles peuvent vous intéresser

image blog article

Quelle solution pour assurer votre conformité IEC 61508 ?

REPLAY à la demande:Découvrez comment l'extension safety ISIT peut vous aider !

image blog article

Mettre en oeuvre la norme IEC 61508

Les progrès de l’automatisation signifient que le logiciel est souvent une technologie différente dans les systèmes électromécaniques. Lisez notre livre blanc pour en savoir plus sur la mise en œuvre de la IEC 61508 !

image blog article

Comment Sécuriser son Cycle de Vie du Développement Logiciel (Software Development LifeCycle - SDLC)

Les menaces en perpétuelle évolution qui pèsent sur les applications logicielles et leurs écosystèmes nous imposent de réfléchir aux moyens de contrôle de sécurité que nous utilisons pour nous assurer de garder de nos données à l’abri des gens malintentionnés. C'est là que la sécurité du cycle de vie du développement logiciel ou Software Development LifeCycle (SDLC) entre en jeu. Les entreprises doivent veiller à ce qu'au-delà de fournir des produits innovants à leurs clients avant la concurrence, la sécurité soit présente à chaque étape du processus SDLC.

image blog article

Intégrez l’Analyse Statique dans votre cycle de développement

Cet article est une introduction à la convergence entre sûreté et sécurité des systèmes embarqués, notamment pour démystifier ce que cela implique en détaillant une activité fondamentale dans le process de développement : l’analyse statique avancée.