Les mthodes formelles pour le Gnie Logiciel : Z - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Les mthodes formelles pour le Gnie Logiciel : Z

Description:

The way of Z, practical programming with formal methods by Jonathan Jacky, Cambridge University Press. ... appliquer la logique et la base des math matiques la programmation ' ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 14
Provided by: crilUni
Category:

less

Transcript and Presenter's Notes

Title: Les mthodes formelles pour le Gnie Logiciel : Z


1
Les méthodes formelles pour le Génie Logiciel Z
  • Daniel Le Berre

2
Références
  • The way of Z, practical programming with formal
    methods by Jonathan Jacky, Cambridge University
    Press.
  • Using Z by Jim Woodcock and Jim Davies, Prentice
    Hall (ISBN 0-13-948472-8).Http//softeng.comlab.o
    x.ac.uk/usingz/

3
Méthodes formelles
  •  appliquer la logique et la base des
    mathématiques à la programmation . TWOZ
  • Basée sur lévaluation de formules dès la
    spécification.

4
Pourquoi?
  • Quand on doit garantir ce que le programme va et
    ne va pas faire.
  • Guichet automatique bancaire
  • système dassistance médicale
  • ...
  • Quand on ne peut pas se permettre de construire
    un prototype pour le tester!

5
Comment?
  • Modèle mathématique du programme.
  • Abstraction gt on cache les détails.

6
Quand?
  • Modélisation spécification plus précise quun
    bout de code.
  • Conception permet de prouver que la conception
    correspond bien au modèle.
  • Vérification permet de prouver que le système
    va fonctionner dans tous les cas. (contrairement
    aux tests, on lon nest jamais sûr davoir tout
    essayé).

7
Entendu à propos des logiciels
  • Complexité élevée
  • Tests incomplets gt bugs possibles
  • Lutilisateur ne sait pas ce quil veut
  • Bug dans le compilateur ou le SE.
  • Le développement coûte cher.
  • Linformatique est une discipline récente, mal
    maîtrisée.

8
Solution à ces problèmes
  • Complexité abstraction
  • Tests prouver la conception par construction.
  • Utilisateurs écouter les utilisateurs est une
    tâche primordiale
  • Bugs compilateur ou SE il faut être sûr que le
    programme fonctionne avant daccuser les autres !
  • Coût développer coûte peut être cher, mais
    corriger des bugs coûte encore plus cher!
  • Discipline récente pas plus que le moteur à
    réaction !

9
Le langage Z
  • Oxford University
  • IBM
  • Inmos (semiconductor)
  • Premier manuel de référence en 1989
  • Notation papier/stylo
  • outils disponibles

10
Exemple
  • int iroot (int n) // integer scare rootint
    i,term,sumterm1sum1for (i0sumltni)
    term term 2 sum sum term
    return i

11
Questions ?
  • Que se passe-til pour n3 ?
  • Pour n négatif ?
  • Invariant sqrt(x)sqrt(x)x
  • Spécification Z pour iroot que doit-elle faire?
  • iroot N? N
  • ? a N ? iroot(a)iroot(a) ? a ?
    (iroot(a)1)(iroot(a)1)
  • Comment ? Savoir mathématique
  • 135(2n-1)n2

12
Console de contrôle thérapeutique
  • STATE patients field setup ready
    beam_on
  • EVENT select_patient select_field enter
    start stop ok intlk
  • FSM (STATE ?EVENT) ? STATE
  • no_change, transitions, control FSM
  • control no_change ? transitions
  • no_change s STATE e EVENT ? (s,e) ? s
  • transitions (patients, enter) ? fields,
    (fields, select_patient) ?
    patients, (fields, enter) ?
    setup, (setup,
    select_patient) ? patients,

13
Table de transitions
Write a Comment
User Comments (0)
About PowerShow.com