1 / 22

Conception Formelle en PVS

Conception Formelle en PVS. Présenté par : Roland Atoui Xavier Dumas Sébastien Jardel Laurent Vendredi. Chef de Projet: M. Pierre Castéran. Master 2 ISC. Plan.

najwa
Télécharger la présentation

Conception Formelle en PVS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Conception Formelle en PVS Présenté par: Roland Atoui Xavier Dumas Sébastien Jardel Laurent Vendredi Chef de Projet: M. Pierre Castéran Master 2 ISC

  2. Plan 1- Présentation du Projet 2- La Méthode B 3- PVS: Prototype Verification System 4- PBS: Support pour la méthode B en PVS 5-LeProuveurPVS 6- Conclusion

  3. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion Présentation du Projet Vérification de code Similitude avec B S’initier à PVS Tester PBS

  4. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion La Méthode B Formaliser des spécifications et des programmes Machine abstraite Raffinement Implentation

  5. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion La Méthode B MACHINE nom SETS ENS1,...,ENS2 VARIABLES x1,...,x2 INVARIANT I INITIALIZATION S0 OPERATIONS ... END Structure d'une Machine Abstraite /* nom de la machine */ /* nom des ensembles */ /* nom des variables */ /* propriété */ /* substitution */ /* substitutions */

  6. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion PVS: Prototype Verification System • Un système de vérification • Un assistant de preuve développé par le laboratoire d’informatique de SRI International • Fourni une automatisation pour limiter le travail de l’utilisateur humain. • Un langage de spécification • Langage expressive : • Ordre logique supérieur • Un système fortement typé (non décidable) • Fonctions récursives totales

  7. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion PVS: Prototype Verification System • Notions préliminaires • Sets, relations, fonctions, séquences, lists, numéros, induction. • Assistant de preuve • Calcul basé sur les Séquents, commandes de preuve primitives, procédure de précision, arithmétique linéaire, congruence… • [Stratégies, emacs+interface graphique, model checker] • Types • Types de base : real, int, nat, bool… • Type de construction : records, abstract data types, functions, predicates, sets… • Type dépendant, type paramétré.

  8. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion PVS: Prototype Verification System Exemples : person : TYPE = [# age : nat, married ?: bool #] List[person] [personnat] [person bool] = pred[person] = setof[person] Proposions.pvs Propositions : THEORY BEGIN A, B, C: bool prop: THEOREM (A IMPLIES (B IMPLIES C)) AND (A IMPLIES B) AND (A IMPLIES B) AND (A IMPLIES C) END propositions

  9. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion PBS: Support pour la méthode B en PVS Développé par César Muñoz en 1999 Traduit une machine abstraite B en Théorie PVS m.pbs m.pvs *.pvs Développé en utilisant l’approche du Shallow Embedding

  10. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion PBS: Support pour la méthode B en PVS Une Machine PBS semblable à une machine abstraite B

  11. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion PBS: Support pour la méthode B en PVS Une Machine PBS semblable à une machine abstraite B

  12. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion PBS: Support pour la méthode B en PVS • Quelques différences: • Substitution: WHILE structure récursive de PVS • SELECT peut être similés an PVS • Mots Clefs: SETS TYPES • Certains mots clefs n’existent pas (CONSTRAINTS, PROPERTIES…) Le Raffinement La notion de raffinement existe en PVS Introduite grâce à 2 invariants dans une machine PBS INVARIANT et REFINE_INVARIANT

  13. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion PBS: Support pour la méthode B en PVS Théorie PVS de counter généré par PBS

  14. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion PBS: Support pour la méthode B en PVS • Raffinement • Introduite grâce à deux invariants : • INVARIANT • REFINE_INVARIANT counterRef.pbs

  15. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion PBS: Support pour la méthode B en PVS counterRef.pvs

  16. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion Prouveur PVS • Basé sur les séquents: • Hypothèses |– Conséquents • 3 étapes: • Vérifier la syntaxe (parser) • Vérifier la sémantique (typechecker) • Prouver les TCCs (prover)

  17. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion Prouveur PVS • Générations de TCCs: • En utilisant les théorèmes • En utilisant la puissance du typage • 2 types de preuves: • Preuves itératives • Preuves par induction • Preuves automatiques: • Commande (GRIND) • Commande (INDUCT-AND-SIMPLIFY)

  18. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion Prouveur PVS • Commandes de bas niveau: (CASE), (INDUCT) • Simplifie les preuves • Facilite les preuves • Les stratégies • Utilité • Généraliser les preuves

  19. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion Prouveur PVS • Point technique: • raffinement • Invariant de collage

  20. Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion Prouveur PVS Problème rencontré: • Bug dans la sémantique de PBS N N N Machine abstraite Raffinement

  21. Conclusion Présentation du ProjetLa Méthode BL’outil PVSL’outil PBSLe prouveur PVSConclusion • Résultats de la comparaison • Difficultés Rencontrés • Les Ouvertures

  22. Questions ?

More Related