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
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
Top Related