Évaluation du respect des exigences de sûreté des logiciels
Transcription
Évaluation du respect des exigences de sûreté des logiciels
Journée SEE - SIC "Ingénierie des besoins" Évaluation du respect des exigences de sûreté des logiciels critiques dans le secteur nucléaire : outils et perspectives. 21 octobre 2004 à l'ENST - Paris Pascal Régnier ([email protected]) Jean Gassino ([email protected]). Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 1 Plan Quelles exigences dans l’industrie nucléaire en France ? Le rôle de l’IRSN Définir les exigences -> réglementation, évolutions Évaluer la satisfaction des exigences -> R&D Conclusion Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 2 Principe d’une centrale nucléaire Contrôle commande non classé de sûreté (régulations) Incident Système de protection Observation « passive » en fonctionnement normal Agit sur détection d’un événement initiateur Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 P Fonctionnement normal Exigences des systèmes nucléaires critiques architecture du contrôle-commande – pilotage, régulations (réglages des barres, vannes, etc..) – protection (chute des barres) -> systèmes physiquement différents. Le système de protection surveille, et au besoin stoppe la réaction. conséquences – fonctions critiques dans des systèmes dédiés (ex: système de protection) – tout le système de protection est critique, ses exigences fonctionnelles sont des exigences de sûreté Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 4 Exigences génériques et particulières (1) Exigences génériques… (textes réglementaires: CEI60880, RFS « logiciels »,…) ª… sur la conception – critère de défaillance unique (matériel) -> redondances – autotests – programmation défensive – ... ª… sur le processus de développement – exigences sur le processus de développement (phases, vérifications indépendantes, ..) Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 5 Exemple d’exigence générique Réglementation: extrait de la Règle Fondamentale de Sûreté (RFS II.4.1.a) Ea 3.9. La documentation concernant chaque activité du cycle de développement du logiciel doit comporter les relations (traçabilité*) entre les éléments décrits par cette documentation et ceux contenus dans les documents des activités situées en amont. Le niveau de traçabilité doit être apprécié en regard de l’exigence Ea 3.8. Une pratique acceptable peut être de mentionner dans chaque partie d’un document les références au(x) paragraphe(s) du (des) document(s) des activités situées en amont nécessaires à l’établissement des relations visées par cette exigence. Ea 3.8. La documentation et le programme exécutable du logiciel doivent permettre le contrôle indépendant de la cohérence de chaque représentation du logiciel et de l’absence de contradiction entre les différentes représentations. Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 6 Exigences génériques et particulières (2) exigences particulières à chaque système 1 1+τp Elaboration – Etape 1: Études d'accidents => liste des évènements initiateurs (accidents de référence) + vérification du caractère enveloppe – Etape 2: Définition des fonctions nécessaires pour détecter chaque événement initiateur et atteindre un état d'arrêt sûr + recherche de fonctions diversifiées & S R ex: rupture de tube de générateur de vapeur -> détection par Basse Pression circuit primaire -> détection par Haut niveau GV => définition des « chaînes de protection » et représentation graphique (complétée par des textes) Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 & & 7 L’industrie nucléaire en France - un seul exploitant de centrales (EDF) - choix de paliers standardisés (REP 900, 1300, 1400 MW) -> un seul constructeur de chaudières (Framatome) -> un seul fabricant de contrôle-commande jusqu’au 1400 MW Les interlocuteurs se connaissent depuis longtemps et ont une culture commune. Les besoins fonctionnels ont été élaborés lors du palier 900 (logique câblée), puis transposés à la technologie logicielle pour les 1300 et 1400 MW (en intégrant des évolutions fonctionnelles à chaque palier). -> la représentation en diagrammes d’automaticiens est restée. Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 8 Le rôle de l’IRSN Acteurs de la sûreté nucléaire en France Exploitants: EDF, COGEMA, CEA,… Autorité de sûreté: Direction Générale de la Sûreté Nucléaire et de la Radioprotection + antennes régionales (260 personnes) Appui technique: Institut de Radioprotection et de Sûreté Nucléaire (expertise et recherche, 1500 personnes) Démarche - Analyse de la documentation produite à l'issue du cycle de développement. (y compris code source et code binaire) - Débat technique contradictoire - Avis techniques délivrés par l'IRSN en vue d'une autorisation de fonctionnement pour une installation… Nb: Pas de "certification" d'équipements ou de logiciel Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 9 Action IRSN en matière de réglementation (1) Le référentiel actuel est basé sur des textes - nationaux (RFS II 4 1 a) - internationaux (CEI 60880) Les points principaux sont le « déterminisme fin », la formalisation et la vérification « boîte blanche » de chaque étape, l’indépendance de la vérification. -> adéquation des exigences initiales, vérification de leur respect tout au long du cycle de vie. -> la "lourdeur" du cycle de vie stabilise les exigences. Cette réglementation est très bien adaptée à des développements « sur-mesure » Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 10 Action IRSN en matière de réglementation (2) L’évolution des pratiques industrielles concerne aussi l’industrie nucléaire (même avec du retard), et amène du bon et du .. moins souhaitable. -> les textes réglementaires évoluent, et l’IRSN y participe activement (CEI, RCCE, NRWG, actions internationales diverses..) Exemple d’enjeu : COTS, CEP (« smart sensors ») -> comment vérifier le respect des exigences du domaine nucléaire pour des composants conçus pour un marché bien plus vaste? -> quelles exigences alternatives mais restant «sécurisantes»? .. problème ouvert Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 11 Respect des exigences ? Évaluer le respect des exigences de sûreté est une activité technique, basée sur des analyses du produit. Constats simples: - rôle primordial des logiciels de sûreté en France - taille croissante des logiciels ( x10 à chaque palier) - modes de défaillance spécifiques au logiciel, dus aux couplages invisibles au niveau fonctionnel - comportement discontinu du logiciel (if .. then .. else ..), impossibilité du test exhaustif, limites fondamentales et pratiques à la vérification Conclusions: - il n’existe pas de méthode/outil de vérification définitif - une action constante de R&D est indispensable pour que l’évaluation ne soit pas (trop) en retard sur la technologie (introduction de noyaux temps réel, de CEP, ..) Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 12 Méthodes et outils programme de R&D : initié au milieu des années 80 (1300 MW) - analyse dynamique : R&D -> CLAIRE * (exécution de binaires en environnement simulé) - analyse statique : R&D -> AVIS (analyse de spécifications, voir plus loin) Expérimentation MALPAS (exécution symbolique) R&D -> FLUCTUAT * (précision numérique par interprétation abstraite) R&D -> analyse d’impact des modifications * utilisation Polyspace Verifier R&D -> Chronoscope * ( analyse outillée des problèmes spécifiques au multitâche: identifications de règles de conception et vérification dans le code source) R&D -> GATeL * (génération automatique de cas de test, mesure objective de la couverture d’un ensemble de cas) * : en collaboration avec le CEA Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 13 Retour d'expérience du Programme AVIS •AVIS = Analyse pour la Validation Informatisée de Spécifications •Programme de R&D 1994 -> 1998. •Objectif: Développer des méthodes et outils pour une analyse plus systématique des spécifications en langage naturel •Approche: (linguistes + ingénieurs) => outils informatiques. Texte en Français Modélisation (manuelle) actions et objet et relations d'après contenu grammatical du texte Outil NOMINO FX (analyseur lexical) Proto. FOCUS Proto. EXIGENCIA Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 "Model checking" linguistique Ex: instabilités lexicales Syntagmes nominaux et verbaux… … point de départ pour analyses automatisées… Identification des marqueurs de flou Identification des marqueurs d'exigences 14 AVIS (2) Enseignements: - problème difficile (I.A.) pas de solution générale - possibilité d'outils "simples" pour traiter 75 -80% des cas mais impossibilité d'aller au delà même au prix de développement conséquents. - sensibilitation de l'analyste 'manuel' aux notions d'instabilité lexicale, de marqueur d'exigence et de marqueur de flou. - … les (véritables) spécifications sont pour l'essentiel exprimées sous forme graphique et non textuelle (Diagrammes Fonctionnels) Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 15 AVIS (3) Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 AVIS (4) exemples de "marqueurs d'exigences" à chaque; afin de; chaque fois que; constituée de; dans ce cas; dans la mesure où; dans le cas où; dans toute; de la façon suivante; de manière à; de sorte que; dès que; dispose de; disposer d'; disposera des; du fait de; en fonction de; exigences; faudra; il existe; imposées au; inclus; inférieur; jusqu' à ce qu'; jusqu' à ce que; liés à; liés à; limites; lors de; maximal; ne doit pas; ne doivent pas; nécessaires au; nécessitent; pour; pour chaque; quand; requiert; S' il; si nécessaire; sinon; sont les suivantes; sont les suivants; soumis à; sous réserve que; suffisante pour; suivante; suivantes; supérieur; tel qu'; telle que; telles que; tels que; tient à; tout; toute; toutes; un seul; une fois que; uniquement; … Nb: sur le même principe il est possible de repérer les "marqueurs de flou" pour identifier des exigences imprécises (ex: quelques, certaines,…). Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 17 GATeL Utilisé pour la couverture des tests fonctionnels, l'outil GATeL permet au passage un découpage d'une spécification graphique en exigences. Spec … Y = A and B Modèle Lustre Directives de dépliage GATeL Arbre de test Cat 1: Y Vrai Cat 1.1: A vrai B vrai Sortie Y Cat 2: Y faux Cat 2.2: B faux Cat 2.1: A faux - Modèle Lustre direct à établir à partir des DFP. - expression formelle du découpage - découpage à la carte: Exemples: - les différentes façons de déclencher un arrêt d'urgence - les différents comportements de chaque module du diagramme Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 18 Conclusion - Exigences de sûreté critiques localisées dans des systèmes dédiés. - Expression des exigences (spécifiques) dans un formalisme adapté à leur nature (compromis clarté / non-ambiguité) - Développement: - exigence de traçabilité dans la réglementation (RFS) - nombreuses phases de vérification indépendante (vérification du respect de toutes les exigences issues de la phase précédente)+ validation - la "lourdeur" du cycle de vie stabilise les exigences. - Evaluation indépendante (du respect des exigences): - Evaluation des dispositions en matière de tracabilité (exam cycle de vie.) - Evaluation du contenu technique: - exigences initiales - respect des exigences d'une phase à la suivante.. Pistes et outils pour aller au delà de la relecture de document… … problème difficile besoin de R&D. === Journée SEE-SIC Ingénierie des besoins. Paris, le 21 octobre 2004 19