Processus de validation basée sur la notion de propriété Marcel Gallardo RATP 1
Sommaire Présentation de METEOR Processus de développement MTI Processus de validation RATP Essais accrédités par le COFRAC Conclusions 2
Présentation de METEOR 3
le SAET de METEOR, c'est... Un système automatique complexe fortement intégré matériel roulant, équipements électriques, infrastructures, automatismes,... Six sous-systèmes : - Moyens audio et vidéo - Poste de Commande Centralisée - Logique traction - Portes palières - Pilotage automatique - Signalisation 4
le SAET de METEOR, c'est... la mixité des circulations Trains équipés d automatismes - mode de conduite automatique intégrale ou - mode de conduite manuel et trains non équipés 5
et METEOR est aussi devenu la ligne 14 du métro parisien Mise en service le 15 octobre 1998 7,2 km de ligne exploitée, de Madeleine à Bibliothèque François Mitterrand pour 7 stations dès maintenant une capacité de 25 000 voyageurs par heure et par sens 19 trains de 6 voitures (extension à 8 voitures prévue) une vitesse commerciale de 40 km/h un intervalle de 85 secondes pour les trains en Conduite Automatique Intégrale 6
Un automatisme complexe 1 - vidéo-surveillance train 2 - inter-phonie train 3 - vidéo-surveillance quai 4 - inter-phonie quai 5 - portes palières 6 - pilotage automatique embarqué 7 - tapis de transmission 8 - transmission sol - bord 9 - signalisation 10 - pilotage automatique fixe - 1 PA de ligne - des PA de section 11 - poste de commandes centralisé 7
Une architecture répartie de calculateurs redondés Poste de commande centralisé Pilote Automatique de Ligne Pilote Automatique Sol 1 Pilote Automatique Sol 2 Pilote Automatique Sol n Pilote Automatique Embarqué 1 Pilote Automatique Embarqué 2 8
Présentation du processus de développement 9
le rôle des acteurs, côté logiciels Le Constructeur MTI La RATP conçoit et valide contrôle et valide par spécifications développe ment dont....méthode B utilisation de l'atelie r B preuve B transcodage tests génération des données gestion de configuration par modélisations statiques analyses de sécurité processus de revues traçabilité validation des rè gles B analyse de code tests des exige nces....de sécurité couverture des tests validation des données les méthodes leur application la traçabilité les docum ents les rè gles B les preuves B par modélisations dynamiques analyse des algorithmes travaux sur l'atelie r B tests fonctionne ls et....tests agressifs sur....calculateur cible couverture des tests validation des données régénération du code gest. de configuration 10
Séparation du code et des données STBL Description de la ligne Caractéristiques des trains Modèle B Code ADA sécurisé Invariants de Besoin EXECUTABLE 11
le cycle de vie des logiciels B spécification littérale du logiciel preuve ré-expression formelle en B conception formelle preuve preuve tests fonctionnels intégration logicielle génération de programme (automatique) 12
Processus d élaboration des données Description de la ligne Caractéristiques Des trains Outil de Génération Invariants Topologique PAE Invariants Topologique PAL Invariants Topologique PAS1 Invariants Topologique PASn 13
Présentation du processus de validation RATP 14
Cycle de vie en V CDCF SFE Modélisation Tests Fonctionnels STBL EXECUTABLE 15
Processus RATP Certification du calculateur de base Validation fonctionnelle indépendante de celle de l industriel Contrôle RATP des activités de l industriel 16
Certification du calculateur Pour Météor la RATP a Vérifié les démonstrations de sécurité Mené ses propres analyses : - Identification des fonctions de sécurité - Prise en compte et déclinaison des exigences de sécurité 17
Méthode de validation RATP (1) Formalisation des activités et responsabilités par un Plan de Validation des logiciels Formalisation de la méthode de détermination des tests par des Plans de tests de niveau équipement Formalisation de la méthode de validation des données par des Plans de validation des données de niveau équipement 18
Méthode de validation RATP (2) Réflexion depuis les niveaux sous-système et équipement Modélisation dynamique des spécifications : - validation des spécifications - préparation des cahiers de tests Validation du logiciel sur calculateur cible Mesure de la couverture des tests / spécifications 19
Méthode de validation RATP (3) Validation des principes fonctionnels basée sur la détermination de propriétés de sécurité Validation des interfaces entre équipements par l analyse de fonctions transversales Validation des données par reconstruction à partir des codes sources des données géographiques 20
Principe de Modélisation PROCESSUS ENVIRONNEMENT Transitions accessibles à l'utilisateur - Défaillances - Réparations - Activations - PROCESSUS D'OBSERVATION ENTREES : - Environnement - Résultats de calcul SORTIES : - Vérification des séquences de calcul - Vérification des équations EVALUATION LOCALE DES ETATS ATTEINTS PROCESSUS D'EVALUATION EVALUATION DES ETATS GLOBAUX - Par sous-fonction - Pour la fonction EVALUATION DES PROPRIETES SITUATIONS PHYSIQUES EQUATIONS DU SYSTEME PROPRIETES 21
OBSERVATEUR On observe le résultat de l application des principes définis dans les spécifications sur les événements issus de l environnement. * Vérification des séquences de calcul et de l état atteint * Vérification des équations de la fonction observée IL PERMET LE LIEN AVEC LA CONCEPTION FORMELLE B Les propriétés de CORRECTION et de COMPORTEMENT <--> INVARIANTS B IDENTIFICATION SYSTEMATIQUE DE SCENARII : * Situations physiques (trains, matériel), * Définition des étapes transitoires (séquencement des états de calcul), * Valeurs attendues 22
EVALUATEUR IL VERIFIE L ENSEMBLE DES PROPRIETES DE SECURITE : Il évalue, A PARTIR DE SA PROPRE BASE DE REGLES, la correction et la cohérence des sorties produites en fonction des entrées issues de l environnement. IL CONSTITUE UNE AIDE AU DEPOUILLEMENT DES RESULTATS DES TESTS SUR CIBLE : Les propriétés sont vérifiées sur les résultats produits lors de l exécution des scénarii de test. 23
Exemple de propriété de sécurité P2 : seuls les trains équipés, localisés et ayant un mode de conduite automatique peuvent disposer d une cible P3 : L état interne du PAS représentant l occupation de la voie doit être cohérent avec l ensemble des trains (équipés ou pas) présent dans la zone gérée par ce PAS. 24
Outils de modélisation ASA, ASA+ : ELSIR : SADT Automate étendue communicant Noyau de vérification Réseau de pétri 25
La Validation des données Vérification sur le terrain des données initiales Validation outillée par la RATP effectuant la fonction de transfert inverse vérifiant le respect des contraintes de sécurité (exprimées formellement dans le langage LPIC) 26
Outils de validation des données OK ou KO Données Générées OK ou KO Outil de Comparaison Outil de Vérification des Contraintes Outil de Génération Invariants Topologique d'un équipement Description de la ligne Caractéristiques des trains 27
Exemple de contrainte sur les données P4 : L ensemble des circuits de voie forme une partition de la voie. P10: Il existe une cible (unique) par sens autorisé pour un CV. Le sens de ralliement de la cible est nécessairement celui du CV. P15: Il doit y avoir deux DN de substitution par CdV substituable. 28
Accréditation par le COFRAC 29
Accréditation COFRAC Action stratégique décidée par la direction du département ESE sous l impulsion des tutelles Référentiel qualité du laboratoire basé sur les normes EN 45 001 et EN 50 128 Procédures métiers basées sur la démarche de validation RATP Élargir le périmètre des marchés et Garantir au client compétence, indépendance et impartialité 30
Essais accrédités (1) Accréditation sur 5 essais du programme 152 du COFRAC : - Essai SUR1 : Vérification orientée Sûreté de Fonctionnement de la documentation de spécification du logiciel - Essai SUR2 : Modélisation orientée Sûreté de Fonctionnement de la spécification du logiciel 31
Essais accrédités (2) - Essai SUR 11 : Mesure de couverture des exigences de Sûreté de Fonctionnement par les tests - Essai SUR 13 : Tests de validation orientée Sûreté de Fonctionnement - Essai SUR 14 : Analyse orientée Sûreté de Fonctionnement de l impact des modifications du logiciel 32
CONCLUSIONS 33
Quelques éléments statistiques sur le développement 1 150 composants B 115 000 lignes de code B 27 800 obligations de preuve 150 000 lignes de code ADA (données comprises) pour les 3 équipements 34
sur le processus RATP 20 Dossiers de principe 23 Modèles 30 Cahiers de tests Plus de 5 000 tests en environnement temps réel simulé. 35
Anomalie/Remarques 400 remarques critiques pour la sécurité au niveau des spécifications 110 anomalies sur l ensemble des versions des logiciels de sécurité (3 versions sur 3 applicatifs différents) 36
le bilan sur METEOR Un processus de vérification de spécification basée sur les propriétés (fonctions + données) Un processus de tests sur cibles avec vérification de propriétés Un logiciel qui a fonctionné dès sa première installation Une maîtrise accrue des évolutions et... la conviction de la sécurité 37