Contactez-nous
Petit panorama des méthodes de fiabilisation des logiciels
Méthode B pour la spécification et la réalisation de logiciels et de systèmes critiques prouvés
SE2525 v1 Article de référence

Petit panorama des méthodes de fiabilisation des logiciels
Méthode B pour la spécification et la réalisation de logiciels et de systèmes critiques prouvés

Auteur(s) : Jacques valancogne

Date de publication : 10 janv. 2012 | Read in English

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

1 - Complexité croissante des systèmes et des logiciels – Les logiciels critiques et leur processus de réalisation

  • 1.1 - Principales difficultés de réalisation d'un logiciel critique
  • 1.2 - Lien entre niveau de qualité du processus (méthodes et outils) et SIL (Safety Integrity Level )
  • 1.3 - Analyses de sécurité et exigences de sécurité

2 - Petit panorama des méthodes de fiabilisation des logiciels

3 - Principes de la méthode B

4 - Méthode B et le processus de réalisation des logiciels

5 - Avantages actuels de la méthode B vis-à-vis d'autres méthodes

6 - Limites de B

  • 6.1 - Lien avec la spécification de plus haut niveau (souvent en langage naturel)
  • 6.2 - Paramètres et données (la preuve ne porte pas sur la valeur des données)
  • 6.3 - Entrées (acquisition) et sorties (production)
  • 6.4 - Parties non-écrites en B (parties non-critiques par exemple)
  • 6.5 - Aspect informatique répartie ou redondance matérielle (commutation)

7 - B Système ou B événementiel

  • 7.1 - Prolongements de B au niveau système
  • 7.2 - Preuve en B système
  • 7.3 - Substitution en B événementiel
  • 7.4 - Événements en B événementiel
  • 7.5 - Raffinement en B Système
  • 7.6 - Preuve en B Système
  • 7.7 - Méthode B ne s'appliquant pas qu'aux logiciels mais aux systèmes

8 - Autres aspects de B

  • 8.1 - Liens avec la spécification en langage naturel
  • 8.2 - Peut-on utiliser d'autres méthodes avec B pour un même développement ?
  • 8.3 - Bénéfice de la seule formalisation
  • 8.4 - Évolution d'un logiciel dans un processus B
  • 8.5 - Réutilisation de modules logiciels
  • 8.6 - Aspects organisationnels
  • 8.7 - Coût d'une telle méthode et ce qu'elle rapporte ?

9 - Applications industrielles

  • 9.1 - Utilisation de B et les secteurs industriels
  • 9.2 - Outillage industriel et atelier B
  • 9.3 - Retour d'expérience sur plus de quinze ans de pratique industrielle

10 - Perspectives d'avenir

11 - Conclusions sur la méthode B

Sommaire

Présentation

Auteur(s)

  • Jacques valancogne : IMdR - Membre du Conseil scientifique du CSFRS (Conseil supérieur de la Formation et de la Recherche stratégiques)

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

INTRODUCTION

L'objectif de cet article ne vise pas à ce que le lecteur puisse tout connaître sur la méthode B ; ce serait impossible et prétentieux. The B-BOOK – Assigning Programs to Meanings de Jean-Raymond ABRIAL, l'inventeur de la méthode B, qui est à la base du langage B, possède déjà plus de 750 pages et est basé sur de nombreuses connaissances en mathématiques et en logique ; de plus, de nombreuses formations sur la méthode B existent aujourd'hui. L'objectif se limitera à donner des éclairages pour mieux porter une appréciation sur une telle méthode en essayant d'en comprendre les principaux concepts. Il n'est donc pas question de trop développer les aspects mathématiques, bien que ceux-ci soient essentiels. Le propos restera toujours assez général, en simplifiant volontairement parfois pour rester compréhensible.

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 93 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-se2525

Lecture en cours
Présentation

Article inclus dans l'offre

"Sécurité et gestion des risques"

(483 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

2. Petit panorama des méthodes de fiabilisation des logiciels

Il existe de nombreuses méthodes (et outils associés) qui permettent d'améliorer la fiabilité des logiciels. Ces méthodes sont basées sur un formalisme parfois complexe qui autorise un niveau plus ou moins pertinent de vérification. Elles peuvent porter sur une phase particulière du cycle de développement ou sur l'ensemble des phases, sur certaines propriétés (statiques ou dynamiques) ou sur l'ensemble des propriétés du logiciel. L'effort est fonction bien entendu du champ sur lequel porte les méthodes. Un contrôle de type (comme le font la plupart des langages de programmation) est d'un apport moindre qu'une analyse statique, qui elle-même est moins efficace qu'une vérification par modèle ou qu'une abstraction automatisée. Le maximum de confiance est obtenu sur des logiciels développés avec un langage sur lequel on peut effectuer directement la preuve de théorèmes.

Pour éviter des erreurs sur le logiciel, on peut, pour chaque phase de la conception, disposer de plusieurs principes de solutions. Nous avons vu que les erreurs sont issues des transformations que l'on effectue successivement sur les exigences (transformations directes et/ou allocations). Pour vérifier qu'une transformation/allocation faisant passer de l'état i à l'état i + 1 a bien été effectuée, on peut :

  • 1) comparer, en utilisant la transformation inverse du résultat, T (i + 1) · T 1 (i + 1) à l'état initial T (i) ;

  • 2) comparer, en utilisant une transformation analogue mais présentant une forme différente (un modèle de la transformation), T (i + 1) à T′ (i + 1) ;

  • 3) s'assurer que la transformation est intrinsèquement sûre en y apportant une preuve mathématique.

Mais à une étape donnée de la réalisation du logiciel, il existe des méthodes plus ou moins complètes qui prennent en compte partiellement ou totalement les caractéristiques ou propriétés de l'exigence transformée. Certaines méthodes concernent plus l'aspect dynamique et comportemental, d'autres l'aspect statique dans lequel certaines se limitent à vérifier le typage (de variable par exemple), d'autres des caractéristiques générales (non division par zéro par exemple), d'autres enfin portent sur des caractéristiques plus spécifiques à l'application.

D'autres méthodes sont basées...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 93 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Petit panorama des méthodes de fiabilisation des logiciels

Article inclus dans l'offre

"Sécurité et gestion des risques"

(483 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - ABRIAL (J.-R.) -   The B-book assigning programs to meanings (ouvrage fondateur de la méthode B).  -  Cambridge University Press (1996).

  • (2) - BEHM (P.) -   Formal development of safety critical software of METEOR (ligne 14 du Métro Parisien mise en service en 1998).  -  First B Conference, Nantes (1996).

  • (3) - BEHM (P.), DESFORGES (P.), MEIJA (F.) -   Application de la méthode B dans l'industrie ferroviaire.  -  ARAGO 20.

  • (4) - LANO (K.) -   The B language and method : a guide to practical formal development FACIT.  -  Springer Verlag, London Ltd. (1996).

  • (5) - LANO (K.), HAUGHTON (H.) -   Specification in B : an introduction using the B toolkit imperial college press.  -  London (1996).

  • (6) - WORDSWORTH (J.) -   Software engineering with B.  -  Addison-Wesley (1996).

  • ...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Sécurité et gestion des risques"

(483 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Ressources documentaires

Modélisation par bond graph - Éléments de base pour l’énergétique

De par l’interaction de plusieurs phénomènes de natures diverses (stockage, dissipation d’énergie…), et ...

Modélisation par bond graph - Application aux systèmes énergétiques

L’outil bond graph a la capacité de pouvoir décrire la complexité des systèmes énergétiques, en grande ...

Validation des résultats des logiciels scientifiques - Approche stochastique

La méthode CESTAC (Contrôle et estimation stochastique des arrondis de calculs) consiste à évaluer la ...

Quantification de la fiabilité des logiciels

Cet article décrit les fondements théoriques de la quantification de la fiabilité du logiciel et en ...