B dans l industrie Utilisation de B événementiel.

Slides:



Advertisements
Présentations similaires
Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
Advertisements

Eléments de Génie Logiciel
La Gestion de la Configuration
Algorithmes et structures de données avancés
Spécification et qualité du logiciel
But de la lecture critique
EXAMEN ET GESTION DE PROJET INDUSTRIEL
LA QUALITE LOGICIELLE Plan du cours Le Plan Qualité 1 h ½
Validation des Systèmes Informatisés Industriels
Page : 1 / 6 Conduite de projet Examen du 6 mai 1999 Durée : 4 heures Le support de cours est toléré La notation tiendra compte très significativement.
Processus de validation basée sur la notion de propriété
Cours DESS Nantes 04 Décembre 2002
1 B Système Enjeux et principes Cours DESS Nantes 04 Décembre 2002 Didier ESSAME.
INTRODUCTION.
Modélisation des systèmes non linéaires par des SIFs
Les Ateliers de Génie Logiciel
La revue de projet.
Processus de validation basée sur la notion de propriété
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
Asservissement et régulation continue
Test de bus industriels à l'aide du ScopeMeter couleur Fluke 225C
Cliquer sous un texte en Italiques pour évoluer
Initiation à la programmation et algorithmique
le profil UML en temps réel MARTE
Démarche de résolution de problèmes
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Simulation multi-agent de phénomènes collectifs : quelques questions d’ordre épistémologique Frédéric AMBLARD Institut de Recherche en Informatique de.
Parcours de formation SIN-7
Initiation à la conception de systèmes d'information
Algorithmique et Programmation
CONSTRUCTION MECANIQUE LES COUPES ET LES SECTIONS
Techniques de test Boulanger Jean-Louis.
CSI3525: Concepts des Languages de Programmation
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Partie II Sémantique.
Méthodes formelles pour la conception de systèmes répartis par Luigi Logrippo et tous ses collaborateurs et étudiants École d`ingénierie et technologie.
Tolerance Manager Un concept métier
Sensibilisation a la modelisation
Ingénierie Système en SysML appliquée à la rédaction du cahier des charges Y. Le Gallou Séminaire académique STI2D - Calais – 1er avril 2014.
ANALYSE METHODE & OUTILS
Paradigmes des Langages de Programmation
Présenté par : Attia Hamza Merzouk Abdelkrim 2003/2004
Paradigmes des Langages de Programmation
Stratégie d’entreprise - Alstom Transport – Marco Férrogalini
Le GRAFCET.
Le management de l'IVVQ Processus techniques IVVQ
Supports de formation au SQ Unifié
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Algorithmique et programmation (1)‏
Introduction au Génie Logiciel
Intro en dessin.
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
Modèle Conceptuel des Traitements (MCT)
Initiation à la conception des systèmes d'informations
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Introduction et Généralités sur l’Algorithmique
1 Vers la gestion de la cohérence dans les processus multi-modèles métier Wolfgang THEURER Ecole Nationale Supérieure d’Ingénieurs des Etudes et Techniques.
2.4 Le langage SFC - Un langage de description de systèmes séquentiels
L’enseignement de spécialité SLAM
Scherrer G. TEL – Oral EP Sommaire Présentations : - Présentation du système technique. - Présentation de l’objet technique. - Présentation.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus Hiver 2002 Petko Valtchev.
L’analyse systémique DIAPORAMA CIFP Aix en Provence Décembre 2008
Présentation de la méthode Merise
Du Cahier des Charges à la Spécification Formelle ?
La situation : Clément et Zoé ont schématisé le circuit ci-dessous :
Loi des intensités et des tensions dans les circuits électriques
4 1 : A quoi sert la gestion de projet
Transcription de la présentation:

B dans l industrie Utilisation de B événementiel

application de B pour produire des systèmes sûrs Prérequis initiaux 1er niveau de conception Nième niveau de conception niveau de décomposition Spécification sous partie niveaux de conception Traduction en code executable ou hardware SYSTEME COMPLET Preuves : cohérence interne de chaque niveau que chaque niveau N+1 répond aux prérequis du niveau N En bleu : langage B Atelier B : traducteurs C,C++,ADA Atelier B : prouveur Possibilité de limiter la partie formelle au niveau specs détaillées

B une méthode formelle pour n le développement de logiciels sécuritaires ou de systèmes matériels sécuritaires n la rétro-ingénierie n les études systèmes n la validation de cahiers des charges

B est actuellement utilisé pour n Logiciels de Contrôles commandes (MTI, Alstom) n Validation de spécifications (PEUGEOT) n Validation / rétro-ingénierie de logiciels sécuritaires (MTI, Alstom)

Références industrielles (développement) n KVB, constructeur Gec-Alsthom Transport, client SNCF, lignes B, Preuves, lignes Ada Contrôle de vitesses, équipe 6000 trains depuis 93 n CTDC, constructeur Gec-Alsthom Transport, client Le Caire / Calcutta, 5000 lignes B, 700 preuves, lignes Ada Contrôle/commande, équipe le métro du CAIRE et CALCUTA (91) n SAET METEOR, constructeur Matra Transport International, client RATP, lignes B, preuves, lignes Ada Contrôle/commande embarqué dans le métro sans conducteur METEOR

B a aussi été étudié pour n Temps-réel n Protocoles de communication n Automatismes industriels n Conception dapplication de gestion avec données complexes

Description d'un système par ses propriétés n B garantit que l'ensemble des propriétés du système modélisé seront non contradictoires non ambiguës respectées par le système final n B apporte la formalisation du besoin la validation sans faille par la preuve la réutilisation la précocité de la détection des erreurs dans le cycle de développement, absence de retour d anomalies pour des besoins systèmes aussi bien que logiciels

Application de la Méthode B n On modélise en B des choix de réalisation du Système, certaines exigences. n Caractéristiques de la méthode description des propriétés dun Système à laide dun formalisme mathématique, modulaire, hiérarchique : notion de raffinement validation par la preuve : debug systématique.

2 styles de B n B événementiel Les opérations représentent des événements exemple : projet PEUGEOT n B « classique » les opérations représentent des services appelables exemple : METEOR

2 types d application n B système : Pour l analyse formelle des cahiers des charges Pour la conception d architecture des systèmes Ingénierie système souvent : B événementiel n B développement Pour la conception / développement de systèmes informatiques Le code informatique est produit par traduction des derniers niveaux de B (B0) souvent : B procédural

B événementiel pour les systèmes prérequis pour lensemble du système : écrits comme les événements dun modèle design : raffinements B decomposition software sous project: prérequis (modèle B) developpement partie software hardware sous project: prérequis (modèle B) production hardware hypothèses de contexte et conditions dutilisation (modèle B) instructions demploi et restrictions partie hardware produit final

Utilisation de B en phase amont succès du projet preuve en phase amont

A chacun son métier n B système : qui pratique B ? Le spécialiste métier qui rédige les spécifications ? n Sûrement pas ! Le spécialiste métier se concentre sur son métier ! Spécialiste métier + expert formalisation Résultats toujours traduits en langage naturel n B développement : qui pratique B ? Le concepteur et le développeur... n 2 organisations : Client + consultant ou sous traitance B (ex : PEUGEOT) Le client monte un pôle d experts B (ex : METEOR)

Evaluer B n B doit être employé avec des experts formaliser = conceptualiser ! débutant + B = programmation directe déguisée n Faire d abord des études pilotes examiner un sujet pour voir comment B pourrait s y appliquer appliquer sur un sujet à taille réduite (1 ou 2 mois) : étude pilote projet grandeur réelle n Eviter : évaluation par personne ne connaissant pas B seule

Mise en place d un processus B n mise en place en spirale : évaluation démarrage projet pilote projet taille réelle

Validation par la preuve PreuveAutomatique Examen des lemmes lemme faux PreuveInteractive 100% 70 à 85% 70 à 85% des lemmes justes 15 lemmes / jour 15 lemmes / jour Source B BUG 10% 10% correction Génération automatique de lemmes

Validation par la preuve n Procédé non décidable Les vérifications faites par un compilateur sont décidables n application d un algorithme prédéfini qui aboutit toujours Un prouveur applique un procédé non décidable n Avantages / inconvénients Aucune limite, tout problème peut se ramener à une preuve Résolution non totalement automatisable

Pourquoi choisir B système ? n Raisons économiques : Les imprécisions des spécifications coûtent cher n Avec B, peu de retours tardifs sur les spécifications n éviter la phase de « flou » si coûteuse n Raisons organisationnelles Quand les spécifications ne disent rien, qui a raison ? n Avec B, aucun non dit, aucune ambiguïté n Se différencier : Quelle différence sur une expertise de spécifications ? n Utilisation d une formalisation mathématique intégrale

Analyse B pour suggérer des précisions Documents : spécifications techniques STE Interviews, contacts, notes Modélisations B B Demandes de précision réponses Rapport

Analyse B pour produire des documents formalisés Documents : spécifications techniques STE Interviews, contacts, notes Modélisations B Retraduction en français B B Demandes de précision réponses

Analyse B et sûreté de fonctionnement Documents : spécifications techniques STE Interviews, contacts, notes Modélisations B Arbres de défaillance, AMDEC B SdF Demandes de précision réponses

Analyse B et constitution d arbres de dépannage Documents : spécifications techniques STE Interviews, contacts, notes Modélisations B Arbres dépannage B SdF Demandes de précision réponses Outil externe

Pourquoi choisir un développement B ? n Raisons économiques : Les tests coûtent beaucoup trop chers n Avec B, il n'y a plus de tests unitaires n Possible suppression des AEEL n Plus de retour sur anomalies Si on avait l intention de faire des tests... n Raisons sécuritaires : les erreurs peuvent avoir des conséquences catastrophiques n Avec B, il n'y a plus d'erreurs de conception et de programmation

Conclusion n Avantages d une application B système procédé « léger » bras de levier important qualification élevée justifiée n Difficultés résultats avec B contre résultat d une analyse « bon sens » B n est pas une justification, seul le résultat NECESSITE D ETRE HAUT NIVEAU : ABSTRACTION n savoir être haut niveau mais rester significatif

B événementiel pour les études systèmes n B procédural : force à être bas niveau n B événementiel : Doit être applicable facilement Doit permettre de rester haut niveau Ne doit pas être un nouveau langage de programmation La preuve doit être « courante » Eviter les lourdeurs

Expertise de spécifications avec B vérification « à plat » de cohérence / complétude : exemple PEUGEOT

Application de B à un niveau : mission STERIA chez PEUGEOT Documents : spécifications détaillées STE Interviews, contacts, notes Modélisations B Retraduction en français B B Principes de fonctionnement formalisés (PFF)

Application « 1 niveau » n Pas de raffinement : on modélise 1 niveau de détail pas de recherche d abstraction preuve simple de cohérence interne n Apports : Complétude Cohérence interne Disparition des ambiguïtés

Modélisation « 1 niveau » n Application de B très accessible n Règles : Ne pas programmer. Le modèle doit être le reflet de la compréhension du fonctionnement, pas une pseudo- programmation de la fonction représentée. Variables abstraites : une variable du modèle peut représenter une notion très abstraite, mais bien définie. n test : sur n importe quel scénario réel, le modélisateur doit savoir quelle est la valeur de la variable abstraite qui représente la situation observée. Evénements : chaque opération B représente un instant précis dans le temps

Lecture des principes de fonctionnement formalisés Exemple : fonction condamnation

Scénario choisi n T5, version supercondamnation n Le véhicule est condamné (condamnation simple) n Une personne est à l intérieur, sur la place avant conducteur n Cette personne actionne la poignée d ouverture de la porte conducteur : la porte s ouvre et le véhicule se déverrouille (override) þ Quel est le détail de ce qui s est passé ?

1. Action poignée n Evénement « Actionnement de la commande d ouverture intérieure », partie serrure dans le PFF fonction condamnation (PFF = principe de fonctionnement formalisé = retraduction du modèle B) n Effets indiqués : la serrure se déverrouille le pêne de la porte est libéré : la porte peut s ouvrir

2. Ouverture porte n Evénement « Ouverture d une porte dont le pêne est libre », partie porte dans le PFF fonction condamnation (PFF = principe de fonctionnement formalisé = retraduction du modèle B) n Effets indiqués : l angle d ouverture devient non nul la position du pêne devient « ouvert » ou « premier cran » le contacteur porte ouverte est fermé (il est asservi à la position du pêne : pêne « ouvert » ou « premier cran » implique contact fermé)

3. Détection par BSI n Evénement « Détection d une ouverture de porte avant », partie BSI dans le PFF fonction condamnation (PFF = principe de fonctionnement formalisé = retraduction du modèle B) n Effets indiqués : Si l état connu de la BSI est « condamnation simple », la BSI envoie l ordre de décondamnation (polarité sur les trois fils de commande des 4 serrures) Echo sur l écran, indication de l état déverrouillé sur la LED « état verrouillage » Annulation de l interdiction d ouverture hayon

4. Déverrouillage centralisé n Evénement « Arrivée d une commande sur une serrure », partie serrure dans le PFF fonction condamnation (PFF = principe de fonctionnement formalisé = retraduction du modèle B) n Effets indiqués : Les 3 autres serrures se déverrouillent

Points particuliers visibles dans le PFF n Que se passe t-il si la serrure était en fait super-condamnée ? Une serrure supercondamnée ne se décondamne pas sur action de la poignée intérieure Donc pas d ouverture Donc aucune détection par la BSI n Et si la commande d ouverture EXTERIEURE de la porte était maintenue levée pendant ce temps ? l action sur la poignée intérieure aurait été impossible

Points particuliers visibles dans le PFF n Et si la porte avait été maintenue en position fermée en la bloquant sur un angle d ouverture nul? la serrure conducteur est bien décondamnée mais pas de décondamnation centralisée : la porte n est pas détectée ouverte.

Modalités d application n Difficultés : modéliser n est pas programmer « qu est ce qui garantit que le événements se déclenchent ?» « comment modéliser un impulsion ? » « comment modéliser un processus continu ? » n Guide de modélisation image du « démon » animateur de modèles savoir ce que représentent les variables

Expertise de spécification B événementiel avec preuve

Travaux effectués n Modélisation B directe d une fonction train d atterrissage hélicoptère, telle que présentée sous forme d un schéma électronique Pour voir les précisions nécessaires à la modélisation Retraduction pour voir une modélisation B en format textuel n Recherche et modélisation d une spécification au dessus du schéma électrique Pour voir quelle serait une telle spécification Pour voir les résultats de preuve du schéma par rapport à cette spécification

Modélisation directe : précisions nécessaires n Précisions sur la définition des états électriques : 1 ou 0 suivant tension et résistance interne : norme ? n Précisions si perte alimentation carte : Temporisations remises à zéro quelle que soit la durée de la coupure ? Sorties forcées à zéro dès alimentation insuffisante ?

Extrait modélisation retraduite Loi de rentrée : Erre = Alim ET Cdre ET (Tvh/ OU Maintien force de rentrée) C'est-à-dire : la sortie de pilotage de rentrée de train est active si et seulement si l'alimentation de la carte est active, que la commande de rentrée est active, et que : - soit l'entrée train verrouillé haut est inactive ; - soit la carte est en phase de maintien force de rentrée

Recherche d une spécification n Recherche a priori, a partir du schéma électronique n Premier niveau : S il existe une volonté de rentrée de train, le train doit être rentré ou en train de rentrer. S il existe une volonté de sortie de train, le train doit être sorti ou en train de sortir.

Recherche de spécification n Deuxième niveau : une rentrée de train est en cours si la séquence suivante est respectée : n commande électrovanne de rentrée tant que les trois retours « verrouillé haut » non présents n maintien électrovanne de rentrée 2 secondes n maintien alimentation hydraulique 2 secondes Définition de la volonté : n Rentrée si commande de rentrée et pas de commande de sortie, et inversement n nulle dans les autres cas

Montage B obtenu Spécification 1er niveau : « si volonté... » Spécification 2ième niveau : « rentrée si séquence... » modèle carte niveau schéma électronique

Questions pour la spécification : exemples n Interruption séquence par coupure alimentation carte ou changement rapide commande : la séquence doit-elle être recommencée ? les temporisations doivent-elles recommencer ? n Définition de la volonté : Quoi faire si les deux fils de commande (rentrée et sortie) sont actifs ensemble ? Priorité à la sortie ? n Rôle de l électrovanne de dérivation ?

Preuves Spécification 1er niveau : « si volonté... » Spécification 2ième niveau : « rentrée si séquence... » modèle carte niveau schéma électronique cohérence interne : OK n2 par rapport à n1 : OK carte par rapport à n2 : NON OK

Preuve non OK carte // spécification n Spécification créée de toutes pièces ! n exemple de preuves non OK : Nous avons spécifié qu'en cas de disparition de la volonté (bouton en position intermédiaire), les deux électrovannes devaient être fermées. Dans le cas de Cdre qui passe à 1 alors que Cdso est à 1, la spécification n'est pas respectée ; on a au moins Erre = 1 et peut-etre Erso = 1. Pourtant il n'y a plus de volonté affichée.

Conclusion générale

Avantages de lapproche B n Le besoin est mieux compris mieux exprimé n Sa formalisation est mieux tracée mieux maintenable Inconvénients n Abstraire est difficile n Bien abstraire est très difficile Une bonne abstraction paraît simple (simpliste)

Utilisation industrielle de B n Dans un monde dominé par le court terme, y aura t-il beaucoup de systèmes entièrement prouvés ? Non ! n Si la technique est éradiquée des circuits décisionnels, y aura t-il beaucoup de cahiers des charges prouvés ? Non !

Utilisation industrielle de B n Savoir faire des modèles B ABSTRAITS, et néanmoins significatifs le raisonnement technique trop souvent une plongée dans les détails n Promouvoir un raisonnement formel au plus haut niveau B système n Promouvoir des développements soignés conduisant à des systèmes sûrs Lutter contre la prolifération des systèmes pas sûrs