52
B dans l ’industrie B dans l ’industrie Utilisation de B événementiel

B dans l industrie Utilisation de B événementiel

Embed Size (px)

Citation preview

Page 1: B dans l industrie Utilisation de B événementiel

B dans l ’industrieB dans l ’industrie

Utilisation de B événementiel

Page 2: B dans l industrie Utilisation de B événementiel

application de B pourapplication de B pourproduire des systèmes sûrsproduire des systèmes sûrs

Prérequis initiaux

1er niveau de conception

Nième niveau de conception

niveau de décomposition

Spécification sous partieSpécification sous partie

niveaux de conception 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 limiterla partie formelleau niveau specs

détaillées

Page 3: B dans l industrie Utilisation de B événementiel

B une méthode formelle pourB une méthode formelle pour

le développement de logiciels sécuritaires ou de systèmes matériels sécuritaires

la rétro-ingénierie les études systèmes la validation de cahiers des charges

Page 4: B dans l industrie Utilisation de B événementiel

B est actuellement utilisé B est actuellement utilisé pourpour

Logiciels de Contrôles commandes (MTI, Alstom)

Validation de spécifications (PEUGEOT)

Validation / rétro-ingénierie de logiciels sécuritaires (MTI, Alstom)

Page 5: B dans l industrie Utilisation de B événementiel

Références industrielles Références industrielles (développement)(développement)

KVB, constructeur Gec-Alsthom Transport, client SNCF, 60.000 lignes B, 10 000 Preuves, 22 000 lignes Ada

Contrôle de vitesses, équipe 6000 trains depuis 93

CTDC, constructeur Gec-Alsthom Transport, client Le Caire / Calcutta, 5000 lignes B, 700 preuves, 3.000 lignes AdaContrôle/commande, équipe le métro du CAIRE et CALCUTA (91)

SAET METEOR, constructeur Matra Transport International, client RATP, 107 000 lignes B, 29 000 preuves, 87.000 lignes Ada Contrôle/commande embarqué dans le métro sans conducteur METEOR

Page 6: B dans l industrie Utilisation de B événementiel

B a aussi été étudié pourB a aussi été étudié pour

Temps-réel Protocoles de communication Automatismes industriels Conception d’application de gestion

avec données complexes

Page 7: B dans l industrie Utilisation de B événementiel

Description d'un système par Description d'un système par ses propriétésses propriétés 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

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

Page 8: B dans l industrie Utilisation de B événementiel

Application de la Méthode BApplication de la Méthode B

On modélise en B des choix de réalisation du Système, certaines exigences.

Caractéristiques de la méthode description des propriétés d’un Système à l’aide d’un

formalisme mathématique, modulaire, hiérarchique : notion de raffinement validation par la preuve : debug systématique.

Page 9: B dans l industrie Utilisation de B événementiel

2 styles de B2 styles de B

B événementiel Les opérations représentent des événements

exemple : projet PEUGEOT

B « classique » les opérations représentent des services appelables

exemple : METEOR

Page 10: B dans l industrie Utilisation de B événementiel

2 types d ’application2 types d ’application

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

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

Page 11: B dans l industrie Utilisation de B événementiel

B événementiel pour les B événementiel pour les systèmessystèmes

prérequis pour l’ensemble du système :écrits comme les événements d’un 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 contexteet conditions d’utilisation

(modèle B)

instructions d’emploiet restrictionspartie hardware

produit final

Page 12: B dans l industrie Utilisation de B événementiel

Utilisation de B en phase Utilisation de B en phase amontamont

succès duprojet preuve en phase

amont

Page 13: B dans l industrie Utilisation de B événementiel

A chacun son métierA chacun son métier

B système : qui pratique B ? Le spécialiste métier qui rédige les spécifications ?

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

B développement : qui pratique B ? Le concepteur et le développeur...

2 organisations : Client + consultant ou sous traitance B (ex : PEUGEOT) Le client monte un pôle d ’experts B (ex : METEOR)

Page 14: B dans l industrie Utilisation de B événementiel

Evaluer BEvaluer B

B doit être employé avec des experts formaliser = conceptualiser ! débutant + B = programmation directe déguisée

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

Eviter : évaluation par personne ne connaissant pas B seule

Page 15: B dans l industrie Utilisation de B événementiel

Mise en place d ’un Mise en place d ’un processus Bprocessus B mise en place en spirale :

évaluation

démarrage

projet pilote

projet taille réelle

Page 16: B dans l industrie Utilisation de B événementiel

Validation par la preuveValidation par la preuve

PreuvePreuveAutomatiqueAutomatique Examen des Examen des

lemmeslemmes

lemme lemme fauxfaux

PreuvePreuveInteractiveInteractive

100100%%

70 à 85%70 à 85%des lemmes des lemmes

justesjustes

15 lemmes / 15 lemmes / jourjour

Source Source BB

BUG

10%10%correctioncorrection

Génération Génération automatique de automatique de

lemmeslemmes

Page 17: B dans l industrie Utilisation de B événementiel

Validation par la preuveValidation par la preuve

Procédé non décidable Les vérifications faites par un compilateur sont

décidables application d ’un algorithme prédéfini qui aboutit

toujours Un prouveur applique un procédé non décidable

Avantages / inconvénients Aucune limite, tout problème peut se ramener à une

preuve Résolution non totalement automatisable

Page 18: B dans l industrie Utilisation de B événementiel

Pourquoi choisir B système ?Pourquoi choisir B système ?

Raisons économiques : Les imprécisions des spécifications coûtent cher

Avec B, peu de retours tardifs sur les spécifications éviter la phase de « flou » si coûteuse

Raisons organisationnelles Quand les spécifications ne disent rien, qui a raison ?

Avec B, aucun non dit, aucune ambiguïté

Se différencier : Quelle différence sur une expertise de spécifications ?

Utilisation d ’une formalisation mathématique intégrale

Page 19: B dans l industrie Utilisation de B événementiel

Analyse B pour suggérer des Analyse B pour suggérer des précisions précisions

Documents :spécifications techniques

STE STE STE

Interviews,contacts, notes

ModélisationsB

B

Demandes de précision

réponses

Rapport

Page 20: B dans l industrie Utilisation de B événementiel

Analyse B pour produire des Analyse B pour produire des documents formalisésdocuments formalisés

Documents :spécifications techniques

STE STE STE

Interviews,contacts, notes

ModélisationsB

Retraductionen français

BB

Demandes de précision

réponses

Page 21: B dans l industrie Utilisation de B événementiel

Analyse B et sûreté de Analyse B et sûreté de fonctionnementfonctionnement

Documents :spécifications techniques

STE STE STE

Interviews,contacts, notes

ModélisationsB

Arbresde défaillance,

AMDECBSdF

Demandes de précision

réponses

Page 22: B dans l industrie Utilisation de B événementiel

Analyse B et constitution Analyse B et constitution d ’arbres de dépannaged ’arbres de dépannage

Documents :spécifications techniques

STE STE STE

Interviews,contacts, notes

ModélisationsB

ArbresdépannageB

SdF

Demandes de précision

réponses

Outil externe

Page 23: B dans l industrie Utilisation de B événementiel

Pourquoi choisir un Pourquoi choisir un développement B ?développement B ? Raisons économiques :

Les tests coûtent beaucoup trop chers Avec B, il n'y a plus de tests unitaires Possible suppression des AEEL Plus de retour sur anomalies

Si on avait l ’intention de faire des tests...

Raisons sécuritaires : les erreurs peuvent avoir des conséquences

catastrophiques Avec B, il n'y a plus d'erreurs de conception et de

programmation

Page 24: B dans l industrie Utilisation de B événementiel

ConclusionConclusion

Avantages d ’une application B système procédé « léger » bras de levier important qualification élevée justifiée

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

savoir être haut niveau mais rester significatif

Page 25: B dans l industrie Utilisation de B événementiel

B événementiel pour les B événementiel pour les études systèmesétudes systèmes B procédural : force à être bas niveau 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

Page 26: B dans l industrie Utilisation de B événementiel

Expertise de spécifications Expertise de spécifications avec Bavec B

vérification « à plat » de cohérence / complétude : exemple

PEUGEOT

Page 27: B dans l industrie Utilisation de B événementiel

Application de B à un Application de B à un niveau :niveau :mission STERIA chez mission STERIA chez PEUGEOTPEUGEOT

Documents : spécifications détaillées

STESTE

STESTE

STESTE

Interviews,contacts, notes

ModélisationsB

Retraductionen français

BB

Principes de fonctionnement formalisés

(PFF)

Page 28: B dans l industrie Utilisation de B événementiel

Application « 1 niveau »Application « 1 niveau »

Pas de raffinement : on modélise 1 niveau de détail pas de recherche d ’abstraction preuve simple de cohérence interne

Apports : Complétude Cohérence interne Disparition des ambiguïtés

Page 29: B dans l industrie Utilisation de B événementiel

Modélisation « 1 niveau »Modélisation « 1 niveau »

Application de B très accessible 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.

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

Page 30: B dans l industrie Utilisation de B événementiel

Lecture des principes de Lecture des principes de fonctionnement formalisésfonctionnement formalisés

Exemple : fonction condamnation

Page 31: B dans l industrie Utilisation de B événementiel

Scénario choisiScénario choisi

T5, version supercondamnation Le véhicule est condamné (condamnation

simple) Une personne est à l ’intérieur, sur la

place avant conducteur 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é ?

Page 32: B dans l industrie Utilisation de B événementiel

1. Action poignée1. Action poignée

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)

Effets indiqués : la serrure se déverrouille le pêne de la porte est libéré : la porte peut s ’ouvrir

Page 33: B dans l industrie Utilisation de B événementiel

2. Ouverture porte2. Ouverture porte

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)

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é)

Page 34: B dans l industrie Utilisation de B événementiel

3. Détection par BSI3. Détection par BSI

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)

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

Page 35: B dans l industrie Utilisation de B événementiel

4. Déverrouillage centralisé4. Déverrouillage centralisé

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)

Effets indiqués : Les 3 autres serrures se déverrouillent

Page 36: B dans l industrie Utilisation de B événementiel

Points particuliersPoints particuliersvisibles dans le PFFvisibles dans le PFF 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

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

Page 37: B dans l industrie Utilisation de B événementiel

Points particuliersPoints particuliersvisibles dans le PFFvisibles dans le PFF 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.

Page 38: B dans l industrie Utilisation de B événementiel

Modalités d ’applicationModalités d ’application

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 ? »

Guide de modélisation image du « démon » animateur de modèles savoir ce que représentent les variables

Page 39: B dans l industrie Utilisation de B événementiel

Expertise de spécificationExpertise de spécification

B événementiel avec preuve

Page 40: B dans l industrie Utilisation de B événementiel

Travaux effectuésTravaux effectués

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

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

Page 41: B dans l industrie Utilisation de B événementiel

Modélisation directe : Modélisation directe : précisions nécessairesprécisions nécessaires Précisions sur la définition des états

électriques : 1 ou 0 suivant tension et résistance interne : norme ?

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 ?

Page 42: B dans l industrie Utilisation de B événementiel

Extrait modélisation Extrait modélisation retraduiteretraduiteLoi 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 siet 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

Page 43: B dans l industrie Utilisation de B événementiel

Recherche d ’une Recherche d ’une spécificationspécification Recherche a priori, a partir du schéma

électronique 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.

Page 44: B dans l industrie Utilisation de B événementiel

Recherche de spécificationRecherche de spécification

Deuxième niveau : une rentrée de train est en cours si la séquence

suivante est respectée : commande électrovanne de rentrée tant que les trois

retours « verrouillé haut » non présents maintien électrovanne de rentrée 2 secondes maintien alimentation hydraulique 2 secondes

Définition de la volonté : Rentrée si commande de rentrée et pas de commande

de sortie, et inversement nulle dans les autres cas

Page 45: B dans l industrie Utilisation de B événementiel

Montage B obtenuMontage B obtenu

Spécification1er niveau :

« si volonté... »

Spécification2ième niveau :

« rentrée si séquence ... »

modèle carte niveau schéma électronique

Page 46: B dans l industrie Utilisation de B événementiel

Questions pour la Questions pour la spécification :spécification :exemplesexemples Interruption séquence par coupure

alimentation carte ou changement rapide commande : la séquence doit-elle être recommencée ? les temporisations doivent-elles recommencer ?

Définition de la volonté : Quoi faire si les deux fils de commande (rentrée et

sortie) sont actifs ensemble ? Priorité à la sortie ?

Rôle de l ’électrovanne de dérivation ?

Page 47: B dans l industrie Utilisation de B événementiel

PreuvesPreuves

Spécification1er niveau :

« si volonté... »

Spécification2iè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

Page 48: B dans l industrie Utilisation de B événementiel

Preuve non OK carte // Preuve non OK carte // spécificationspécification Spécification créée de toutes pièces ! 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.

Page 49: B dans l industrie Utilisation de B événementiel

Conclusion généraleConclusion générale

Page 50: B dans l industrie Utilisation de B événementiel

Avantages de Avantages de l’approche Bl’approche B Le besoin est

mieux compris mieux exprimé

Sa formalisation est mieux tracée mieux maintenable

InconvénienInconvénientsts

Abstraire est difficile

Bien abstraire est très difficile Une bonne abstraction

paraît simple (simpliste)

Page 51: B dans l industrie Utilisation de B événementiel

Utilisation industrielle de BUtilisation industrielle de B

Dans un monde dominé par le court terme, y aura t-il beaucoup de systèmes entièrement prouvés ? Non !

Si la technique est éradiquée des circuits décisionnels, y aura t-il beaucoup de cahiers des charges prouvés ? Non !

Page 52: B dans l industrie Utilisation de B événementiel

Utilisation industrielle de BUtilisation industrielle de B

Savoir faire des modèles B ABSTRAITS, et néanmoins significatifs le raisonnement technique trop souvent une plongée

dans les détails

Promouvoir un raisonnement formel au plus haut niveau B système

Promouvoir des développements soignés conduisant à des systèmes sûrs Lutter contre la prolifération des systèmes pas sûrs