AQL: un laboratoire pour la vérification et la validation des logiciels.

Boulanger Jean-Louis

Responsable Projet

EST/ITF/AQL

RATP,

7 Square Felix Nadar,

94684 VINCENNES CEDEX

jean-louis.Boulanger@ratp.fr

 

Résumé: Le laboratoire AQL (Atelier de Qualification des Logiciels) fait partie de l’unité d'Ingénierie du Transport ferroviaire (ITF) du département Equipements et Systèmes du Transport (EST). Il est le premier laboratoire français accrédité par le COFRAC (COmité FRançais d'ACcréditation) pour mener des essais dans le cadre du programme 152. Le programme 152 s'intitule "évaluation en sûreté de fonctionnement des systèmes logiciels". L'accréditation du laboratoire EST/ITF/AQL a porté sur le processus de vérification et de validation qui a été mis en place suite aux travaux menés sur le SAET-METEOR et le SACEM. Ce processus de vérification et de validation est construit sur un référentiel qualité et des procédures métiers.

 

 


1         Historique et Présentation

 

Depuis les années 80, l’informatisation des systèmes ferroviaires n’a fait que croître. En effet, le contrôle commande des systèmes de transport ferroviaire est passé d’un système basé sur l’électronique à un système basé sur le logiciel. Ce changement s’est fait au travers de la mise en place de plusieurs systèmes ferroviaires tels que le SACEM (Système d’Aide à la Conduite, à l’Exploitation et à la Maintenance), le TGV, le SAET (Système d’Automatisation de l’Exploitation des Trains) METEOR (Métro Est Ouest Rapide) ou le KCVP. Lors de la mise en place du SACEM, la RATP a du se doter de moyens et de techniques lui permettant de vérifier la bonne marche du contrôle commande d’un système ferroviaire contenant du logiciel.

 

Le monde ferroviaire s'est investi largement dans la mise en place d'un référentiel normatif adapté au développement de systèmes de contrôle commande pour des applications ferroviaires. Ce travail s'est concrétisé par trois normes NF EN 50126, NF EN 50128 et NF EN 50129.

 

Comme dans tout système complexe, les différents éléments constitutifs peuvent être classés en différentes catégories aux vues de leur criticité. La criticité est fonction de l’impact d’une anomalie sur le système. La norme NF EN 50126, qui traite des activités de sûreté de fonctionnement, définit la notion de niveau d'intégrité de la sécurité logicielle à atteindre (NISL). La norme NF EN 50128 traite des méthodes qu'il est nécessaire d'utiliser pour fournir des logiciels répondant aux exigences d'intégrité de la sécurité imposées par le niveau d'intégrité de la sécurité logicielle à atteindre.

2         Processus de vérification

 

Afin de mettre en service un nouvel équipement (ou système) contenant des logiciels de sécurité (NISL3 ou 4) la RATP réalise un contrôle. Ce contrôle peut être de l'un des types suivants: qualification et/ou aptitude à l'emploi. Dans le cadre de la qualification des logiciels de sécurité, le laboratoire EST/ITF/AQL réalise trois types d'activités:

·         Un contrôle des travaux de l'industriel,

·         Une double vérification,

·         Des audits de contrôle du processus.

 

Le développement d’un équipement commence par la mise en place d’une spécification fonctionnelle qui est ensuite découpée en n composants matériels ou logiciels (sécuritaire ou non), chaque composant est ensuite détaillé avant d’être testé. La figure 1 place le développement logiciel au sein du cycle de développement en V.

A3

 

Spécification Logicielle

 

A4

 

A2

 

 

 

Tests Intégration Logiciel/Matériel

 

Codage

 

Tests Unitaire

 

Tests Intégration

 

Tests Fonctionnel

 

Conception

 

Spécification fonctionnelle d’un équipement

 

Figure 1 : Cycle de développement

 

Il y a quatre audits de contrôle qui sont prévus, le premier audit est lié à la mise en place d’une organisation  chez l’industriel et à l’approbation des plans de l’industriel (développement, validation, sécurité, ..), le second audit (A2) a pour but de contrôler que l’ensemble des plans a bien été appliqué pour réaliser la spécification fonctionnelle de l’équipement étudié et du logiciel, le troisième audit (A3) permet de contrôler l’application des plans de développement et de validation, une fois l’ensemble des tests réalisés (unitaire, intégration et fonctionnel) il est possible de réaliser le dernier audit (A4).

 

Une fois l’ensemble du processus déroulé par l’industriel, l’ensemble des éléments (documents et logiciels) sont fournis à la RATP pour que le laboratoire puisse réaliser une évaluation approfondie de la sûreté de fonctionnement du logiciel. Le processus d’évaluation du laboratoire est basé sur la mise en place d'une vérification réalisée par une équipe indépendante avec des méthodes différentes de celles mises en place par le constructeur. Cette vérification porte autant sur la conception fonctionnelle que sur la vérification de la réalisation finale. La vérification est découpée en deux tâches : un contrôle de l’industriel et une vérification indépendante.

 

Le contrôle de l’industriel consiste à vérifier l’application de l’ensemble des plans et les productions associées. Ce contrôle s’applique donc aux documents, aux sources et aux tests. Chaque écart doit être justifié par l’industriel.

 

Tout comme dans le cas de la validation du système MAGGALY, le processus de vérification mis en place par le laboratoire EST/ITF/AQL est basé sur la notion de propriété de sécurité. Des analyses critiques permettent l'édition d'un document définissant l’ensemble des propriétés formelles, fondées sur la logique mathématique, que les logiciels de sécurité de l’équipement doivent vérifier. L’ensemble des propriétés formelles permet de décrire le comportement du logiciel à vérifier de manière précise, non ambiguë et démontrable.

 

Les fonctions de sécurité complexe, complexe signifiant que l’ensemble de leur comportement ne peut être appréhendé humainement, sont ensuite modélisées en relation avec la spécification. Les propriétés formelles sont implantées au sein de ce modèle. Ce modèle doit être implanté dans un outil informatique permettant de raisonner et d’effectuer des simulations de scénario de tests.

 

3         Accréditation COFRAC

3.1      L’accréditation

La mise en place d’un référentiel qualité basé sur des procédures métiers (vérification de spécifications, validation de fonctions critiques, analyse d’impacts …) a permis au laboratoire EST/ITF/AQL de présenter au COFRAC des essais dans le cadre du programme 152. Le programme 152 s'intitule "évaluation en sûreté de fonctionnement des systèmes logiciels". L'accréditation du laboratoire EST/ITF/AQL a porté sur le processus de vérification et de validation qui a été mis en place suite aux travaux menés sur le SAET-METEOR. En 1999, année de l’accréditation du laboratoire EST/ITF/AQL, le fonctionnement des laboratoires d'essais était défini par la norme française NF EN 45001. Depuis octobre 2001, le COFRAC utilise pour référence la norme ISO/IEC 17025.

 

Courant mai 1999, le laboratoire AQL a présenté et a obtenu l’accréditation COFRAC pour les 5 essais présentés soit SUR 1, SUR 2, SUR 11, SUR 13 et SUR 14 du programme 152. Le laboratoire AQL fut d’ailleurs le premier laboratoire français à présenter et à obtenir une accréditation sur ce programme. L'un des travaux menés par le laboratoire EST/ITF/AQL fut de réaliser une matrice de traçabilité entre les essais et les éléments du référentiel qualité décrivant les processus du laboratoire. Courant Juin 2000, l'accréditation COFRAC a donné lieu à un audit de surveillance. Cet audit a été l'occasion pour le laboratoire de présenter un essai complémentaire : SUR 5 intitulé "Vérification orienté Sûreté de Fonctionnement de la documentation de conception du logiciel". Le laboratoire a décliné cet essai dans le cadre d'un développement B. La méthode B, développé par Jean-Raymond Abrial, a été utilisée par Siemens Transportation System dans le cadre du développement du SAET-METEOR. L'accréditation COFRAC du laboratoire EST/ITF/AQL a ainsi été reconduite pour les 5 premiers essais et étendue à ce sixième essai.

 

Afin d’étoffer son catalogue de prestations et de couvrir au mieux le processus de qualification, précédemment défini, le laboratoire devrait à terme présenter au moins deux nouveaux essais : l’essai SUR10 intitulé "Vérification orientée Sûreté de Fonctionnement du code. Inspection, Analyse statique" et l’essai SUR12 "Vérification orientée Sûreté de Fonctionnement de la documentation des tests du logiciel (Plan, cas de test et résultat)". L’essai SUR10 couvre l’analyse du code et l’essai SUR12 est un contrôle du processus de test de l’industriel.

 

Les résultats de ces essais sur les logiciels ne sont que des éléments à utiliser pour conclure sur la sûreté de fonctionnement des systèmes informatiques qui incluent ces logiciels. Il est indispensable de rappeler que les essais sont limités à un logiciel évalué dans un contexte d’essais précis (matériel et environnement). Les résultats obtenus ne doivent pas être généralisés automatiquement à des contextes opérationnels différents.

 

3.2      Description des essais

L'essai SUR2 (figure 2) intitulé "Modélisation orienté Sûreté de Fonctionnement de la spécification logicielle" contient l'essai SUR1 intitulé "Vérification orientée Sûreté de Fonctionnement de la documentation de la spécification logicielle. L'essai SUR1 consiste en une analyse précise de la documentation avec traçabilité des exigences de sécurité. L'essai SUR2 contient donc cette analyse et poursuit l'étude jusqu'à l'obtention d'un modèle de la spécification. Ce modèle doit prendre en compte les exigences issues de l'analyse et permet de vérifier l’aspect fonctionnel de la spécification.

 

Figure 2. Vérification de Spécification

 

L'essai SUR11 intitulé "Mesure de la couverture des exigences de Sûreté de Fonctionnement par les tests" a pour but de réaliser les tests décrits dans le cahier de test du client. L'essai SUR13 intitulé "Tests de validation orienté de Sûreté de Fonctionnement" est découpé en deux phases (figure 3), définition des tests et réalisation des tests (SUR11).

 

Figure 3. Vérification de fonction.

 

L’essai SUR 14 intitulé "Analyse orientée Sûreté de Fonctionnement de l’impact des modifications du logiciel" permet d’étudier l’impact d’une évolution sur le logiciel.

3.3      Application

Les essais SUR1, SUR2, SUR13 et SUR14 sont appliqués à chaque évolution des systèmes SACEM et SAET-METEOR. Dans le cadre du SAET-METEOR, l’essai SUR5 est nécessaire car il permet de vérifier la conception formelle.

 

Conformément à la première partie, pour les nouveaux systèmes de transport ferroviaire mis en service à la RATP, les essais SUR1, SUR2, SUR5 et SUR14 seront réalisés.

 

L’ensemble des essais COFRAC, pour lesquels le laboratoire EST/ITF/AQL est accrédité, peuvent être réalisés pour des clients externes (SNCF, Systra, CERTIFER ou EURAILTEST) ou pour des clients internes sur d’autres types de systèmes.

 

Depuis plusieurs années, les systèmes à base de contrôle/commande de toutes natures ont été équipés de systèmes programmés. Les systèmes annexes tels que les escaliers mécaniques, les ventilations et autres équipements électro-mécaniques qui participent à la sécurité du système ne faisant pas exception, ils se sont vus équipés d'un contrôle/commande programmé géré par un automate programmable. Etant donné leur implication dans la sécurité et la disponibilité, ces systèmes doivent être faire l’objet d’une évaluation de la sûreté de fonctionnement adaptée.

 

Le laboratoire travaille actuellement sur la vérification des spécifications fonctionnelles (SUR2) d’un escalier mécanique, d’une ventilation et d’un poste de redressement et la validation fonctionnelle (SUR13) du poste de redressement. Ces travaux ont permis de démontrer la robustesse des processus du laboratoire et leurs généricités.

4         Conclusions

Le référentiel qualité du laboratoire EST/ITF/AQL est fondé sur un ensemble de procédures métier qui ont été élaborées lors de la vérification et la validation des logiciels critiques du SAET-METEOR et du SACEM. Ces procédures métiers ont donc été testées sur des projets de taille réelle et reconduites sur l'ensemble des nouveaux projets. Le laboratoire EST/ITF/AQL fut le premier laboratoire accrédité par le COFRAC pour mener des essais dans le cadre du programme 152 et il reste le seul. De part cette implication des acteurs métiers dans la mise en place de ce référentiel qualité, le laboratoire a su intégrer les coûts de la qualité dans ces travaux.

 

De part sa nature, le laboratoire EST/ITF/AQL peut réaliser des prestations en interne (département EST ou autre) ou en externe (SNCF, Systra, CERTIFER, EURAILTEST ou autres).


Encart 1 : COFRAC

 

Créé en 1994, le COmité FRançais d'ACcréditation (www.cofrac.fr) permet aux laboratoires et organismes qu'il accrédite d'apporter la preuve de leur compétence et de leur impartialité. La section Laboratoire procède à l'accréditation des laboratoires d'essais et d'analyses selon la norme ISO/CEI 17025 précisés par des programmes d'accréditation. Le COFRAC constitue un élément essentiel de la promotion de la qualité et gère aujourd’hui plus de 1500 accréditations.

 

Le laboratoire EST/ITF/AQL a demandé une accréditation dans le cadre du programme 152, ce programme s'intitule "évaluation en sûreté de fonctionnement des systèmes logiciels". Par « sûreté de fonctionnement des systèmes logiciels », il faut entendre la contribution de la composante logicielle à la sûreté de fonctionnement d’un système informatique. La sûreté de fonctionnement des logiciels est présente dans de nombreux domaines et les essais contenus dans le présent programme peuvent s’appliquer aux logiciels de tous les domaines.

 

Encart 2 : SAET – METEOR (Mettre une photo de METEOR)

 

Le système METEOR (Métro Est Ouest Rapide), installé sur la ligne 14, est gérée par le SAET (Système d’Automatisation de l’Exploitation des Trains) qui est un système temps réel réparti complexe dont la principale fonction est d’assurer le transport des voyageurs, tout en garantissant  un niveau de sécurité très élevé pour les voyageurs.

 

La ligne METEOR permet la circulation de trains non équipés avec conducteur et de trains équipés avec ou sans conducteur permettant la conduite automatique. Dans le cas des trains équipés, il existe deux modes, la conduite manuelle et la conduite automatique intégrale.

 

La ligne 14 a été mise en service le 15 octobre 1998, elle est composée de 7 stations qui sont réparties sur une distance de 7,2 km. La vitesse commerciale est de 40km/h et l’intervalle entre deux trains est de 85s pour les trains équipés en conduite automatique intégrale.

 

Encart 3 : Automates Programmables (Mettre la photo d’un escalier mécanique et d’une ventilation)

 

Les systèmes annexes tels que les escaliers mécaniques, les ventilations et autres qui participent à la sécurité du système se sont vus équipés d'un contrôle/commande programmé géré par un automate programmable. Dans le cadre du renouvellement des escaliers mécaniques de PASSY, le laboratoire EST/ITF/AQL s’est vu confié la mission de vérifier la spécification fonctionnelle (SUR2). Cette spécification fonctionnelle fait partie du Cahier des charges qui a été envoyé aux fournisseurs lors de l’appel d’offre.

 

 

Encart 4 : Modélisation (photo a faire)

 

Dans le cadre d’un système, qu’un humain n’est pas capable d’appréhender dans son ensemble, il est recommandé de réaliser une modélisation de celui-ci. La modélisation consiste à construire une abstraction du problème qui est implanté dans un outil informatique permettant de raisonner et d’effectuer des simulations de scénario de tests.