cours language z

Post on 12-Oct-2015

32 views

Category:

Documents


0 download

DESCRIPTION

Cours de la language Z

TRANSCRIPT

  • Mthodes formellesLa notation Z

    Pascal Andre

    IRIN - IUP Miage de NantesUniversite de Nantes

    2 rue de la Houssinie`re ; B.P. 9220844322 Nantes Cedex 03

    [email protected]

    Methodes formelles p.1/153

  • Plan du cours

    1. Rappels sur le dveloppement du logicielmthodes, langages et notationsgestion de projet

    2. Exemple introductif3. La notation Z

    - informellement+ formellement

    4. La mthode de dveloppement- informellement+ formellement

    5. Bilan et extensions

    Methodes formelles p.2/153

  • Bibliographie sommaire

    Gnralits et techniques de base

    Methodes formelles p.3/153

  • Bibliographie sommaire

    Gnralits et techniques de base

    [AV01a] Pascal Andr and Alain Vailly. Conception de SystmesdInformation, Panorama des mthodes et destechniques, volume 1 of Collection Technosup. EditionsEllipses, 2001. ISBN 2-7298-0479-X.

    [MR93] Jos Morejon and Jean-Ren Rames. Conduite deprojets informatiques. InterEditions, 1993. Principes ettechniques sappuyant sur la mthode MERISE, ISBN2-7296-0457-X.

    [Vil95] Franoise Villeneuve. Conduite de projet. CNRS, 1995.http://dsi-val.dsi.cnrs.fr/bureau qualite/qualite/conduit.htm.

    Methodes formelles p.3/153

  • Bibliographie sommaire

    Gnralits et techniques de base

    Cours Z

    Methodes formelles p.3/153

  • Bibliographie sommaire

    Gnralits et techniques de base

    Cours Z

    [AV01b] Pascal Andr and Alain Vailly. Spcification deslogiciels, Deux exemples de pratiques rcentes : Z etUML, volume 2 of Collection Technosup. EditionsEllipses, 2001. ISBN 2-7298-0774-8.

    [Spi94] Mike Spivey. La notation Z. Collection Mthodologiesdu logiciel. Editions Masson, 1994. Traduit de langlaispar Michel Lemoine, ISBN 2-225-84367-8.

    Methodes formelles p.3/153

  • Bibliographie sommaire

    Gnralits et techniques de base

    Cours Z

    Corrigs dexercices Z

    Methodes formelles p.3/153

  • Bibliographie sommaire

    Gnralits et techniques de base

    Cours Z

    Corrigs dexercices Z

    [AV03] Pascal Andr and Alain Vailly. Exercices corrigs enlangage Z, les spcifications formelles par la pratique,volume 4 of Collection Technosup. Editions Ellipses,2003. ISBN -, paratre.

    Methodes formelles p.3/153

  • Plan du cours

    1. Rappels sur le dveloppement du logicielmthodes, langages et notationsgestion de projet

    2. Exemple introductif3. La notation Z

    - informellement+ formellement

    4. La mthode de dveloppement- informellement+ formellement

    5. Bilan et extensions

    Methodes formelles p.4/153

  • Le dveloppement du logiciel

    1. Introduction2. Gnie logiciel3. Projet informatique4. Mthode de dveloppement

    Modles, produitsProcessusValidation, vrification

    5. Qualit

    Methodes formelles p.5/153

  • Introduction

    De lide au codeexprimerprogrammervrifier

    De lide au codeexprimerprogrammer MODELESvrifier

    avec mthode.dans le bon ordre PROCESSUSviter lanarchie GESTION DE PROJETtravailler en groupe

    et qualitmodles (correct, fiable, volutif...)processus (efficace, rentable...) QUALITE

    Methodes formelles p.6/153

  • Introduction

    De lide au codeexprimerprogrammervrifier

    avec mthode...dans le bon ordreviter lanarchietravailler en groupe

    De lide au codeexprimerprogrammer MODELESvrifier

    avec mthode.dans le bon ordre PROCESSUSviter lanarchie GESTION DE PROJETtravailler en groupe

    et qualitmodles (correct, fiable, volutif...)processus (efficace, rentable...) QUALITE

    Methodes formelles p.6/153

  • Introduction

    De lide au codeexprimerprogrammervrifier

    avec mthode...dans le bon ordreviter lanarchietravailler en groupe

    ... et qualitmodles (correct, fiable, volutif...)processus (efficace, rentable...)

    De lide au codeexprimerprogrammer MODELESvrifier

    avec mthode.dans le bon ordre PROCESSUSviter lanarchie GESTION DE PROJETtravailler en groupe

    et qualitmodles (correct, fiable, volutif...)processus (efficace, rentable...) QUALITE

    Methodes formelles p.6/153

  • Introduction

    De lide au codeexprimerprogrammer MODELESvrifier

    avec mthode.dans le bon ordre PROCESSUSviter lanarchie GESTION DE PROJETtravailler en groupe

    et qualitmodles (correct, fiable, volutif...)processus (efficace, rentable...) QUALITE

    Methodes formelles p.6/153

  • Le dveloppement individuel

    mthodes "agiles", XPAnalyse lgre ou dans la "tte"

    Methodes formelles p.7/153

  • Le dveloppement individuel

    mthodes "agiles", XPAnalyse lgre ou dans la "tte"

    oubliserreurs tardives manque de rflexion

    Methodes formelles p.7/153

  • Le dveloppement individuel

    mthodes "agiles", XPAnalyse lgre ou dans la "tte"Programmation incrmentale et itrative sur le test

    Methodes formelles p.7/153

  • Le dveloppement individuel

    mthodes "agiles", XPAnalyse lgre ou dans la "tte"Programmation incrmentale et itrative sur le test

    nombreux allers/retoursractivit manque dorganisation

    Methodes formelles p.7/153

  • Le dveloppement individuel

    mthodes "agiles", XPAnalyse lgre ou dans la "tte"Programmation incrmentale et itrative sur le test

    problmes grande chellemagma dorganisationdures alatoiresexprience et capitalisation individuelle

    Methodes formelles p.7/153

  • Le dveloppement individuel

    mthodes "agiles", XPAnalyse lgre ou dans la "tte"Programmation incrmentale et itrative sur le test

    problmes grande chellemagma dorganisationdures alatoiresexprience et capitalisation individuelle

    pas de travail de groupe, pas rationnel

    Methodes formelles p.7/153

  • Le dveloppement en groupe

    tablir les tches et les rsultats

    dfinir les acteursorganiser le dveloppementgrer la communication (documents, mdia, ...)superviser le dveloppementamliorer la qualit

    Methodes formelles p.8/153

  • Le dveloppement en groupe

    tablir les tches et les rsultatsdfinir les acteurs

    organiser le dveloppementgrer la communication (documents, mdia, ...)superviser le dveloppementamliorer la qualit

    Methodes formelles p.8/153

  • Le dveloppement en groupe

    tablir les tches et les rsultatsdfinir les acteursorganiser le dveloppement

    grer la communication (documents, mdia, ...)superviser le dveloppementamliorer la qualit

    Methodes formelles p.8/153

  • Le dveloppement en groupe

    tablir les tches et les rsultatsdfinir les acteursorganiser le dveloppementgrer la communication (documents, mdia, ...)

    superviser le dveloppementamliorer la qualit

    Methodes formelles p.8/153

  • Le dveloppement en groupe

    tablir les tches et les rsultatsdfinir les acteursorganiser le dveloppementgrer la communication (documents, mdia, ...)superviser le dveloppement

    amliorer la qualit

    Methodes formelles p.8/153

  • Le dveloppement en groupe

    tablir les tches et les rsultatsdfinir les acteursorganiser le dveloppementgrer la communication (documents, mdia, ...)superviser le dveloppementamliorer la qualit

    Methodes formelles p.8/153

  • Le dveloppement en groupe

    tablir les tches et les rsultatsdfinir les acteursorganiser le dveloppementgrer la communication (documents, mdia, ...)superviser le dveloppementamliorer la qualit

    pour qui ?

    Methodes formelles p.8/153

  • Le dveloppement pour un client

    1. ajouter une dimension cot

    Methodes formelles p.9/153

  • Le dveloppement pour un client

    1. ajouter une dimension cotanalyse de cots : financier, temporel, humain...analyse de comptence : technologies requises(formation ?)analyse de performance : rentabilit...

    Methodes formelles p.9/153

  • Le dveloppement pour un client

    1. ajouter une dimension cot2. ajouter de nouvelles tapes

    Methodes formelles p.9/153

  • Le dveloppement pour un client

    1. ajouter une dimension cot2. ajouter de nouvelles tapes

    tude dopportunittudes de faisabilitanalyse de risquesgestion des risquesdcisions

    Methodes formelles p.9/153

  • Le dveloppement pour un client

    1. ajouter une dimension cot2. ajouter de nouvelles tapes3. modifier le dveloppement

    Methodes formelles p.9/153

  • Le dveloppement pour un client

    1. ajouter une dimension cot2. ajouter de nouvelles tapes3. modifier le dveloppement

    rle du clientspcificationvalidationdcisions

    Methodes formelles p.9/153

  • Le dveloppement pour un client

    1. ajouter une dimension cot2. ajouter de nouvelles tapes3. modifier le dveloppement4. prvoir lassurance qualit, lautomatisation...

    Methodes formelles p.9/153

  • Le dveloppement pour un client

    1. ajouter une dimension cot2. ajouter de nouvelles tapes3. modifier le dveloppement4. prvoir lassurance qualit, lautomatisation...

    qualit des rsultats (validit, robustesse) =satisfaire le clientqualit du processus = respecter dlais et cots

    Methodes formelles p.9/153

  • Le dveloppement par un prestataire1. ajouter une dimension production

    Methodes formelles p.10/153

  • Le dveloppement par un prestataire1. ajouter une dimension production

    analyse de cots : financier, temporel, humain...analyse de comptence : technologies requises(formation ?)analyse de performance : rentabilit...

    Methodes formelles p.10/153

  • Le dveloppement par un prestataire1. ajouter une dimension production2. ajouter de nouvelles tapes

    Methodes formelles p.10/153

  • Le dveloppement par un prestataire1. ajouter une dimension production2. ajouter de nouvelles tapes

    formationsmaintenance des applications (corrective, volutive)

    Methodes formelles p.10/153

  • Le dveloppement par un prestataire1. ajouter une dimension production2. ajouter de nouvelles tapes3. prendre en compte dautres proccupations

    Methodes formelles p.10/153

  • Le dveloppement par un prestataire1. ajouter une dimension production2. ajouter de nouvelles tapes3. prendre en compte dautres proccupations

    gestion des ressources humaines (formations,carrires)gestion commerciale ou interne des applications

    Methodes formelles p.10/153

  • Le dveloppement par un prestataire1. ajouter une dimension production2. ajouter de nouvelles tapes3. prendre en compte dautres proccupations4. rentabiliser la production

    Methodes formelles p.10/153

  • Le dveloppement par un prestataire1. ajouter une dimension production2. ajouter de nouvelles tapes3. prendre en compte dautres proccupations4. rentabiliser la production

    dvelopper en srie (portabilit, volutivit,gnralit)dvelopper en partie (rutilisabilit)automatiser la production

    Methodes formelles p.10/153

  • Le dveloppement par un prestataire1. ajouter une dimension production2. ajouter de nouvelles tapes3. prendre en compte dautres proccupations4. rentabiliser la production

    produire du logiciel de qualit, rationaliser ledvelopperment, rentabiliser les investissements

    Methodes formelles p.10/153

  • Le dveloppement par un prestataire1. ajouter une dimension production2. ajouter de nouvelles tapes3. prendre en compte dautres proccupations4. rentabiliser la production

    produire du logiciel de qualit, rationaliser ledvelopperment, rentabiliser les investissements

    besoin de mthodes et doutil de dveloppement

    besoin de mthodes et doutil de gestion de projets

    Methodes formelles p.10/153

  • Une rponse : le Gnie logiciel

    objectifs

    Methodes formelles p.11/153

  • Une rponse : le Gnie logiciel

    objectifsmettre en uvre des moyens pourraliser du logiciel de qualit en respec-tant des contraintes de cots.

    Methodes formelles p.11/153

  • Une rponse : le Gnie logiciel

    objectifsdfinition

    Methodes formelles p.11/153

  • Une rponse : le Gnie logiciel

    objectifsdfinition

    Le Gnie Logiciel est lart de construire IN-DUSTRIELLEMENT du logiciel.

    Methodes formelles p.11/153

  • Une rponse : le Gnie logiciel

    objectifsdfinitionlarge spectre : des langages de programmation lagestion dorganisations

    Methodes formelles p.11/153

  • Une rponse : le Gnie logiciel

    objectifsdfinitionlarge spectre : des langages de programmation lagestion dorganisationssoumis lvolution des technologies et des mtiers

    Methodes formelles p.11/153

  • Une rponse : le Gnie logiciel

    objectifsdfinitionlarge spectre : des langages de programmation lagestion dorganisationssoumis lvolution des technologies et des mtiersAtelier GL indispensable

    Methodes formelles p.11/153

  • Une rponse : le Gnie logiciel

    objectifsdfinitionlarge spectre : des langages de programmation lagestion dorganisationssoumis lvolution des technologies et des mtiersAtelier GL indispensable

    ditionvrificationgnration automatiquedocumentationrutilisationpersonnalisation

    Methodes formelles p.11/153

  • Evolution du Gnie logicielLangage machine

    SGBDrelationnels

    Entit-Associations

    Langages despcification

    Outilsd'analyse

    Assembleur

    Fortran

    AlgoCobol

    SGBD

    Lisp

    Prolog

    Pascal

    Smalltalk

    ADA

    Langages deconception

    1945

    1950

    1955

    1960

    1965

    1970

    1975

    1980

    1985

    1990

    XX

    Evolution

    Langagesintgrs ?

    ?

    Bases deconnaissances

    symbolisme

    algorithmique traitementdes listes

    traitementdes donnesmaintenance

    programmationstructure

    systmesd'information

    mcanismed'infrence

    rutilisationabstractiontypes abstraitsmodularitgnricit

    approchedescendante

    objet smantique

    smantique

    Methodes formelles p.12/153

  • Gnie logiciel - Projet informatiqueProjet dinformatisation =

    Methodes formelles p.13/153

  • Gnie logiciel - Projet informatiqueProjet dinformatisation =

    aspects techniques

    Methodes formelles p.13/153

  • Gnie logiciel - Projet informatiqueProjet dinformatisation =

    aspects techniques mthode de dveloppementUne mthode est une technique de rsolution deproblmes [Lau86].Un aspect cl de la mthode est de privilgier ltude(lanalyse) avant de commencer concevoir le logi-ciel.Il faut bien poser le problme pour bien le rsoudre.Le terme de mthode recouvre plusieurs notions.

    Methodes formelles p.13/153

  • Gnie logiciel - Projet informatiqueProjet dinformatisation =

    aspects techniques mthode de dveloppementphilosophie (approche du problme)dmarche (processus)notation (norme, langage)outils

    Methodes formelles p.13/153

  • Gnie logiciel - Projet informatiqueProjet dinformatisation =

    aspects techniques mthode de dveloppementMerise

    philosophie (approche du problme)BD relationnelles, Prog structure

    dmarche (processus)par niveau, par tapes

    notation (norme, langage)E-A-P, Petri, SCOM...

    outilsAMCD, WinDesign...

    Methodes formelles p.13/153

  • Gnie logiciel - Projet informatiqueProjet dinformatisation =

    aspects techniques mthode de dveloppementaspects organisationnels

    Methodes formelles p.13/153

  • Gnie logiciel - Projet informatiqueProjet dinformatisation =

    aspects techniques mthode de dveloppementaspects organisationnels gestion de projetLa conduite de projet (gestion de projet, manage-ment de projet) "dfinit lenvironnement ncessairepour que le projet se droule dans les meilleurs con-ditions de cot, de dlais ainsi que de qualit desrsultats produits" [MR93].En plus des mthodes et techniques de dveloppe-ment, des mthodes et techniques de gestion deprojet sont mises en uvre pour russir le projet.

    Methodes formelles p.13/153

  • Gnie logiciel - Projet informatiqueProjet dinformatisation =

    aspects techniques mthode de dveloppementaspects organisationnels gestion de projet

    La conduite de projet est un processus difficile matriser car interviennent plusieurs facteurs derisque tels que les cots et les dlais respecter, lestechnologies matriser, les ressources humaines grer. [Vil95].

    Methodes formelles p.13/153

  • Gnie logiciel - Projet informatiqueProjet dinformatisation =

    aspects techniques mthode de dveloppementaspects organisationnels gestion de projet

    gestion du besoin (dfinition, validation, volution)gestion des ressources et des cots (planification,suivi, optimisation, capitalisation)gestion des risques (valuation, suivi, dcision)gestion de la communication entre acteursgestion de la qualit des rsultats produits

    Methodes formelles p.13/153

  • Gnie logiciel - Projet informatiqueProjet dinformatisation =

    aspects techniques mthode de dveloppementaspects organisationnels gestion de projet

    Projet informatiquegestion du besoin (dfinition, validation, volution)

    runions, revues, cahiers des chargesgestion des ressources et des cots (planification,suivi, optimisation, capitalisation)

    humains, matriels, financiersgestion des risques (valuation, suivi, dcision)gestion de la communication entre acteursgestion de la qualit des rsultats produits

    certification, contrle qualitMethodes formelles p.13/153

  • Gnie logiciel - Projet informatiqueProjet dinformatisation =

    aspects techniques mthode de dveloppementaspects organisationnels gestion de projet

    domaine complexe

    Methodes formelles p.13/153

  • Gnie logiciel - Projet informatiqueProjet dinformatisation =

    aspects techniques mthode de dveloppementaspects organisationnels gestion de projet

    hors contextehttp://www.sciences.univ-nantes.fr/info/perso/permanents/andre/COURS/cours.html

    suivre ...

    Methodes formelles p.13/153

  • Gnie logiciel - Variantes

    Les applications peuvent se classer en trois catgoriesmajeures :

    Methodes formelles p.14/153

  • Gnie logiciel - Variantes

    Les applications peuvent se classer en trois catgoriesmajeures :1. Systmes dinformation de gestion SIG

    Methodes formelles p.14/153

  • Gnie logiciel - Variantes

    Les applications peuvent se classer en trois catgoriesmajeures :1. Systmes dinformation de gestion SIG

    stockage volumineuxnombreux traitements triviaux (consultation,mises--jour)quelques traitements complexes en mise--jourassurer la cohrence des informationssoumis aux volutions technologiques (distribution,persistance, IHM)

    Methodes formelles p.14/153

  • Gnie logiciel - Variantes

    Les applications peuvent se classer en trois catgoriesmajeures :1. Systmes dinformation de gestion SIG2. Systmes temps rel STR

    Methodes formelles p.14/153

  • Gnie logiciel - Variantes

    Les applications peuvent se classer en trois catgoriesmajeures :1. Systmes dinformation de gestion SIG2. Systmes temps rel STR

    ractivit fortequalit (sret, fiabilit...)traitements souvent simples mais conditionscomplexesassurer la cohrence des vnements (rle dutemps)soumis aux volutions matrielles (capteurs,actionneurs, environnement)

    Methodes formelles p.14/153

  • Gnie logiciel - Variantes

    Les applications peuvent se classer en trois catgoriesmajeures :1. Systmes dinformation de gestion SIG2. Systmes temps rel STR3. Systmes intelligents, calcul scientifique SI, CS

    Methodes formelles p.14/153

  • Gnie logiciel - Variantes

    Les applications peuvent se classer en trois catgoriesmajeures :1. Systmes dinformation de gestion SIG2. Systmes temps rel STR3. Systmes intelligents, calcul scientifique SI, CS

    algorithmes complexesbases dinformation plus ou moins importantesqualit : efficacitpeu soumis aux volutions technologiques(techniques de programmation, IHM)

    Methodes formelles p.14/153

  • Gnie logiciel - Variantes

    Les applications peuvent se classer en trois catgoriesmajeures :1. Systmes dinformation de gestion SIG2. Systmes temps rel STR3. Systmes intelligents, calcul scientifique SI, CS

    il y en a dautres

    Methodes formelles p.14/153

  • Gnie logiciel - Variantes

    Les applications peuvent se classer en trois catgoriesmajeures :1. Systmes dinformation de gestion SIG2. Systmes temps rel STR3. Systmes intelligents, calcul scientifique SI, CS

    il y en a dautres

    diffrents besoins diffrentes mthodes

    Methodes formelles p.14/153

  • Le dveloppement du logiciel

    1. Introduction2. Gnie logiciel3. Projet informatique4. Mthode de dveloppement

    Modles, produitsProcessusValidation, vrification

    5. Qualit

    Methodes formelles p.15/153

  • Mthode de dveloppement (en bref)Mthode =

    Modles, produits

    + Processus+ Outils

    Methodes formelles p.16/153

  • Mthode de dveloppement (en bref)Mthode =

    Modles, produits+ Processus

    + Outils

    Methodes formelles p.16/153

  • Mthode de dveloppement (en bref)Mthode =

    Modles, produits+ Processus+ Outils

    Methodes formelles p.16/153

  • Mthode de dveloppement (Modles)Un modle est une interprtation explicite par sonutilisateur de lide quil se fait dune situation.

    Il peut tre exprim par des mathmatiques, dessymboles, des mots, mais, essentiellement, cest unedescription dentits et de relations entre elles.Un modle est correct sil permet de rpondre auxquestions quon se pose.Un modle est oprationnel sil peut tre excut parune machine.

    Methodes formelles p.17/153

  • Mthode de dveloppement (Modles)Un modle est une interprtation explicite par sonutilisateur de lide quil se fait dune situation.Il peut tre exprim par des mathmatiques, dessymboles, des mots, mais, essentiellement, cest unedescription dentits et de relations entre elles.

    Un modle est correct sil permet de rpondre auxquestions quon se pose.Un modle est oprationnel sil peut tre excut parune machine.

    Methodes formelles p.17/153

  • Mthode de dveloppement (Modles)Un modle est une interprtation explicite par sonutilisateur de lide quil se fait dune situation.Il peut tre exprim par des mathmatiques, dessymboles, des mots, mais, essentiellement, cest unedescription dentits et de relations entre elles.Un modle est correct sil permet de rpondre auxquestions quon se pose.

    Un modle est oprationnel sil peut tre excut parune machine.

    Methodes formelles p.17/153

  • Mthode de dveloppement (Modles)Un modle est une interprtation explicite par sonutilisateur de lide quil se fait dune situation.Il peut tre exprim par des mathmatiques, dessymboles, des mots, mais, essentiellement, cest unedescription dentits et de relations entre elles.Un modle est correct sil permet de rpondre auxquestions quon se pose.Un modle est oprationnel sil peut tre excut parune machine.

    Methodes formelles p.17/153

  • Mthode de dveloppement (Modles)Les lments dun systme peuvent se classer selon troisaspects majeurs :

    Methodes formelles p.18/153

  • Mthode de dveloppement (Modles)Les lments dun systme peuvent se classer selon troisaspects majeurs :1. Structure, donnes Point de vue statique

    Methodes formelles p.18/153

  • Mthode de dveloppement (Modles)Les lments dun systme peuvent se classer selon troisaspects majeurs :1. Structure, donnes Point de vue statique

    informationsstructurecontraintesrpartition

    Methodes formelles p.18/153

  • Mthode de dveloppement (Modles)Les lments dun systme peuvent se classer selon troisaspects majeurs :1. Structure, donnes Point de vue statique2. Evolution dans le temps Point de vue dynamique

    Methodes formelles p.18/153

  • Mthode de dveloppement (Modles)Les lments dun systme peuvent se classer selon troisaspects majeurs :1. Structure, donnes Point de vue statique2. Evolution dans le temps Point de vue dynamique

    vnementsactionscontraintes temporellesconcurrence

    Methodes formelles p.18/153

  • Mthode de dveloppement (Modles)Les lments dun systme peuvent se classer selon troisaspects majeurs :1. Structure, donnes Point de vue statique2. Evolution dans le temps Point de vue dynamique3. Traitements Point de vue fonctionnel

    Methodes formelles p.18/153

  • Mthode de dveloppement (Modles)Les lments dun systme peuvent se classer selon troisaspects majeurs :1. Structure, donnes Point de vue statique2. Evolution dans le temps Point de vue dynamique3. Traitements Point de vue fonctionnel

    algorithmestransactions et scuritassertions (contraintes)paralllisme

    Methodes formelles p.18/153

  • Types de spcification

    Les spcifications peuvent tre classes selon leur formeou leur degr de formalisme.

    les spcifications informelles, en langue naturelle,rdiges sans contraintes de forme,

    les spcifications standardises, en langue naturelle,mais avec une structure, un format et des rglesprcises (notations, glossaire, index, historique...),les spcifications semi-formelles, utilisant un langagede spcification textuel ou graphique, dot dunesyntaxe prcise et dune smantique assez faible),les spcifications formelles, exprimes dans un langage syntaxe et smantique prcises, construites sur unebase thorique solide.

    Methodes formelles p.19/153

  • Types de spcification

    Les spcifications peuvent tre classes selon leur formeou leur degr de formalisme.

    les spcifications informelles, en langue naturelle,rdiges sans contraintes de forme,les spcifications standardises, en langue naturelle,mais avec une structure, un format et des rglesprcises (notations, glossaire, index, historique...),

    les spcifications semi-formelles, utilisant un langagede spcification textuel ou graphique, dot dunesyntaxe prcise et dune smantique assez faible),les spcifications formelles, exprimes dans un langage syntaxe et smantique prcises, construites sur unebase thorique solide.

    Methodes formelles p.19/153

  • Types de spcification

    Les spcifications peuvent tre classes selon leur formeou leur degr de formalisme.

    les spcifications informelles, en langue naturelle,rdiges sans contraintes de forme,les spcifications standardises, en langue naturelle,mais avec une structure, un format et des rglesprcises (notations, glossaire, index, historique...),les spcifications semi-formelles, utilisant un langagede spcification textuel ou graphique, dot dunesyntaxe prcise et dune smantique assez faible),

    les spcifications formelles, exprimes dans un langage syntaxe et smantique prcises, construites sur unebase thorique solide.

    Methodes formelles p.19/153

  • Types de spcification

    Les spcifications peuvent tre classes selon leur formeou leur degr de formalisme.

    les spcifications informelles, en langue naturelle,rdiges sans contraintes de forme,les spcifications standardises, en langue naturelle,mais avec une structure, un format et des rglesprcises (notations, glossaire, index, historique...),les spcifications semi-formelles, utilisant un langagede spcification textuel ou graphique, dot dunesyntaxe prcise et dune smantique assez faible),les spcifications formelles, exprimes dans un langage syntaxe et smantique prcises, construites sur unebase thorique solide.

    Methodes formelles p.19/153

  • Mthode de dveloppement (Processus)Le processus (la dmarche) prcise

    les tches (activits) raliser,

    les rsultats attendus (modles, produits,spcifications),lordre qui organise les tches (le cycle dedveloppement).

    Methodes formelles p.20/153

  • Mthode de dveloppement (Processus)Le processus (la dmarche) prcise

    les tches (activits) raliser,les rsultats attendus (modles, produits,spcifications),

    lordre qui organise les tches (le cycle dedveloppement).

    Methodes formelles p.20/153

  • Mthode de dveloppement (Processus)Le processus (la dmarche) prcise

    les tches (activits) raliser,les rsultats attendus (modles, produits,spcifications),lordre qui organise les tches (le cycle dedveloppement).

    Methodes formelles p.20/153

  • Processus : le cycle de rfrence

    modleutilisateur

    modlearchitectural

    dimplantationmodle

    vrification

    Exploitation

    et tests

    Conception Testsunitaires

    codageConstruction

    modulaire

    Intgration

    ValidationFinition

    Maintenance

    Conceptiondu systme

    du systmeSpcification

    Etude desbesoins

    Methodes formelles p.21/153

  • Modles de processusPrincipaux cycles

    linaires (cascade, V, fontaine),

    contractuels (mthodes formelles),itratifs (spirale),variantes (X, Y).

    Methodes formelles p.22/153

  • Modles de processusPrincipaux cycles

    linaires (cascade, V, fontaine),contractuels (mthodes formelles),

    itratifs (spirale),variantes (X, Y).

    Methodes formelles p.22/153

  • Modles de processusPrincipaux cycles

    linaires (cascade, V, fontaine),contractuels (mthodes formelles),itratifs (spirale),

    variantes (X, Y).

    Methodes formelles p.22/153

  • Modles de processusPrincipaux cycles

    linaires (cascade, V, fontaine),contractuels (mthodes formelles),itratifs (spirale),variantes (X, Y).

    Methodes formelles p.22/153

  • Mthode de dveloppement (Processus)Ne pas oublier

    Vrification : cest contrler que le produit respecte lecahier des charges. La vrification est donc plus uneaffaire de spcialistes.

    Validation : cest contrler que le (produit) rsultatcorrespond ce qui tait attendu. La validation est uncontrle qui fait intervenir largement les utilisateurs.

    Methodes formelles p.23/153

  • Mthode de dveloppement (Processus)Ne pas oublier

    Vrification : cest contrler que le produit respecte lecahier des charges. La vrification est donc plus uneaffaire de spcialistes.Validation : cest contrler que le (produit) rsultatcorrespond ce qui tait attendu. La validation est uncontrle qui fait intervenir largement les utilisateurs.

    Methodes formelles p.23/153

  • Mthode de dveloppement (Processus)Ne pas oublier

    Vrification : cest contrler que le produit respecte lecahier des charges. La vrification est donc plus uneaffaire de spcialistes.Validation : cest contrler que le (produit) rsultatcorrespond ce qui tait attendu. La validation est uncontrle qui fait intervenir largement les utilisateurs.

    MoyensRevuesTestsPreuvesPrototypage

    Methodes formelles p.23/153

  • Le dveloppement du logiciel

    1. Introduction2. Gnie logiciel3. Projet informatique4. Mthode de dveloppement

    Modles, produitsProcessusValidation, vrification

    5. Qualit

    Methodes formelles p.24/153

  • QualitQualit des spcifications

    Methodes formelles p.25/153

  • QualitQualit des spcifications

    viterle bruitle silencela sur-spcificationla contradictionlambiguitla rfrence avantle vu pieu

    Methodes formelles p.25/153

  • QualitQualit des spcifications

    Qualit du logiciel

    Methodes formelles p.25/153

  • QualitQualit des spcifications

    Qualit du logiciella validitla robustesselextensibilitla rutilisabilitla compatibilit

    Methodes formelles p.25/153

  • QualitQualit des spcifications

    Qualit du logiciella validitla robustesselextensibilitla rutilisabilitla compatibilit

    Dautres qualits du logiciel sont moins cruciales :lefficacit, la portabilit, la vrifiabilit, lintgrit, lafacilit dutilisation

    Methodes formelles p.25/153

  • QualitQualit des spcifications

    Qualit du logiciel

    Qualit du processus

    Methodes formelles p.25/153

  • QualitQualit des spcifications

    Qualit du logiciel

    Qualit du processussretterminaisonrigueurcohrence, compltudesouplesseaccessibilitrentabilit

    Methodes formelles p.25/153

  • QualitQualit des spcifications

    Qualit du logiciel

    Qualit du processus

    Plus de dtails [AV01a]

    Methodes formelles p.25/153

  • QualitQualit des spcifications

    Qualit du logiciel

    Qualit du processus

    Plus de dtails [AV01a]

    Amliorer la qualit :

    Methodes formelles p.25/153

  • QualitQualit des spcifications

    Qualit du logiciel

    Qualit du processus

    Plus de dtails [AV01a]

    Amliorer la qualit :rigueurstructuration modulaire

    Methodes formelles p.25/153

  • QualitQualit des spcifications

    Qualit du logiciel

    Qualit du processus

    Plus de dtails [AV01a]

    Amliorer la qualit :rigueur mthodes formellesstructuration modulaire mthodes objets

    Methodes formelles p.25/153

  • QualitQualit des spcifications

    Qualit du logiciel

    Qualit du processus

    Plus de dtails [AV01a]

    Amliorer la qualit :rigueur mthodes formelles Zstructuration modulaire mthodes objets UML

    Methodes formelles p.25/153

  • Plan du cours

    1. Rappels sur le dveloppement du logicielmthodes, langages et notationsgestion de projet

    2. Exemple introductif3. La notation Z

    - informellement+ formellement

    4. La mthode de dveloppement- informellement+ formellement

    5. Bilan et extensions

    Methodes formelles p.26/153

  • Exemple introductif

    1. Description informelle2. Modlisation avec Merise

    MCDMCTCritique

    3. Modlisation avec ZDonnesTraitementsCritique

    4. Bilan

    Methodes formelles p.27/153

  • Description informelle

    Ladministration veut grer automatiquement les sallesdattente lhpital. Chaque salle a une capacit daccueillimite. Elles portent un nom et sont situes unemplacement prcis de lhpital. Les patients sont admisnormalement ou en urgence. Les patients admis enurgence sont appels prioritairement vis--vis des patientsen admission normale. Lordre dappel est lordre darrive,compte-tenu des ventuelles urgences. Un patient appelest reu et soign par le docteur. Les soins ne sont pasinterrompus par larrive dun patient en urgence. Onconsidre trois cas :1. une seule salle dattente et pas durgences,2. une seule salle dattente et traitement des urgences,3. plusieurs salles dattente et traitement des urgences.

    Methodes formelles p.28/153

  • Modlisation avec Merise (MCD)

    0,1

    0,1Patientno_SecSoc_pnom_pprnom_padresse_p

    0,n

    0,nSalleAttente

    no_snom_slocalisation_snb_places_s

    attente normalenum_ordre_na

    urgencenum_ordre_u

    X T

    + dictionnaire des donnes + explications

    Methodes formelles p.29/153

  • Modlisation avec Merise (MCT)

    Orientation des patientsVrification du patientCration ventuelle du patientEvaluation des soinsOrientation du patient

    Normale Urgence Refus

    Arrive d'unpatient

    Admissionurgente

    (b)

    Admissionnormale

    (a)

    AdmissionrefusePatientcr

    Methodes formelles p.30/153

  • Modlisation avec Merise (MCT)

    b prioritaire sur a

    Soinsoins prodigus au patient

    Admissionurgente

    (b)

    Admissionnormale

    (a)

    Patientguri

    + explications

    Methodes formelles p.31/153

  • Critique (MCD)+ Plus concis et moins soumis interprtation que la

    description informelle.

    + MCD presque complet (cardinalits, contraintes).Mais ...

    - Manque de prcisionrgles de gestioncontraintes entre associationscontraintes informelles

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.32/153

  • Critique (MCD)+ Plus concis et moins soumis interprtation que la

    description informelle.+ MCD presque complet (cardinalits, contraintes).

    Mais ...- Manque de prcision

    rgles de gestioncontraintes entre associationscontraintes informelles

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.32/153

  • Critique (MCD)+ Plus concis et moins soumis interprtation que la

    description informelle.+ MCD presque complet (cardinalits, contraintes).

    Mais ...

    - Manque de prcisionrgles de gestioncontraintes entre associationscontraintes informelles

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.32/153

  • Critique (MCD)+ Plus concis et moins soumis interprtation que la

    description informelle.+ MCD presque complet (cardinalits, contraintes).

    Mais ...- Manque de prcision

    rgles de gestioncontraintes entre associationscontraintes informelles

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.32/153

  • Critique (MCD)+ Plus concis et moins soumis interprtation que la

    description informelle.+ MCD presque complet (cardinalits, contraintes).

    Mais ...- Manque de prcision

    rgles de gestion

    contraintes entre associationscontraintes informelles

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.32/153

  • Critique (MCD)+ Plus concis et moins soumis interprtation que la

    description informelle.+ MCD presque complet (cardinalits, contraintes).

    Mais ...- Manque de prcision

    rgles de gestioncontraintes entre associations

    contraintes informelles- Manque de smantique formelle

    Comment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.32/153

  • Critique (MCD)+ Plus concis et moins soumis interprtation que la

    description informelle.+ MCD presque complet (cardinalits, contraintes).

    Mais ...- Manque de prcision

    rgles de gestioncontraintes entre associationscontraintes informelles

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.32/153

  • Critique (MCD)+ Plus concis et moins soumis interprtation que la

    description informelle.+ MCD presque complet (cardinalits, contraintes).

    Mais ...- Manque de prcision

    rgles de gestioncontraintes entre associationscontraintes informelles

    - Manque de smantique formelle

    Comment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.32/153

  • Critique (MCD)+ Plus concis et moins soumis interprtation que la

    description informelle.+ MCD presque complet (cardinalits, contraintes).

    Mais ...- Manque de prcision

    rgles de gestioncontraintes entre associationscontraintes informelles

    - Manque de smantique formelleComment vrifier ?

    Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.32/153

  • Critique (MCD)+ Plus concis et moins soumis interprtation que la

    description informelle.+ MCD presque complet (cardinalits, contraintes).

    Mais ...- Manque de prcision

    rgles de gestioncontraintes entre associationscontraintes informelles

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?

    Pas doublis ?

    Methodes formelles p.32/153

  • Critique (MCD)+ Plus concis et moins soumis interprtation que la

    description informelle.+ MCD presque complet (cardinalits, contraintes).

    Mais ...- Manque de prcision

    rgles de gestioncontraintes entre associationscontraintes informelles

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.32/153

  • Critique (MCT)+ Enchanements des oprations.

    + Vue globale des traitements.Mais ...

    - Manque de prcisionrgles de gestiondtails des oprationscontraintes sur les vnements

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.33/153

  • Critique (MCT)+ Enchanements des oprations.+ Vue globale des traitements.

    Mais ...- Manque de prcision

    rgles de gestiondtails des oprationscontraintes sur les vnements

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.33/153

  • Critique (MCT)+ Enchanements des oprations.+ Vue globale des traitements.

    Mais ...

    - Manque de prcisionrgles de gestiondtails des oprationscontraintes sur les vnements

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.33/153

  • Critique (MCT)+ Enchanements des oprations.+ Vue globale des traitements.

    Mais ...- Manque de prcision

    rgles de gestiondtails des oprationscontraintes sur les vnements

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.33/153

  • Critique (MCT)+ Enchanements des oprations.+ Vue globale des traitements.

    Mais ...- Manque de prcision

    rgles de gestion

    dtails des oprationscontraintes sur les vnements

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.33/153

  • Critique (MCT)+ Enchanements des oprations.+ Vue globale des traitements.

    Mais ...- Manque de prcision

    rgles de gestiondtails des oprations

    contraintes sur les vnements- Manque de smantique formelle

    Comment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.33/153

  • Critique (MCT)+ Enchanements des oprations.+ Vue globale des traitements.

    Mais ...- Manque de prcision

    rgles de gestiondtails des oprationscontraintes sur les vnements

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.33/153

  • Critique (MCT)+ Enchanements des oprations.+ Vue globale des traitements.

    Mais ...- Manque de prcision

    rgles de gestiondtails des oprationscontraintes sur les vnements

    - Manque de smantique formelle

    Comment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.33/153

  • Critique (MCT)+ Enchanements des oprations.+ Vue globale des traitements.

    Mais ...- Manque de prcision

    rgles de gestiondtails des oprationscontraintes sur les vnements

    - Manque de smantique formelleComment vrifier ?

    Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.33/153

  • Critique (MCT)+ Enchanements des oprations.+ Vue globale des traitements.

    Mais ...- Manque de prcision

    rgles de gestiondtails des oprationscontraintes sur les vnements

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?

    Pas doublis ?

    Methodes formelles p.33/153

  • Critique (MCT)+ Enchanements des oprations.+ Vue globale des traitements.

    Mais ...- Manque de prcision

    rgles de gestiondtails des oprationscontraintes sur les vnements

    - Manque de smantique formelleComment vrifier ?Comment prouver la correction ?Pas doublis ?

    Methodes formelles p.33/153

  • Exemple introductif

    1. Description informelle2. Modlisation avec Merise

    MCDMCTCritique

    3. Modlisation avec ZAttention : certains lments sont errons avec PDF.

    DonnesTraitementsCritique

    4. Bilan

    Methodes formelles p.34/153

  • Modlisation avec Z (Donnes)Dfinitions de types, dclarations globales

    Dfinitions de ltat du systme (schma)

    !

    "

    #

    %$

    &

    ')(

    (

    !

    *

    +

    &-,

    .

    /

    +

    .

    &

    /

    Methodes formelles p.35/153

  • Modlisation avec Z (Traitements)Dfinitions des oprations de modification (schma)

    !

    #

    '

    ( (

    !

    ,

    .

    /

    +

    +

    Methodes formelles p.36/153

  • Modlisation avec Z (Traitements)Dfinitions des prconditions des oprations (schma)

    ,

    !

    .

    #

    '

    ( (

    !

    ,

    .

    /

    +

    /

    Methodes formelles p.37/153

  • Modlisation avec Z (Traitements)Dfinitions des oprations de consultation (schma)

    !

    Combien de patients en attente ?

    Methodes formelles p.38/153

  • Modlisation avec Z (Traitements)n

    patient consulter

    "

    !

    *

    !

    '

    ,

    Methodes formelles p.39/153

  • Modlisation avec Z (Validation)Prouver des

    proprits gnrales e.g. cohrence et compltude,quit, la vivacit etc.

    proprits attendues du systme.proprits lies la pratique de Z (ou VDM) (obligationsde preuves)

    Existence dun tat initial.Prservation des invariants dans les oprations.Preuve de raffinement de donnes ou doprations.

    Methodes formelles p.40/153

  • Modlisation avec Z (Validation)Prouver des

    proprits gnrales e.g. cohrence et compltude,quit, la vivacit etc.proprits attendues du systme.

    proprits lies la pratique de Z (ou VDM) (obligationsde preuves)

    Existence dun tat initial.Prservation des invariants dans les oprations.Preuve de raffinement de donnes ou doprations.

    Methodes formelles p.40/153

  • Modlisation avec Z (Validation)Prouver des

    proprits gnrales e.g. cohrence et compltude,quit, la vivacit etc.proprits attendues du systme.proprits lies la pratique de Z (ou VDM) (obligationsde preuves)

    Existence dun tat initial.Prservation des invariants dans les oprations.Preuve de raffinement de donnes ou doprations.

    Methodes formelles p.40/153

  • Modlisation avec Z (Validation)Prouver des

    proprits gnrales e.g. cohrence et compltude,quit, la vivacit etc.proprits attendues du systme.proprits lies la pratique de Z (ou VDM) (obligationsde preuves)

    Existence dun tat initial.

    Prservation des invariants dans les oprations.Preuve de raffinement de donnes ou doprations.

    Methodes formelles p.40/153

  • Modlisation avec Z (Validation)Prouver des

    proprits gnrales e.g. cohrence et compltude,quit, la vivacit etc.proprits attendues du systme.proprits lies la pratique de Z (ou VDM) (obligationsde preuves)

    Existence dun tat initial.Prservation des invariants dans les oprations.

    Preuve de raffinement de donnes ou doprations.

    Methodes formelles p.40/153

  • Modlisation avec Z (Validation)Prouver des

    proprits gnrales e.g. cohrence et compltude,quit, la vivacit etc.proprits attendues du systme.proprits lies la pratique de Z (ou VDM) (obligationsde preuves)

    Existence dun tat initial.Prservation des invariants dans les oprations.Preuve de raffinement de donnes ou doprations.

    Methodes formelles p.40/153

  • Modlisation avec Z (Validation)Les proprits attendues pour le systme salledattente sont :

    La capacit de la salle nest pas dpasse.Il y a quit (forte).Lordre de sortie est lordre darrive.Conservation du nombre pour (arrive + sortie etc. )

    Les obligations de preuves sont :Existence dun tat initial.

    ;Prservation de linvariant dans les oprations.

    .

    Methodes formelles p.41/153

  • Modlisation avec Z (Validation)Les proprits attendues pour le systme salledattente sont :

    La capacit de la salle nest pas dpasse.

    Il y a quit (forte).Lordre de sortie est lordre darrive.Conservation du nombre pour (arrive + sortie etc. )

    Les obligations de preuves sont :Existence dun tat initial.

    ;Prservation de linvariant dans les oprations.

    .

    Methodes formelles p.41/153

  • Modlisation avec Z (Validation)Les proprits attendues pour le systme salledattente sont :

    La capacit de la salle nest pas dpasse.Il y a quit (forte).

    Lordre de sortie est lordre darrive.Conservation du nombre pour (arrive + sortie etc. )

    Les obligations de preuves sont :Existence dun tat initial.

    ;Prservation de linvariant dans les oprations.

    .

    Methodes formelles p.41/153

  • Modlisation avec Z (Validation)Les proprits attendues pour le systme salledattente sont :

    La capacit de la salle nest pas dpasse.Il y a quit (forte).Lordre de sortie est lordre darrive.

    Conservation du nombre pour (arrive + sortie etc. )Les obligations de preuves sont :

    Existence dun tat initial.;

    Prservation de linvariant dans les oprations..

    Methodes formelles p.41/153

  • Modlisation avec Z (Validation)Les proprits attendues pour le systme salledattente sont :

    La capacit de la salle nest pas dpasse.Il y a quit (forte).Lordre de sortie est lordre darrive.Conservation du nombre pour (arrive + sortie etc. )

    Les obligations de preuves sont :Existence dun tat initial.

    ;Prservation de linvariant dans les oprations.

    .

    Methodes formelles p.41/153

  • Modlisation avec Z (Validation)Les proprits attendues pour le systme salledattente sont :

    La capacit de la salle nest pas dpasse.Il y a quit (forte).Lordre de sortie est lordre darrive.Conservation du nombre pour (arrive + sortie etc. )

    Les obligations de preuves sont :

    Existence dun tat initial.;

    Prservation de linvariant dans les oprations..

    Methodes formelles p.41/153

  • Modlisation avec Z (Validation)Les proprits attendues pour le systme salledattente sont :

    La capacit de la salle nest pas dpasse.Il y a quit (forte).Lordre de sortie est lordre darrive.Conservation du nombre pour (arrive + sortie etc. )

    Les obligations de preuves sont :Existence dun tat initial.

    ,

    ;

    Prservation de linvariant dans les oprations..

    Methodes formelles p.41/153

  • Modlisation avec Z (Validation)Les proprits attendues pour le systme salledattente sont :

    La capacit de la salle nest pas dpasse.Il y a quit (forte).Lordre de sortie est lordre darrive.Conservation du nombre pour (arrive + sortie etc. )

    Les obligations de preuves sont :Existence dun tat initial.

    ,

    ;Prservation de linvariant dans les oprations.

    ,

    .

    Methodes formelles p.41/153

  • Modlisation avec Z (Raffinement)De la spcification au code...Deux types de raffinement sont distingus en Z :

    Le raffinement des oprations. Les structures decontrle du langage de programmation cible sontintroduites progressivement e.g. squence,conditionnelles, itrations pour la programmationimprative.Le raffinement des donnes. Les structures dedonnes du langage de programmation cible sontintroduites progressivement e.g. structures, tableaux,pointeurs pour la programmation imprative.

    Methodes formelles p.42/153

  • Modlisation avec Z (Raffinement * )

    !

    "

    "

    #

    %$

    &

    ')(

    (

    *

    +

    &

    ,

    .

    /

    +

    .

    &

    /

    Methodes formelles p.43/153

  • Modlisation avec Z (Raffinement * * )

    #

    '

    ( (

    ,

    .

    /

    +

    '

    #

    '

    ( (

    ,

    .

    /

    +

    Methodes formelles p.43/153

  • Modlisation avec Z (Raffinement * * * )

    '

    Methodes formelles p.43/153

  • Modlisation avec Z (Raffinement * * * * )

    "

    .

    /

    Methodes formelles p.43/153

  • Modlisation avec Z (Raffinement * * * * * )

    . .

    '

    ( (

    /

    /

    Preuves du raffinementde ltat initialdes oprations

    Methodes formelles p.43/153

  • Exemple introductif

    1. Description informelle2. Modlisation avec Merise

    MCDMCTCritique

    3. Modlisation avec ZDonnesTraitementsCritique

    4. Bilan

    Methodes formelles p.44/153

  • Bilan

    Les "spec formelles"+ Formalisme (thories, logiques et calculs)

    + Rigueur (types, contraintes, invariants, traitements)+ Abstraction (vis vis des langages de programmation)

    Rduction des erreurs tardives, rutilisabilit enconfiance

    - pratique dlicate (lisibilit, exprience)- lourdeur de modlisation- temps de spcification et preuve- domaine dapplication

    Application limite

    Methodes formelles p.45/153

  • Bilan

    Les "spec formelles"+ Formalisme (thories, logiques et calculs)+ Rigueur (types, contraintes, invariants, traitements)

    + Abstraction (vis vis des langages de programmation)Rduction des erreurs tardives, rutilisabilit enconfiance

    - pratique dlicate (lisibilit, exprience)- lourdeur de modlisation- temps de spcification et preuve- domaine dapplication

    Application limite

    Methodes formelles p.45/153

  • Bilan

    Les "spec formelles"+ Formalisme (thories, logiques et calculs)+ Rigueur (types, contraintes, invariants, traitements)+ Abstraction (vis vis des langages de programmation)

    Rduction des erreurs tardives, rutilisabilit enconfiance

    - pratique dlicate (lisibilit, exprience)- lourdeur de modlisation- temps de spcification et preuve- domaine dapplication

    Application limite

    Methodes formelles p.45/153

  • Bilan

    Les "spec formelles"+ Formalisme (thories, logiques et calculs)+ Rigueur (types, contraintes, invariants, traitements)+ Abstraction (vis vis des langages de programmation)

    Rduction des erreurs tardives, rutilisabilit enconfiance

    - pratique dlicate (lisibilit, exprience)- lourdeur de modlisation- temps de spcification et preuve- domaine dapplication

    Application limite

    Methodes formelles p.45/153

  • Bilan

    Les "spec formelles"+ Formalisme (thories, logiques et calculs)+ Rigueur (types, contraintes, invariants, traitements)+ Abstraction (vis vis des langages de programmation)

    Rduction des erreurs tardives, rutilisabilit enconfiance

    - pratique dlicate (lisibilit, exprience)

    - lourdeur de modlisation- temps de spcification et preuve- domaine dapplication

    Application limite

    Methodes formelles p.45/153

  • Bilan

    Les "spec formelles"+ Formalisme (thories, logiques et calculs)+ Rigueur (types, contraintes, invariants, traitements)+ Abstraction (vis vis des langages de programmation)

    Rduction des erreurs tardives, rutilisabilit enconfiance

    - pratique dlicate (lisibilit, exprience)- lourdeur de modlisation

    - temps de spcification et preuve- domaine dapplication

    Application limite

    Methodes formelles p.45/153

  • Bilan

    Les "spec formelles"+ Formalisme (thories, logiques et calculs)+ Rigueur (types, contraintes, invariants, traitements)+ Abstraction (vis vis des langages de programmation)

    Rduction des erreurs tardives, rutilisabilit enconfiance

    - pratique dlicate (lisibilit, exprience)- lourdeur de modlisation- temps de spcification et preuve

    - domaine dapplicationApplication limite

    Methodes formelles p.45/153

  • Bilan

    Les "spec formelles"+ Formalisme (thories, logiques et calculs)+ Rigueur (types, contraintes, invariants, traitements)+ Abstraction (vis vis des langages de programmation)

    Rduction des erreurs tardives, rutilisabilit enconfiance

    - pratique dlicate (lisibilit, exprience)- lourdeur de modlisation- temps de spcification et preuve- domaine dapplication

    Application limite

    Methodes formelles p.45/153

  • Pour aller plus loin

    Les systmes formelsDfinitions, utilisation des spcifications formellesIntrts et limitesClassification

    [AV01b] Chapitre 1

    Methodes formelles p.46/153

  • Plan du cours

    1. Rappels sur le dveloppement du logicielmthodes, langages et notationsgestion de projet

    2. Exemple introductif3. La notation Z

    - informellement+ formellement

    4. La mthode de dveloppement- informellement+ formellement

    5. Bilan et extensions

    Methodes formelles p.47/153

  • La notation Z

    IntroductionInformellement1. La logique2. Les types et les ensembles3. Les relations binaires et leurs variantes4. Les schmasFormellement1. La logique2. Les types et les ensembles3. Les relations binaires et leurs variantes4. Les schmas

    Attention : certains lments sont errons avec PDF.Methodes formelles p.48/153

  • Introduction

    Modlisation mathmatique

    Abrial (Grenoble, Oxford)Annes 70Principes

    spcification mathmatique, axiomatique de Hoareabstractionschmapreuve de propritsraffinement (raffinage, rification)

    VDM, B

    Methodes formelles p.49/153

  • Introduction

    Modlisation mathmatiqueAbrial (Grenoble, Oxford)

    Annes 70Principes

    spcification mathmatique, axiomatique de Hoareabstractionschmapreuve de propritsraffinement (raffinage, rification)

    VDM, B

    Methodes formelles p.49/153

  • Introduction

    Modlisation mathmatiqueAbrial (Grenoble, Oxford)Annes 70

    Principesspcification mathmatique, axiomatique de Hoareabstractionschmapreuve de propritsraffinement (raffinage, rification)

    VDM, B

    Methodes formelles p.49/153

  • Introduction

    Modlisation mathmatiqueAbrial (Grenoble, Oxford)Annes 70Principes

    spcification mathmatique, axiomatique de Hoareabstractionschmapreuve de propritsraffinement (raffinage, rification)

    VDM, B

    Methodes formelles p.49/153

  • Introduction

    Modlisation mathmatiqueAbrial (Grenoble, Oxford)Annes 70Principes

    spcification mathmatique, axiomatique de Hoare

    abstractionschmapreuve de propritsraffinement (raffinage, rification)

    VDM, B

    Methodes formelles p.49/153

  • Introduction

    Modlisation mathmatiqueAbrial (Grenoble, Oxford)Annes 70Principes

    spcification mathmatique, axiomatique de Hoareabstraction

    schmapreuve de propritsraffinement (raffinage, rification)

    VDM, B

    Methodes formelles p.49/153

  • Introduction

    Modlisation mathmatiqueAbrial (Grenoble, Oxford)Annes 70Principes

    spcification mathmatique, axiomatique de Hoareabstractionschma

    preuve de propritsraffinement (raffinage, rification)

    VDM, B

    Methodes formelles p.49/153

  • Introduction

    Modlisation mathmatiqueAbrial (Grenoble, Oxford)Annes 70Principes

    spcification mathmatique, axiomatique de Hoareabstractionschmapreuve de proprits

    raffinement (raffinage, rification)VDM, B

    Methodes formelles p.49/153

  • Introduction

    Modlisation mathmatiqueAbrial (Grenoble, Oxford)Annes 70Principes

    spcification mathmatique, axiomatique de Hoareabstractionschmapreuve de propritsraffinement (raffinage, rification)

    VDM, B

    Methodes formelles p.49/153

  • La notation Z

    IntroductionInformellement1. La logique2. Les types et les ensembles3. Les relations binaires et leurs variantes4. Les schmasFormellement1. La logique2. Les types et les ensembles3. Les relations binaires et leurs variantes4. Les schmas

    Methodes formelles p.50/153

  • Description informelle (la logique)Logique des propositions

    Methodes formelles p.51/153

  • Description informelle (la logique)Logique des propositionsLoin des yeux, loin du cur.Mieux vaut tard que jamais.Le monde appartient celui qui se lve tt.La raison du plus fort est toujours la meilleure.Grard est le plus fort.Grard se lve tard et vit la nuit.Aprs la pluie, le beau temps.

    Methodes formelles p.51/153

  • Description informelle (la logique)Logique des propositionsLoin des yeux, loin du cur.Mieux vaut tard que jamais.Le monde appartient celui qui se lve tt.La raison du plus fort est toujours la meilleure.Grard est le plus fort.Grard se lve tard et vit la nuit.Aprs la pluie, le beau temps.

    exclusion : vrai ou fauxcontradiction : non (vrai et faux)combinaison : et, ou, non, ou exclusif, implique, etc.

    cohrence ? Grard

    Methodes formelles p.51/153

  • Description informelle (la logique)Logique des propositionsLogique des prdicats

    Methodes formelles p.51/153

  • Description informelle (la logique)Logique des propositionsLogique des prdicats

    variables : paramtrer les propositionsquantificateur : dcrire le domaine de la variable(le domaine sera le type en Z)porte : espace dexistence de la variable.combinaison : oprateurs des propositions.

    Methodes formelles p.51/153

  • Description informelle (la logique)Logique des propositionsLogique des prdicats

    .

    /

    la variable est libre

    .

    /

    est une proposition

    .

    /

    est une proposition

    &

    .

    ++

    /

    est une proposition

    #

    ,

    .

    /

    .

    /

    est lie

    .

    /

    .

    ++

    /

    est une constante

    #

    ,

    &

    .

    /

    .

    /

    .

    /

    est lie

    Methodes formelles p.51/153

  • La notation Z

    IntroductionInformellement1. La logique2. Les types et les ensembles3. Les relations binaires et leurs variantes4. Les schmasFormellement1. La logique2. Les types et les ensembles3. Les relations binaires et leurs variantes4. Les schmas

    Methodes formelles p.52/153

  • Description informelle (types, ensembles)Ensemble : collection dlments

    Types : ensembles disjoints dlmentsDiffrents types

    vide (polymorphe)de base (indfinis)de prdfinis ( )libres (numrations, intervalles)dclars

    extensioncomprhensionrcursif

    Methodes formelles p.53/153

  • Description informelle (types, ensembles)Ensemble : collection dlmentsTypes : ensembles disjoints dlments

    lettres chiffres

    a

    bc

    d

    123

    4

    caractres

    &?

    Diffrents typesvide (polymorphe)de base (indfinis)de prdfinis ( )libres (numrations, intervalles)dclars

    extensioncomprhensionrcursif

    Methodes formelles p.53/153

  • Description informelle (types, ensembles)Ensemble : collection dlmentsTypes : ensembles disjoints dlmentsDiffrents types

    vide (polymorphe)de base (indfinis)de prdfinis ( )libres (numrations, intervalles)dclars

    extensioncomprhensionrcursif

    Methodes formelles p.53/153

  • Description informelle (types, ensembles)Ensemble : collection dlmentsTypes : ensembles disjoints dlmentsDiffrents types

    vide (polymorphe)

    de base (indfinis)de prdfinis ( )libres (numrations, intervalles)dclars

    extensioncomprhensionrcursif

    Methodes formelles p.53/153

  • Description informelle (types, ensembles)Ensemble : collection dlmentsTypes : ensembles disjoints dlmentsDiffrents types

    vide (polymorphe)de base (indfinis)

    de prdfinis ( )libres (numrations, intervalles)dclars

    extensioncomprhensionrcursif

    Methodes formelles p.53/153

  • Description informelle (types, ensembles)Ensemble : collection dlmentsTypes : ensembles disjoints dlmentsDiffrents types

    vide (polymorphe)de base (indfinis)de prdfinis ( )

    libres (numrations, intervalles)dclars

    extensioncomprhensionrcursif

    Methodes formelles p.53/153

  • Description informelle (types, ensembles)Ensemble : collection dlmentsTypes : ensembles disjoints dlmentsDiffrents types

    vide (polymorphe)de base (indfinis)de prdfinis ( )libres (numrations, intervalles) *

    dclarsextensioncomprhensionrcursif

    Methodes formelles p.53/153

  • Description informelle (types, ensembles)Ensemble : collection dlmentsTypes : ensembles disjoints dlmentsDiffrents types

    vide (polymorphe)de base (indfinis)de prdfinis ( )libres (numrations, intervalles) *

    dclars

    extensioncomprhensionrcursif

    Methodes formelles p.53/153

  • Description informelle (types, ensembles)Ensemble : collection dlmentsTypes : ensembles disjoints dlmentsDiffrents types

    vide (polymorphe)de base (indfinis)de prdfinis ( )libres (numrations, intervalles) *

    dclarsextension

    $

    '

    $

    $

    $

    $

    comprhensionrcursif

    Methodes formelles p.53/153

  • Description informelle (types, ensembles)Ensemble : collection dlmentsTypes : ensembles disjoints dlmentsDiffrents types

    vide (polymorphe)de base (indfinis)de prdfinis ( )libres (numrations, intervalles) *

    dclarsextension

    $

    '

    $

    $

    $

    $

    comprhension * ,

    rcursif

    Methodes formelles p.53/153

  • Description informelle (types, ensembles)Ensemble : collection dlmentsTypes : ensembles disjoints dlmentsDiffrents types

    vide (polymorphe)de base (indfinis)de prdfinis ( )libres (numrations, intervalles) *

    dclarsextension

    $

    '

    $

    $

    $

    $

    comprhension * ,

    rcursif *

    Methodes formelles p.53/153

  • Description informelle (types, ensembles)Oprateurs

    lments : galit, diffrencelments/ensemble : dclaration de type,appartenanceensembles : intersection, union, produit cartsien,diffrence, cardinal, puissance...

    exemples

    Methodes formelles p.54/153

  • Description informelle (types, ensembles)Oprateurs

    lments : galit, diffrence

    lments/ensemble : dclaration de type,appartenanceensembles : intersection, union, produit cartsien,diffrence, cardinal, puissance...

    exemples

    Methodes formelles p.54/153

  • Description informelle (types, ensembles)Oprateurs

    lments : galit, diffrencelments/ensemble : dclaration de type,appartenance

    ensembles : intersection, union, produit cartsien,diffrence, cardinal, puissance...

    exemples

    Methodes formelles p.54/153

  • Description informelle (types, ensembles)Oprateurs

    lments : galit, diffrencelments/ensemble : dclaration de type,appartenanceensembles : intersection, union, produit cartsien,diffrence, cardinal, puissance...

    exemples

    Methodes formelles p.54/153

  • Description informelle (types, ensembles)Oprateurs

    lments : galit, diffrencelments/ensemble : dclaration de type,appartenanceensembles : intersection, union, produit cartsien,diffrence, cardinal, puissance...

    exemples

    '

    $

    $

    *

    '

    !

    $

    '

    $

    $

    $

    '

    $

    $

    $

    $

    '

    $

    $

    '

    $

    $

    .

    '

    $

    /

    $

    .

    '

    $

    /

    $

    .

    $

    /

    $

    .

    $

    /

    $

    .

    $

    /

    $

    .

    $

    /

    Methodes formelles p.54/153

  • La notation Z

    IntroductionInformellement1. La logique2. Les types et les ensembles3. Les relations binaires et leurs variantes4. Les schmasFormellement1. La logique2. Les types et les ensembles3. Les relations binaires et leurs variantes4. Les schmas

    Methodes formelles p.55/153

  • Description informelle (relations)Relation : sous-ensemble dun produit cartsien

    binaire, orientecouple (antcdent, image)Domaine et co-domaineOprateurs : inversions, restrictions, compositions,fermeture...

    Methodes formelles p.56/153

  • Description informelle (relations)Relation : sous-ensemble dun produit cartsien

    binaire, oriente

    Marie

    8

    12

    17

    9

    511

    7

    10Sophie

    Rgis

    ETUDIANT 1..20

    dom notes ran notesnotes

    Luc

    Claude

    Benoit

    GillesSandrine

    PierreMichel

    couple (antcdent, image)Domaine et co-domaineOprateurs : inversions, restrictions, compositions,fermeture...

    Methodes formelles p.56/153

  • Description informelle (relations)Relation : sous-ensemble dun produit cartsien

    binaire, oriente

    couple (antcdent, image)

    Domaine et co-domaineOprateurs : inversions, restrictions, compositions,fermeture...

    Methodes formelles p.56/153

  • Description informelle (relations)Relation : sous-ensemble dun produit cartsien

    binaire, oriente

    couple (antcdent, image)Domaine et co-domaine

    Oprateurs : inversions, restrictions, compositions,fermeture...

    Methodes formelles p.56/153

  • Description informelle (relations)Relation : sous-ensemble dun produit cartsien

    binaire, oriente

    couple (antcdent, image)Domaine et co-domaineOprateurs : inversions, restrictions, compositions,fermeture...

    Methodes formelles p.56/153

  • Description informelle (fonctions)Fonction (partielle) : relation dont les antcdents ontau plus une image

    Variantes :Fonction totale : fonction dont les antcdents onttous une imageInjection : fonction dont les images ont au plus unantcdentSurjection : fonction dont les images ont au moinsun antcdentBijection : fonction dont les images ont exactementun antcdent-abstraction : fonction anonyme

    Oprateurs : idem relations

    Methodes formelles p.57/153

  • Description informelle (fonctions)Fonction (partielle) : relation dont les antcdents ontau plus une imageVariantes :

    Fonction totale : fonction dont les antcdents onttous une imageInjection : fonction dont les images ont au plus unantcdentSurjection : fonction dont les images ont au moinsun antcdentBijection : fonction dont les images ont exactementun antcdent-abstraction : fonction anonyme

    Oprateurs : idem relations

    Methodes formelles p.57/153

  • Description informelle (fonctions)Fonction (partielle) : relation dont les antcdents ontau plus une imageVariantes :

    Fonction totale : fonction dont les antcdents onttous une image

    Injection : fonction dont les images ont au plus unantcdentSurjection : fonction dont les images ont au moinsun antcdentBijection : fonction dont les images ont exactementun antcdent-abstraction : fonction anonyme

    Oprateurs : idem relations

    Methodes formelles p.57/153

  • Description informelle (fonctions)Fonction (partielle) : relation dont les antcdents ontau plus une imageVariantes :

    Fonction totale : fonction dont les antcdents onttous une imageInjection : fonction dont les images ont au plus unantcdent

    Surjection : fonction dont les images ont au moinsun antcdentBijection : fonction dont les images ont exactementun antcdent-abstraction : fonction anonyme

    Oprateurs : idem relations

    Methodes formelles p.57/153

  • Description informelle (fonctions)Fonction (partielle) : relation dont les antcdents ontau plus une imageVariantes :

    Fonction totale : fonction dont les antcdents onttous une imageInjection : fonction dont les images ont au plus unantcdentSurjection : fonction dont les images ont au moinsun antcdent

    Bijection : fonction dont les images ont exactementun antcdent-abstraction : fonction anonyme

    Oprateurs : idem relations

    Methodes formelles p.57/153

  • Description informelle (fonctions)Fonction (partielle) : relation dont les antcdents ontau plus une imageVariantes :

    Fonction totale : fonction dont les antcdents onttous une imageInjection : fonction dont les images ont au plus unantcdentSurjection : fonction dont les images ont au moinsun antcdentBijection : fonction dont les images ont exactementun antcdent

    -abstraction : fonction anonymeOprateurs : idem relations

    Methodes formelles p.57/153

  • Description informelle (fonctions)Fonction (partielle) : relation dont les antcdents ontau plus une imageVariantes :

    Fonction totale : fonction dont les antcdents onttous une imageInjection : fonction dont les images ont au plus unantcdentSurjection : fonction dont les images ont au moinsun antcdentBijection : fonction dont les images ont exactementun antcdent

    -abstraction : fonction anonyme

    Oprateurs : idem relations

    Methodes formelles p.57/153

  • Description informelle (fonctions)Fonction (partielle) : relation dont les antcdents ontau plus une imageVariantes :

    Fonction totale : fonction dont les antcdents onttous une imageInjection : fonction dont les images ont au plus unantcdentSurjection : fonction dont les images ont au moinsun antcdentBijection : fonction dont les images ont exactementun antcdent

    -abstraction : fonction anonymeOprateurs : idem relations

    Methodes formelles p.57/153

  • Description informelle (fonctions)Exemple : composition

    fct1

    123

    4

    fct2

    5

    c1c2c3

    c4c5

    a1a2a3

    a4a5

    compos

    123

    45

    a3a2

    a4a5

    a1

    Methodes formelles p.58/153

  • Description informelle (multi-ens, squences)Multi-ensemble : ensemble dont les lments peuventavoir plusieurs occurrences

    Oprateurs : comptage, appartenance, union,conversions...

    Squence : fonction dont les antcdents forment unintervalle ordre (liste)

    les lments peuvent avoir plusieurs occurrencesOprateurs : concatnation, premier, suite,inversion, partition...

    Squence injective : les lments ont une seuleoccurrence

    Matrice : squence de squences (pas de notationspcifique)

    Methodes formelles p.59/153

  • Description informelle (multi-ens, squences)Multi-ensemble : ensemble dont les lments peuventavoir plusieurs occurrences

    Oprateurs : comptage, appartenance, union,conversions...

    Squence : fonction dont les antcdents forment unintervalle ordre (liste)

    les lments peuvent avoir plusieurs occurrencesOprateurs : concatnation, premier, suite,inversion, partition...

    Squence injective : les lments ont une seuleoccurrence

    Matrice : squence de squences (pas de notationspcifique)

    Methodes formelles p.59/153

  • Description informelle (multi-ens, squences)Multi-ensemble : ensemble dont les lments peuventavoir plusieurs occurrences

    Oprateurs : comptage, appartenance, union,conversions...

    Squence : fonction dont les antcdents forment unintervalle ordre (liste)

    les lments peuvent avoir plusieurs occurrencesOprateurs : concatnation, premier, suite,inversion, partition...

    Squence injective : les lments ont une seuleoccurrence

    Matrice : squence de squences (pas de notationspcifique)

    Methodes formelles p.59/153

  • Description informelle (multi-ens, squences)Multi-ensemble : ensemble dont les lments peuventavoir plusieurs occurrences

    Oprateurs : comptage, appartenance, union,conversions...

    Squence : fonction dont les antcdents forment unintervalle ordre (liste)

    les lments peuvent avoir plusieurs occurrences

    Oprateurs : concatnation, premier, suite,inversion, partition...

    Squence injective : les lments ont une seuleoccurrence

    Matrice : squence de squences (pas de notationspcifique)

    Methodes formelles p.59/153

  • Description informelle (multi-ens, squences)Multi-ensemble : ensemble dont les lments peuventavoir plusieurs occurrences

    Oprateurs : comptage, appartenance, union,conversions...

    Squence : fonction dont les antcdents forment unintervalle ordre (liste)

    les lments peuvent avoir plusieurs occurrencesOprateurs : concatnation, premier, suite,inversion, partition...

    Squence injective : les lments ont une seuleoccurrence

    Matrice : squence de squences (pas de notationspcifique)

    Methodes formelles p.59/153

  • Description informelle (multi-ens, squences)Multi-ensemble : ensemble dont les lments peuventavoir plusieurs occurrences

    Oprateurs : comptage, appartenance, union,conversions...

    Squence : fonction dont les antcdents forment unintervalle ordre (liste)

    les lments peuvent avoir plusieurs occurrencesOprateurs : concatnation, premier, suite,inversion, partition...

    Squence injective : les lments ont une seuleoccurrence

    Matrice : squence de squences (pas de notationspcifique)

    Methodes formelles p.59/153

  • Description informelle (multi-ens, squences)Multi-ensemble : ensemble dont les lments peuventavoir plusieurs occurrences

    Oprateurs : comptage, appartenance, union,conversions...

    Squence : fonction dont les antcdents forment unintervalle ordre (liste)

    les lments peuvent avoir plusieurs occurrencesOprateurs : concatnation, premier, suite,inversion, partition...

    Squence injective : les lments ont une seuleoccurrence

    Matrice : squence de squences (pas de notationspcifique)

    Methodes formelles p.59/153

  • La notation Z

    IntroductionInformellement1. La logique2. Les types et les ensembles3. Les relations binaires et leurs variantes4. Les schmasFormellement1. La logique2. Les types et les ensembles3. Les relations binaires et leurs variantes4. Les schmas

    Methodes formelles p.60/153

  • Description informelle (schmas)Unit de structuration en Z

    dclarationsprdicat

    graphiquegnriquetype de donnesCalcul : inclusion, renommage, oprations logiques,projection, tubage...

    Methodes formelles p.61/153

  • Description informelle (schmas)Unit de structuration en Z

    dclarations

    prdicatgraphiquegnriquetype de donnesCalcul : inclusion, renommage, oprations logiques,projection, tubage...

    Methodes formelles p.61/153

  • Description informelle (schmas)Unit de structuration en Z

    dclarationsprdicat

    graphiquegnriquetype de donnesCalcul : inclusion, renommage, oprations logiques,projection, tubage...

    Methodes formelles p.61/153

  • Description informelle (schmas)Unit de structuration en Z

    dclarationsprdicat

    graphique

    .

    .

    .

    gnriquetype de donnesCalcul : inclusion, renommage, oprations logiques,projection, tubage...

    Methodes formelles p.61/153

  • Description informelle (schmas)Unit de structuration en Z

    dclarationsprdicat

    graphiquegnrique

    .

    .

    .

    type de donnesCalcul : inclusion, renommage, oprations logiques,projection, tubage...

    Methodes formelles p.61/153

  • Description informelle (schmas)Unit de structuration en Z

    dclarationsprdicat

    graphiquegnriquetype de donnes

    Calcul : inclusion, renommage, oprations logiques,projection, tubage...

    Methodes formelles p.61/153

  • Description informelle (schmas)Unit de structuration en Z

    dclarationsprdicat

    graphiquegnriquetype de donnesCalcul : inclusion, renommage, oprations logiques,projection, tubage...

    Methodes formelles p.61/153

  • La notation Z

    Informellement1. La logique2. Les types et les ensembles3. Les relations binaires et leurs variantes4. Les schmasFormellement1. Les schmas2. La logique3. Les types et les ensembles4. Les relations binaires et leurs variantes

    Methodes formelles p.62/153

  • Description formelle (propositions)Constantes : et

    Oprateurs :Oprateur Sens Notations alternatives

    ngationconjonctiondisjonctionngationquivalence quivalence logique

    A ces oprateurs peuvent tre ajouts de nouveauxoprateurs tels que le ou exclusif ( ).

    Methodes formelles p.63/153

  • Description formelle (propositions)Constantes : et

    Oprateurs :Oprateur Sens Notations alternatives

    ngation $ $

    conjonction $ ( $

    disjonction $

    ngation $

    quivalence quivalence logique

    A ces oprateurs peuvent tre ajouts de nouveauxoprateurs tels que le ou exclusif ( ).

    Methodes formelles p.63/153

  • Description formelle (propositions)Proprits :

    Axiomes

    ThormesPreuve raisonnement par

    rductiondductionlabsurdecashypothsercurrenceautres (tables de vrit, Karnaugh, rsolution)

    ++ Dtails : [AV01b], chapitre 2, section 2

    Methodes formelles p.64/153

  • Description formelle (propositions)Proprits :

    AxiomesThormes

    Nom Proprit PropositionP Commutativit

    P

    P Lois DE MORGAN . /

    P (formes normales) . /

    P Forme normale

    Preuve raisonnement parrductiondductionlabsurdecashypothsercurrenceautres (tables de vrit, Karnaugh, rsolution)

    ++ Dtails : [AV01b], chapitre 2, section 2

    Methodes formelles p.64/153

  • Description formelle (propositions)Proprits :

    AxiomesThormesPreuve raisonnement par

    rductiondductionlabsurdecashypothsercurrenceautres (tables de vrit, Karnaugh, rsolution)

    ++ Dtails : [AV01b], chapitre 2, section 2

    Methodes formelles p.64/153

  • Description formelle (propositions)Proprits :

    AxiomesThormesPreuve raisonnement par

    rduction

    dductionlabsurdecashypothsercurrenceautres (tables de vrit, Karnaugh, rsolution)

    ++ Dtails : [AV01b], chapitre 2, section 2

    Methodes formelles p.64/153

  • Description formelle (propositions)Proprits :

    AxiomesThormesPreuve raisonnement par

    rductiondduction

    labsurdecashypothsercurrenceautres (tables de vrit, Karnaugh, rsolution)

    ++ Dtails : [AV01b], chapitre 2, section 2

    Methodes formelles p.64/153

  • Description formelle (propositions)Proprits :

    AxiomesThormesPreuve raisonnement par

    rductiondductionlabsurde

    cashypothsercurrenceautres (tables de vrit, Karnaugh, rsolution)

    ++ Dtails : [AV01b], chapitre 2, section 2

    Methodes formelles p.64/153

  • Description formelle (propositions)Proprits :

    AxiomesThormesPreuve raisonnement par

    rductiondductionlabsurdecas

    hypothsercurrenceautres (tables de vrit, Karnaugh, rsolution)

    ++ Dtails : [AV01b], chapitre 2, section 2

    Methodes formelles p.64/153

  • Description formelle (propositions)Proprits :

    AxiomesThormesPreuve raisonnement par

    rductiondductionlabsurdecashypothse

    rcurrenceautres (tables de vrit, Karnaugh, rsolution)

    ++ Dtails : [AV01b], chapitre 2, section 2

    Methodes formelles p.64/153

  • Description formelle (propositions)Proprits :

    AxiomesThormesPreuve raisonnement par

    rductiondductionlabsurdecashypothsercurrence

    autres (tables de vrit, Karnaugh, rsolution)++ Dtails : [AV01b], chapitre 2, section 2

    Methodes formelles p.64/153

  • Description formelle (propositions)Proprits :

    AxiomesThormesPreuve raisonnement par

    rductiondductionlabsurdecashypothsercurrenceautres (tables de vrit, Karnaugh, rsolution)

    ++ Dtails : [AV01b], chapitre 2, section 2

    Methodes formelles p.64/153

  • Description formelle (propositions)Proprits :

    AxiomesThormesPreuve raisonnement par

    rductiondductionlabsurdecashypothsercurrenceautres (tables de vrit, Karnaugh, rsolution)

    ++ Dtails : [AV01b], chapitre 2, section 2Methodes formelles p.64/153

  • Description formelle (prdicats)Constantes : et

    Quantificateurs :variable libre

    prdicat paramtr par la variablevariable lie

    P est vrai pour toute valeur deil y a au moins une valeur detelle que P soit vraiil y a une seule valeur detelle que P soit vrai

    Methodes formelles p.65/153

  • Description formelle (prdicats)Constantes : et

    Quantificateurs :variable libre

    .

    / prdicat paramtr par la variable

    variable lie

    #

    ,

    .

    /

    P est vrai pour toute valeur de

    ,

    .

    /

    il y a au moins une valeur de

    telle que P soit vrai

    ,

    .

    /

    il y a une seule valeur de

    ,

    .

    /

    telle que P soit vrai

    Methodes formelles p.65/153

  • Description formelle (prdicats)Interprtation :

    Domaine : dfini ou pas (cf types)

    Oprateurs de base : propositionsExpressions : dduction naturelle

    Methodes formelles p.66/153

  • Description formelle (prdicats)Interprtation :

    Domaine : dfini ou pas (cf types)Oprateurs de base : propositions

    Expressions : dduction naturelle

    Methodes formelles p.66/153

  • Description formelle (prdicats)Interprtation :

    Domaine : dfini ou pas (cf types)Oprateurs de base : propositionsExpressions : dduction naturelle

    Nom Rgle dinfrence

    #

    -introduction

    .

    /

    #

    ,

    .

    / o est un terme arbitraire

    #

    -limination#

    ,

    .

    /

    .

    / o est un terme arbitraire

    Rgles de dduction du calcul des prdicats

    Methodes formelles p.66/153

  • Description formelle (prdicats)Proprits :

    Axiomes

    Thormes : exemple de la distributionPreuve propositions

    ++ Dtails : [AV01b], chapitre 2, section 4

    Methodes formelles p.67/153

  • Description formelle (prdicats)Proprits :

    AxiomesThormes : exemple de la distribution

    Nom Proprit FormuleP

    #

    sur

    .

    #

    ,

    .

    /

    .

    / /

    .

    #

    ,

    .

    / /

    .

    #

    ,

    .

    / /

    P

    #

    sur

    .

    #

    ,

    .

    /

    .

    / /

    .

    #

    ,

    .

    / /

    .

    #

    ,

    .

    / /

    P

    sur

    .

    ,

    .

    /

    .

    / /

    .

    ,

    .

    / /

    .

    ,

    .

    / /

    P

    sur

    .

    ,

    .

    /

    .

    / /

    .

    ,

    .

    / /

    .

    ,

    .

    / /

    Preuve propositions++ Dtails : [AV01b], chapitre 2, section 4

    Methodes formelles p.67/153

  • Description formelle (prdicats)Proprits :

    AxiomesThormes : exemple de la distributionPreuve propositions

    ++ Dtails : [AV01b], chapitre 2, section 4

    Methodes formelles p.67/153

  • Description formelle (prdicats)Proprits :

    AxiomesThormes : exemple de la distributionPreuve propositions

    ++ Dtails : [AV01b], chapitre 2, section 4

    Methodes formelles p.67/153

  • La notation Z

    IntroductionInformellement1. La logique2. Les types et les ensembles3. Les relations binaires et leurs variantes4. Les schmasFormellement1. La logique2. Les types et les ensembles3. Les relations binaires et leurs variantes4. Les schmas

    Methodes formelles p.68/153

  • Description formelle (types, ensembles)Toutes les variables sont types en Z.

    dclaration libre $ ( ( (

    dclaration contrainte

    "

    porte de la dclaration (global, schma, liaison)

    Methodes formelles p.69/153

  • Description formelle (types, ensembles)Toutes les variables sont types en Z.Diffrents types

    vide

    ,

    de base (global)de prdfinis ( )libres * dclars

    extension

    $

    '

    $

    $

    $

    $

    comprhension *

    rcursif

    *

    Methodes formelles p.69/153

  • Description formelle (types, ensembles)Oprateurs

    lments :lments/ensemble :ensembles :

    avec

    Methodes formelles p.70/153

  • Description formelle (types, ensembles)Oprateurs

    lments : . /

    lments/ensemble :ensembles :

    avec

    Methodes formelles p.70/153

  • Description formelle (types, ensembles)Oprateurs

    lments : . /

    lments/ensemble :

    ensembles :

    avec

    Methodes formelles p.70/153

  • Description formelle (types, ensembles)Oprateurs

    lments : . /

    lments/ensemble :

    ensembles :

    .

    #

    ,

    /

    .

    #

    ,

    /

    ,

    .

    $

    /

    *

    avec

    $

    Methodes formelles p.70/153

  • Description formelle (types, ensembles)Proprits

    appartient # , vide ,

    extension

    .

    /

    .

    #

    ,

    /

    prdicat * . / . . / /

    motif , . / . , . / /

    Preuve logique++ Dtails : [AV01b], chapitre 2, section 5

    Methodes formelles p.71/153

  • Description formelle (types, ensembles)Proprits

    appartient # , vide ,

    extension

    .

    /

    .

    #

    ,

    /

    prdicat * . / . . / /

    motif , . / . , . / /

    Preuve logique

    ++ Dtails : [AV01b], chapitre 2, section 5

    Methodes formell