Vous êtes sur la page 1sur 315

Mthodes formelles

La notation Z
Pascal Andre LINA - IUP Miage de Nantes de Nantes Universite ` ; B.P. 92208 2 rue de la Houssiniere 44322 Nantes Cedex 03 pascal.andre@univ-nantes.fr

Methodes formelles p.1/139

Plan du cours
1. Exemple introductif 2. La notation Z - informellement + formellement 3. La mthode de dveloppement - informellement + formellement 4. Bilan et extensions

Methodes formelles p.2/139

Bibliographie sommaire
Cours Z

AV01b] Pascal Andr and Alain Vailly. Spcication des logiciels, Deux exemples de pratiques rcentes : Z et UML, volume 2 of Collection Technosup. Editions Ellipses, 2001. ISBN 2-7298-0774-8.

[Spi94] Mike Spivey. La notation Z. Collection Mthodologies du logiciel. Editions Masson, 1994. Traduit de langlais par Michel Lemoine, ISBN 2-225-84367-8. Corrigs dexercices Z

[AV04] Pascal Andr and Alain Vailly. Exercices corrigs en langage Z, les spcications formelles par la pratique, volume 4 of Collection Technosup. Editions Ellipses, 2004. ISBN -, 2-7298-1942-8.
Methodes formelles p.3/139

Plan du cours
1. Exemple introductif 2. La notation Z - informellement + formellement 3. La mthode de dveloppement - informellement + formellement 4. Bilan et extensions

Methodes formelles p.4/139

Exemple introductif
1. Description informelle 2. Modlisation avec Merise MCD MCT Critique 3. Modlisation avec Z Donnes Traitements Critique 4. Bilan

Methodes formelles p.5/139

Description informelle
Ladministration veut grer automatiquement les salles dattente lhpital. Chaque salle a une capacit daccueil limite. Elles portent un nom et sont situes un emplacement prcis de lhpital. Les patients sont admis normalement ou en urgence. Les patients admis en urgence sont appels prioritairement vis--vis des patients en admission normale. Lordre dappel est lordre darrive, compte-tenu des ventuelles urgences. Un patient appel est reu et soign par le docteur. Les soins ne sont pas interrompus par larrive dun patient en urgence. On considre 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.6/139

Modlisation avec Merise (MCD)


attente normale num_ordre_na Patient no_SecSoc_p nom_p prnom_p adresse_p 0,1 X 0,1 urgence num_ordre_u T 0,n 0,n SalleAttente no_s nom_s localisation_s nb_places_s

+ dictionnaire des donnes + explications

Methodes formelles p.7/139

Modlisation avec Merise (MCT)


Arrive d'un patient

Orientation des patients Vrification du patient Cration ventuelle du patient Evaluation des soins Orientation du patient Normale Urgence Refus

Patient cr

Admission normale (a)

Admission urgente (b)

Admission refuse

Methodes formelles p.8/139

Modlisation avec Merise (MCT)


Admission normale (a) Admission urgente (b)

b prioritaire sur a Soin soins prodigus au patient

+ explications

Patient guri

Methodes formelles p.9/139

Critique (MCD)
+ Plus concis et moins soumis interprtation que la description informelle.

Methodes formelles p.10/139

Critique (MCD)
+ Plus concis et moins soumis interprtation que la description informelle. + MCD presque complet (cardinalits, contraintes).

Methodes formelles p.10/139

Critique (MCD)
+ Plus concis et moins soumis interprtation que la description informelle. + MCD presque complet (cardinalits, contraintes). Mais ...

Methodes formelles p.10/139

Critique (MCD)
+ Plus concis et moins soumis interprtation que la description informelle. + MCD presque complet (cardinalits, contraintes). Mais ... - Manque de prcision

Methodes formelles p.10/139

Critique (MCD)
+ Plus concis et moins soumis interprtation que la description informelle. + MCD presque complet (cardinalits, contraintes). Mais ... - Manque de prcision rgles de gestion

Methodes formelles p.10/139

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 associations

Methodes formelles p.10/139

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 associations contraintes informelles

Methodes formelles p.10/139

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 associations contraintes informelles - Manque de smantique formelle

Methodes formelles p.10/139

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 associations contraintes informelles - Manque de smantique formelle Comment vrier ?

Methodes formelles p.10/139

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 associations contraintes informelles - Manque de smantique formelle Comment vrier ? Comment prouver la correction ?

Methodes formelles p.10/139

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 associations contraintes informelles - Manque de smantique formelle Comment vrier ? Comment prouver la correction ? Pas doublis ?
Methodes formelles p.10/139

Critique (MCT)
+ Enchanements des oprations.

Methodes formelles p.11/139

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

Methodes formelles p.11/139

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

Methodes formelles p.11/139

Critique (MCT)
+ Enchanements des oprations. + Vue globale des traitements. Mais ... - Manque de prcision

Methodes formelles p.11/139

Critique (MCT)
+ Enchanements des oprations. + Vue globale des traitements. Mais ... - Manque de prcision rgles de gestion

Methodes formelles p.11/139

Critique (MCT)
+ Enchanements des oprations. + Vue globale des traitements. Mais ... - Manque de prcision rgles de gestion dtails des oprations

Methodes formelles p.11/139

Critique (MCT)
+ Enchanements des oprations. + Vue globale des traitements. Mais ... - Manque de prcision rgles de gestion dtails des oprations contraintes sur les vnements

Methodes formelles p.11/139

Critique (MCT)
+ Enchanements des oprations. + Vue globale des traitements. Mais ... - Manque de prcision rgles de gestion dtails des oprations contraintes sur les vnements - Manque de smantique formelle

Methodes formelles p.11/139

Critique (MCT)
+ Enchanements des oprations. + Vue globale des traitements. Mais ... - Manque de prcision rgles de gestion dtails des oprations contraintes sur les vnements - Manque de smantique formelle Comment vrier ?

Methodes formelles p.11/139

Critique (MCT)
+ Enchanements des oprations. + Vue globale des traitements. Mais ... - Manque de prcision rgles de gestion dtails des oprations contraintes sur les vnements - Manque de smantique formelle Comment vrier ? Comment prouver la correction ?

Methodes formelles p.11/139

Critique (MCT)
+ Enchanements des oprations. + Vue globale des traitements. Mais ... - Manque de prcision rgles de gestion dtails des oprations contraintes sur les vnements - Manque de smantique formelle Comment vrier ? Comment prouver la correction ? Pas doublis ?

Methodes formelles p.11/139

Exemple introductif
1. Description informelle 2. Modlisation avec Merise MCD MCT Critique 3. Modlisation avec Z Attention : certains lments sont errons avec PDF. Donnes Traitements Critique 4. Bilan
Methodes formelles p.12/139

Modlisation avec Z (Donnes)


Dnitions de types, dclarations globales
 

Dnitions de ltat du systme (schma)


  D # & %' $ ( ! 6 ! ! " ( 0 )! ! 1 423 '  ! " 

'5  ! " ( 0 )!

( HI

 E G F@ '  ! " ( 0 )!

89( 7

1 BCAB

' E  ! " ( 0 )!

'5  ! " ( 0 )!

Methodes formelles p.13/139

@I

'  ! 1 '


'  ! % (


' " ( )0! " !




" ( )0!  E

  ! " ( )0! " ( )0! 




 ! 1 " ! # %'&$ !(  1 (7 ' BB A


'       ! ! (

 ! # %'&$ !(  ' 

! !

'5  ! " ( )0!

'

'  " ( )0!

'5  ! " ( )0! F '  ! " ( )0! ( HI ' E

Methodes formelles p.14/139

Dnitions des oprations de modication (schma)

Modlisation avec Z (Traitements)

' 1

'

'

BB A


1 ! # %'&$ !(      ( ! ! " ! # %'&$ !(




(7 ! ! "   

   (

'5  ! " ( )0!   

'5  ! " ( )0! F '  " ( )0! (H I ' E

F 

  I

Dnitions des prconditions des oprations (schma)

Modlisation avec Z (Traitements)

Methodes formelles p.15/139

Modlisation avec Z (Traitements)


Dnitions des oprations de consultation (schma)
" ! ! "    ! # %'&$ !( 

! ! "

"

Combien de patients en attente ?

'5  ! " ( )0!

"

!

Methodes formelles p.16/139

) '  " ( )0! 423  '




" '

"

! 1

6  )5 D  ! ! " ! # %'&$ !(  ) (

1 !

1   

)

patient consulter

'5  ! " ( 0 )!

'  !

" ( )0!

"

Modlisation avec Z (Traitements)

FA

Methodes formelles p.17/139

Modlisation avec Z (Validation)


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

Methodes formelles p.18/139

Modlisation avec Z (Validation)


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

Methodes formelles p.18/139

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) (obligations de preuves)

Methodes formelles p.18/139

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) (obligations de preuves) Existence dun tat initial.

Methodes formelles p.18/139

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) (obligations de preuves) Existence dun tat initial. Prservation des invariants dans les oprations.

Methodes formelles p.18/139

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) (obligations de preuves) Existence dun tat initial. Prservation des invariants dans les oprations. Preuve de rafnement de donnes ou doprations.

Methodes formelles p.18/139

Modlisation avec Z (Validation)


Les proprits attendues pour le systme salle dattente sont :

Methodes formelles p.19/139

Modlisation avec Z (Validation)


Les proprits attendues pour le systme salle dattente sont : La capacit de la salle nest pas dpasse.

Methodes formelles p.19/139

Modlisation avec Z (Validation)


Les proprits attendues pour le systme salle dattente sont : La capacit de la salle nest pas dpasse. Il y a quit (forte).

Methodes formelles p.19/139

Modlisation avec Z (Validation)


Les proprits attendues pour le systme salle dattente sont : La capacit de la salle nest pas dpasse. Il y a quit (forte). Lordre de sortie est lordre darrive.

Methodes formelles p.19/139

Modlisation avec Z (Validation)


Les proprits attendues pour le systme salle dattente 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. )

Methodes formelles p.19/139

Modlisation avec Z (Validation)


Les proprits attendues pour le systme salle dattente 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 :

Methodes formelles p.19/139

Modlisation avec Z (Validation)


Les proprits attendues pour le systme salle dattente 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. ;
  # & %' $ ( ! F " !(  

# & %' $ ( !

! ! "

!

! ! "

!

Methodes formelles p.19/139

Modlisation avec Z (Validation)


Les proprits attendues pour le systme salle dattente 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. .
  # & %' $ ( ! F " !(  

) 

 

'

# %'&$ ( !

) (

! ! "

!

# & %' $ ( !

! ! "

!

! ! "

!

Methodes formelles p.19/139

Modlisation avec Z (Rafnement)


De la spcication au code... Deux types de rafnement sont distingus en Z : Le rafnement des oprations. Les structures de contrle du langage de programmation cible sont introduites progressivement e.g. squence, conditionnelles, itrations pour la programmation imprative. Le rafnement des donnes. Les structures de donnes du langage de programmation cible sont introduites progressivement e.g. structures, tableaux, pointeurs pour la programmation imprative.

Methodes formelles p.20/139

' " 8 (7 9 5 

  

'

  @

 ( 1 423 %

 ( " ! 

  

 (

" %

!(   1 B AB C ' 1
 (

  !

" %  !
 ' D (   E F @  (

6 

 (

6  (

( HI  E  (

Modlisation avec Z (Rafnement *

@I

Methodes formelles p.21/139

'

'  1

'

'  1 "

' 

  
 (

'
 (

 (




" % (  !

   %

 

 ' 
 (
 

(7

(7


BB A ' 
 (

BB A '  ( 

 '

 (

F  (

( HI ' E

Methodes formelles p.21/139

 (

( HI ' E  (


Modlisation avec Z (Rafnement * * )

'

'  1 " %

'

'  % !

 (

 

' 

'  1
 (



 (

% (

(  !

" %

   !

 
 (

'

 !

Modlisation avec Z (Rafnement * * * )

Methodes formelles p.21/139

' "


"

" '

"


"



 (

'6

" %

  ) ( 
 (

% ! ' " %

 1 ! ! " !  !

  


 (

'


 (


 !

' 

"

 (

" H

 (


  (

Modlisation avec Z (Rafnement * * * * )

Methodes formelles p.21/139

Modlisation avec Z (Rafnement * * * * *


   )

  

"

# %& '$ ( !

! ! "

!

BB A ' 

Preuves du rafnement de ltat initial des oprations

 (

" ( )0!

 (

'

Methodes formelles p.21/139

Exemple introductif
1. Description informelle 2. Modlisation avec Merise MCD MCT Critique 3. Modlisation avec Z Donnes Traitements Critique 4. Bilan

Methodes formelles p.22/139

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

Methodes formelles p.23/139

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

Methodes formelles p.23/139

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

Methodes formelles p.23/139

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 en conance

Methodes formelles p.23/139

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 en conance

- pratique dlicate (lisibilit, exprience)

Methodes formelles p.23/139

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 en conance

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

Methodes formelles p.23/139

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 en conance

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

Methodes formelles p.23/139

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 en conance

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

Methodes formelles p.23/139

Usage
Usage des "spec formelles" rchir sur des spcications avant dimplanter = raisonnement abstrait

Methodes formelles p.24/139

Usage
Usage des "spec formelles" rchir sur des spcications avant dimplanter = raisonnement abstrait prouver des proprits avant de tester

Methodes formelles p.24/139

Usage
Usage des "spec formelles" rchir sur des spcications avant dimplanter = raisonnement abstrait prouver des proprits avant de tester prouver la correction de programmes

Methodes formelles p.24/139

Usage
Usage des "spec formelles" rchir sur des spcications avant dimplanter = raisonnement abstrait prouver des proprits avant de tester prouver la correction de programmes automatiser la construction de programmes

Methodes formelles p.24/139

Usage
Usage des "spec formelles" rchir sur des spcications avant dimplanter = raisonnement abstrait prouver des proprits avant de tester prouver la correction de programmes automatiser la construction de programmes se dgager des contraintes dimplantation

Methodes formelles p.24/139

Usage
Usage des "spec formelles" rchir sur des spcications avant dimplanter = raisonnement abstrait prouver des proprits avant de tester prouver la correction de programmes automatiser la construction de programmes se dgager des contraintes dimplantation documenter la rutilisation

Methodes formelles p.24/139

Pour aller plus loin


Les systmes formels, dnitions, utilisation des spcications formelles, Intrts et limites, Classication [AV01] Chapitre 1 What is this Theory Good for?
www.cs.auc.dk/ luca/SV/use.html

Palshikar, Girish Keshav (2001) Applying Formal Specications to Real-World Software Development, IEEE Software, Novembre/Dcembre, pp. 89-97
www.seg.etsmtl.ca/sylvie/LOG310/Textes/Palshikar.pdf

van Lamsweerde, Axel (2000) Formal Specication: a Roadmap, ACM Future of Software Engineering Conference, Limerick, Irelande, pp. 149-159.
www.seg.etsmtl.ca/sylvie/LOG310/Textes/p147-lamsweerde.pdf
Methodes formelles p.25/139

Plan du cours
1. Exemple introductif 2. La notation Z - informellement + formellement 3. La mthode de dveloppement - informellement + formellement 4. Bilan et extensions

Methodes formelles p.26/139

La notation Z
Introduction Informellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas Formellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas Attention : certains lments sont errons avec PDF.
Methodes formelles p.27/139

Introduction
Modlisation mathmatique

Methodes formelles p.28/139

Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford)

Methodes formelles p.28/139

Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford) Annes 70

Methodes formelles p.28/139

Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford) Annes 70 Principes

Methodes formelles p.28/139

Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford) Annes 70 Principes spcication mathmatique, axiomatique de Hoare

Methodes formelles p.28/139

Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford) Annes 70 Principes spcication mathmatique, axiomatique de Hoare abstraction

Methodes formelles p.28/139

Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford) Annes 70 Principes spcication mathmatique, axiomatique de Hoare abstraction schma

Methodes formelles p.28/139

Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford) Annes 70 Principes spcication mathmatique, axiomatique de Hoare abstraction schma preuve de proprits

Methodes formelles p.28/139

Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford) Annes 70 Principes spcication mathmatique, axiomatique de Hoare abstraction schma preuve de proprits rafnement (rafnage, rication)

Methodes formelles p.28/139

La notation Z
Introduction Informellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas Formellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas
Methodes formelles p.29/139

Description informelle (la logique)


Logique des propositions

Methodes formelles p.30/139

Description informelle (la logique)


Logique des propositions Loin 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.30/139

Description informelle (la logique)


Logique des propositions Loin 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 faux contradiction : non (vrai et faux) combinaison : et, ou, non, ou exclusif, implique, etc. cohrence ? Grard

Methodes formelles p.30/139

Description informelle (la logique)


Logique des propositions Logique des prdicats

Methodes formelles p.30/139

Description informelle (la logique)


Logique des propositions Logique des prdicats variables : paramtrer les propositions quanticateur : 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.30/139

Description informelle (la logique)


Logique des propositions Logique des prdicats
H

++
H

++

la variable est libre est une proposition est une proposition est une proposition est lie est une constante

'

)

'

@ !

 I

"(

"

%"

I

" 

'

'

'

@ !

est lie

"(

"

%"

'

Methodes formelles p.30/139

La notation Z
Introduction Informellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas Formellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas
Methodes formelles p.31/139

Description informelle (types, ensembles)


Ensemble : collection dlments

Methodes formelles p.32/139

Description informelle (types, ensembles)


Ensemble : collection dlments Types : ensembles disjoints dlments
lettres a b c d caractres & ? chiffres 1 2 3 4

Methodes formelles p.32/139

Description informelle (types, ensembles)


Ensemble : collection dlments Types : ensembles disjoints dlments Diffrents types

Methodes formelles p.32/139

Description informelle (types, ensembles)


Ensemble : collection dlments Types : ensembles disjoints dlments Diffrents types vide (polymorphe)

Methodes formelles p.32/139

Description informelle (types, ensembles)


Ensemble : collection dlments Types : ensembles disjoints dlments Diffrents types vide (polymorphe) de base (indnis)

Methodes formelles p.32/139

Description informelle (types, ensembles)


Ensemble : collection dlments Types : ensembles disjoints dlments Diffrents types vide (polymorphe) de base (indnis) de prdnis ( )

Methodes formelles p.32/139

Description informelle (types, ensembles)


Ensemble : collection dlments Types : ensembles disjoints dlments Diffrents types vide (polymorphe) de base (indnis) de prdnis ( ) libres (numrations, intervalles)

%

(  

11

Methodes formelles p.32/139

Description informelle (types, ensembles)


Ensemble : collection dlments Types : ensembles disjoints dlments Diffrents types vide (polymorphe) de base (indnis) de prdnis ( ) libres (numrations, intervalles) dclars

%

(  

11

Methodes formelles p.32/139

Description informelle (types, ensembles)


Ensemble : collection dlments Types : ensembles disjoints dlments Diffrents types vide (polymorphe) de base (indnis) de prdnis ( ) libres (numrations, intervalles) dclars extension

%

(  

 

8 A

8 

"

11

Methodes formelles p.32/139

Description informelle (types, ensembles)


Ensemble : collection dlments Types : ensembles disjoints dlments Diffrents types vide (polymorphe) de base (indnis) de prdnis ( ) libres (numrations, intervalles) dclars extension comprhension

%

( 

 

( 8  8   8

8 A

"

! 8

11

"

'


Methodes formelles p.32/139

Description informelle (types, ensembles)


Ensemble : collection dlments Types : ensembles disjoints dlments Diffrents types vide (polymorphe) de base (indnis) de prdnis ( ) libres (numrations, intervalles) dclars extension comprhension rcursif

%

( 

 

( 8  8   8

8 A

"

! 8

11

"

'


Methodes formelles p.32/139

) D

"

"

11

Description informelle (types, ensembles)


Oprateurs

Methodes formelles p.33/139

Description informelle (types, ensembles)


Oprateurs lments : galit, diffrence

Methodes formelles p.33/139

Description informelle (types, ensembles)


Oprateurs lments : galit, diffrence lments/ensemble : dclaration de type, appartenance

Methodes formelles p.33/139

Description informelle (types, ensembles)


Oprateurs lments : galit, diffrence lments/ensemble : dclaration de type, appartenance ensembles : intersection, union, produit cartsien, diffrence, cardinal, puissance...

Methodes formelles p.33/139

Description informelle (types, ensembles)


Oprateurs lments : galit, diffrence lments/ensemble : dclaration de type, appartenance ensembles : intersection, union, produit cartsien, diffrence, cardinal, puissance... exemples

 

'

D 8 A 8  " )

" 5

"

"



11

"

8    " 8 8 I ) H 8  8 

H 8 A

8 I 8 H 8 8 A  8 I 8 H 8 8 A I 8 

H 8

8 I 8 H 8 A

8 I

'

8 A 

"

"

"

Methodes formelles p.33/139

La notation Z
Introduction Informellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas Formellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas
Methodes formelles p.34/139

Description informelle (relations)


Relation : sous-ensemble dun produit cartsien

Methodes formelles p.35/139

Description informelle (relations)


Relation : sous-ensemble dun produit cartsien binaire, oriente
Pierre Michel Sandrine Gilles Benoit Luc Claude Marie Sophie notes dom notes Rgis ETUDIANT 12 9 5 11 10 7 ran notes 17 8

1..20
Methodes formelles p.35/139

Description informelle (relations)


Relation : sous-ensemble dun produit cartsien binaire, oriente couple (antcdent, image)

Methodes formelles p.35/139

Description informelle (relations)


Relation : sous-ensemble dun produit cartsien binaire, oriente couple (antcdent, image) Domaine et co-domaine

Methodes formelles p.35/139

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.35/139

Description informelle (fonctions)


Fonction (partielle) : relation dont les antcdents ont au plus une image

Methodes formelles p.36/139

Description informelle (fonctions)


Fonction (partielle) : relation dont les antcdents ont au plus une image Variantes :

Methodes formelles p.36/139

Description informelle (fonctions)


Fonction (partielle) : relation dont les antcdents ont au plus une image Variantes : Fonction totale : fonction dont les antcdents ont tous une image

Methodes formelles p.36/139

Description informelle (fonctions)


Fonction (partielle) : relation dont les antcdents ont au plus une image Variantes : Fonction totale : fonction dont les antcdents ont tous une image Injection : fonction dont les images ont au plus un antcdent

Methodes formelles p.36/139

Description informelle (fonctions)


Fonction (partielle) : relation dont les antcdents ont au plus une image Variantes : Fonction totale : fonction dont les antcdents ont tous une image Injection : fonction dont les images ont au plus un antcdent Surjection : fonction dont les images ont au moins un antcdent

Methodes formelles p.36/139

Description informelle (fonctions)


Fonction (partielle) : relation dont les antcdents ont au plus une image Variantes : Fonction totale : fonction dont les antcdents ont tous une image Injection : fonction dont les images ont au plus un antcdent Surjection : fonction dont les images ont au moins un antcdent Bijection : fonction dont les images ont exactement un antcdent

Methodes formelles p.36/139

Description informelle (fonctions)


Fonction (partielle) : relation dont les antcdents ont au plus une image Variantes : Fonction totale : fonction dont les antcdents ont tous une image Injection : fonction dont les images ont au plus un antcdent Surjection : fonction dont les images ont au moins un antcdent Bijection : fonction dont les images ont exactement un antcdent -abstraction : fonction anonyme

Methodes formelles p.36/139

Description informelle (fonctions)


Fonction (partielle) : relation dont les antcdents ont au plus une image Variantes : Fonction totale : fonction dont les antcdents ont tous une image Injection : fonction dont les images ont au plus un antcdent Surjection : fonction dont les images ont au moins un antcdent Bijection : fonction dont les images ont exactement un antcdent -abstraction : fonction anonyme Oprateurs : idem relations
Methodes formelles p.36/139

Description informelle (fonctions)


Exemple : composition
fct1 1 2 3 4 5 c1 c2 c3 c4 c5 fct2 a1 a2 a3 a4 a5

compos 1 2 3 4 5 a1 a3 a2 a4 a5

Methodes formelles p.37/139

escription informelle (multi-ens, squences


Multi-ensemble : ensemble dont les lments peuvent avoir plusieurs occurrences

Methodes formelles p.38/139

escription informelle (multi-ens, squences


Multi-ensemble : ensemble dont les lments peuvent avoir plusieurs occurrences Oprateurs : comptage, appartenance, union, conversions...

Methodes formelles p.38/139

escription informelle (multi-ens, squences


Multi-ensemble : ensemble dont les lments peuvent avoir plusieurs occurrences Oprateurs : comptage, appartenance, union, conversions... Squence : fonction dont les antcdents forment un ordre (liste) intervalle

Methodes formelles p.38/139

escription informelle (multi-ens, squences


Multi-ensemble : ensemble dont les lments peuvent avoir plusieurs occurrences Oprateurs : comptage, appartenance, union, conversions... Squence : fonction dont les antcdents forment un ordre (liste) intervalle les lments peuvent avoir plusieurs occurrences

Methodes formelles p.38/139

escription informelle (multi-ens, squences


Multi-ensemble : ensemble dont les lments peuvent avoir plusieurs occurrences Oprateurs : comptage, appartenance, union, conversions... Squence : fonction dont les antcdents forment un ordre (liste) intervalle les lments peuvent avoir plusieurs occurrences Oprateurs : concatnation, premier, suite, inversion, partition...

Methodes formelles p.38/139

escription informelle (multi-ens, squences


Multi-ensemble : ensemble dont les lments peuvent avoir plusieurs occurrences Oprateurs : comptage, appartenance, union, conversions... Squence : fonction dont les antcdents forment un ordre (liste) intervalle les lments peuvent avoir plusieurs occurrences Oprateurs : concatnation, premier, suite, inversion, partition... Squence injective : les lments ont une seule occurrence

Methodes formelles p.38/139

escription informelle (multi-ens, squences


Multi-ensemble : ensemble dont les lments peuvent avoir plusieurs occurrences Oprateurs : comptage, appartenance, union, conversions... Squence : fonction dont les antcdents forment un ordre (liste) intervalle les lments peuvent avoir plusieurs occurrences Oprateurs : concatnation, premier, suite, inversion, partition... Squence injective : les lments ont une seule occurrence Matrice : squence de squences (pas de notation spcique)
Methodes formelles p.38/139

La notation Z
Introduction Informellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas Formellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas
Methodes formelles p.39/139

Description informelle (schmas)


Unit de structuration en Z

Methodes formelles p.40/139

Description informelle (schmas)


Unit de structuration en Z dclarations

Methodes formelles p.40/139

Description informelle (schmas)


Unit de structuration en Z dclarations prdicat

Methodes formelles p.40/139

Description informelle (schmas)


Unit de structuration en Z dclarations prdicat graphique

 " %



(

. . .


(

'

Methodes formelles p.40/139

Description informelle (schmas)


Unit de structuration en Z dclarations prdicat graphique gnrique

'

)

'

"



. . .


(

(

'

)

Methodes formelles p.40/139

Description informelle (schmas)


Unit de structuration en Z dclarations prdicat graphique gnrique type de donnes

Methodes formelles p.40/139

Description informelle (schmas)


Unit de structuration en Z dclarations prdicat graphique gnrique type de donnes Calcul : inclusion, renommage, oprations logiques, projection, tubage...

Methodes formelles p.40/139

La notation Z
Informellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas Formellement 1. Les schmas 2. La logique 3. Les types et les ensembles 4. Les relations binaires et leurs variantes

Methodes formelles p.41/139

Description formelle (propositions)


Constantes : et
)  

Methodes formelles p.42/139

Description formelle (propositions)


Constantes : Oprateurs : Oprateur

et

Sens Notations alternatives ngation conjonction disjonction ngation quivalence quivalence logique
8 8 %! "

)  

"

) ( 

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

"

'

Methodes formelles p.42/139

Description formelle (propositions)


Proprits : Axiomes

Methodes formelles p.43/139

Description formelle (propositions)


Proprits : Axiomes Thormes Nom P P P P P

Proprit Commutativit
H

Proposition

Lois DE MORGAN (formes normales) Forme normale

Methodes formelles p.43/139

Description formelle (propositions)


Proprits : Axiomes Thormes Preuve raisonnement par

Methodes formelles p.43/139

Description formelle (propositions)


Proprits : Axiomes Thormes Preuve raisonnement par rduction

Methodes formelles p.43/139

Description formelle (propositions)


Proprits : Axiomes Thormes Preuve raisonnement par rduction dduction

Methodes formelles p.43/139

Description formelle (propositions)


Proprits : Axiomes Thormes Preuve raisonnement par rduction dduction labsurde

Methodes formelles p.43/139

Description formelle (propositions)


Proprits : Axiomes Thormes Preuve raisonnement par rduction dduction labsurde cas

Methodes formelles p.43/139

Description formelle (propositions)


Proprits : Axiomes Thormes Preuve raisonnement par rduction dduction labsurde cas hypothse

Methodes formelles p.43/139

Description formelle (propositions)


Proprits : Axiomes Thormes Preuve raisonnement par rduction dduction labsurde cas hypothse rcurrence

Methodes formelles p.43/139

Description formelle (propositions)


Proprits : Axiomes Thormes Preuve raisonnement par rduction dduction labsurde cas hypothse rcurrence autres (tables de vrit, Karnaugh, rsolution)

Methodes formelles p.43/139

Description formelle (propositions)


Proprits : Axiomes Thormes Preuve raisonnement par rduction dduction labsurde cas hypothse rcurrence autres (tables de vrit, Karnaugh, rsolution) ++ Dtails : [AV01], chapitre 2, section 2
Methodes formelles p.43/139

Description formelle (prdicats)


Constantes : et
)  

Methodes formelles p.44/139

Description formelle (prdicats)


Constantes : et Quanticateurs : 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
H

)  

Methodes formelles p.44/139

Description formelle (prdicats)


Interprtation : Domaine : dni ou pas (cf types)

Methodes formelles p.45/139

Description formelle (prdicats)


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

Methodes formelles p.45/139

Description formelle (prdicats)


Interprtation : Domaine : dni ou pas (cf types) Oprateurs de base : propositions Expressions : dduction naturelle Nom
H

Rgle dinfrence
 H I

-introduction -limination

o o

est un terme arbitraire est un terme arbitraire

I  H I

Rgles de dduction du calcul des prdicats


Methodes formelles p.45/139

Description formelle (prdicats)


Proprits : Axiomes

Methodes formelles p.46/139

Proprits :

Axiomes

Nom P

P
7 7

Proprit sur

sur

 

sur

sur

H 7 H

H F

H F F
H H

F 7

7
H

F I


F I I
H

7 I I I H

I I I


I I H

I


Formule

Thormes : exemple de la distribution

F I I

F I I
H

F I I
H

I I
H H

Description formelle (prdicats)

I
Methodes formelles p.46/139

I I

I I

Description formelle (prdicats)


Proprits : Axiomes Thormes : exemple de la distribution Preuve propositions

Methodes formelles p.46/139

Description formelle (prdicats)


Proprits : Axiomes Thormes : exemple de la distribution Preuve propositions ++ Dtails : [AV01], chapitre 2, section 4

Methodes formelles p.46/139

La notation Z
Introduction Informellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas Formellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas
Methodes formelles p.47/139

Description formelle (types, ensembles)


Toutes les variables sont types en Z. dclaration libre dclaration contrainte
1 1

1
Methodes formelles p.48/139

porte de la dclaration (global, schma, liaison)

BB

Description formelle (types, ensembles)


Toutes les variables sont types en Z. Diffrents types vide , de base de prdnis ( ) libres dclars extension comprhension rcursif

(global)

!

(

11

'

 

8   8 A  8  1 8 8 D

"

 (

"

%

11

"

"

Methodes formelles p.48/139

Description formelle (types, ensembles)


Oprateurs

Methodes formelles p.49/139

Description formelle (types, ensembles)


Oprateurs lments :

I

Methodes formelles p.49/139

Description formelle (types, ensembles)


Oprateurs lments : lments/ensemble :

I

Methodes formelles p.49/139

Description formelle (types, ensembles)


Oprateurs lments : lments/ensemble : ensembles :

F

I

1 F

avec

8 

I
Methodes formelles p.49/139

Description formelle (types, ensembles)


Proprits appartient vide extension prdicat motif

 

H F !

I I I


Methodes formelles p.50/139

!

Description formelle (types, ensembles)


Proprits appartient vide extension prdicat motif Preuve

 

H F !

I I I


Methodes formelles p.50/139

logique

!

Description formelle (types, ensembles)


Proprits appartient vide extension prdicat motif Preuve

 

H F !

I I I


Methodes formelles p.50/139

logique

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

!

Description formelle (boolens)


Pas de type prdni, aucun lien avec les constantes de la logique !

Methodes formelles p.51/139

Description formelle (boolens)


Pas de type prdni, aucun lien avec les constantes de la logique ! 2 solutions :

Methodes formelles p.51/139

Description formelle (boolens)


Pas de type prdni, aucun lien avec les constantes de la logique ! 2 solutions : Type libre
D

%

(  

11

Methodes formelles p.51/139

Description formelle (boolens)


Pas de type prdni, aucun lien avec les constantes de la logique ! 2 solutions : Type libre + permet de rendre un boolen en rsultat
D

%

11

Methodes formelles p.51/139

Description formelle (boolens)


Pas de type prdni, aucun lien avec les constantes de la logique ! 2 solutions : Type libre + permet de rendre un boolen en rsultat - implique un test permanent de la valeur
D

%

11

Methodes formelles p.51/139

Description formelle (boolens)


Pas de type prdni, aucun lien avec les constantes de la logique ! 2 solutions : Type libre + permet de rendre un boolen en rsultat - implique un test permanent de la valeur Sous-ensemble
D

%

11

)( )0! ( ) ( "

) (

)(

) !( 0

"

Methodes formelles p.51/139

Description formelle (boolens)


Pas de type prdni, aucun lien avec les constantes de la logique ! 2 solutions : Type libre + permet de rendre un boolen en rsultat - implique un test permanent de la valeur Sous-ensemble
D

%

11

)( )0! ( ) ( "

) (

)(

+ intgration directe avec la logique de Z


Methodes formelles p.51/139

) !( 0

"

Description formelle (boolens)


Pas de type prdni, aucun lien avec les constantes de la logique ! 2 solutions : Type libre + permet de rendre un boolen en rsultat - implique un test permanent de la valeur Sous-ensemble
D

%

11

)( )0! ( ) ( "

) (

)(

+ intgration directe avec la logique de Z - pas de boolen en rsultat


Methodes formelles p.51/139

) !( 0

"

La notation Z
Introduction Informellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas Formellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas
Methodes formelles p.52/139

 

HD

ou


Relation :

Soient , ;

D

 

 

 

 

 
    

 

 

 

 

" 1

8 1 F

1 1

D H

D 1

   H H

et des ensembles ; et . ; ou ]

Description formelle (relations)

1 I

1 F

ou

I I

Methodes formelles p.53/139

Description formelle (relations)


Exemple
Pierre Michel Sandrine Gilles Benoit Luc Claude Marie Sophie notes dom notes Rgis ETUDIANT 12 9 5 11 10 7 ran notes 17 8

1..20

Methodes formelles p.54/139

Description formelle (relations)


Dnitions axiomatiques, gnriques

7 1

8 

 7 1 F 

Methodes formelles p.55/139

 !

)

" 

ou

" ( )

)

) !( 


Proprits



"  (



!( ( H ( !

  H

! ( H

( I

H I (

I
H

( I I

)

I 7 8

7 8

8


7 8

7 1 F 8

1 F 1 F

! ( I

1 F

1 F ! " ) !( (

1 F

H


I I 
Methodes formelles p.56/139

Description formelle (relations)

Description formelle (fonctions)


Fonction (partielle) :

I   

I


Methodes formelles p.57/139

Description formelle (fonctions)


Fonction (partielle) :

I   

I


Fonction totale :

  


Methodes formelles p.57/139

I 
H

Injection :
  

Fonction totale :
1

Fonction (partielle) :



  

7 1

7 8

1 1

Description formelle (fonctions)

I I

Methodes formelles p.57/139

I 
H

Injection :
  

Description formelle (fonctions)

Surjection :

Fonction totale :
1

Fonction (partielle) :

  

 I 1



  

7 1

D 7 8

1 

I I

Methodes formelles p.57/139

I 
H

Injection :
  

Description formelle (fonctions)

Bijection :

Surjection :

Fonction totale :

Fonction (partielle) :

  



 H

I 1

  

7 1

D 7 8

F H

1 I 

I I

Methodes formelles p.57/139

I 
H

Injection :
  

Bijection :

Surjection :

Description formelle (fonctions)

Fonction nie :

Fonction totale :

Fonction (partielle) :

  



 H

 

H 1

   1 1

D 7 D

F H

1 I

I I

Methodes formelles p.57/139

I 
H

Injection :
  

Bijection :

Surjection :

Fonction nie :

Fonction totale :
I

Fonction (partielle) :

Description formelle (fonctions)

-abstraction :
H

  



D  

 H

I 1

  

7 1

F ! I   

1 D

D 7 D

F H

1 I

I I

Methodes formelles p.57/139

2
H

I 
H

Injection :
  

Bijection :

Surjection :

Fonction nie :
I

Fonction totale :

Fonction (partielle) :

-abstraction :
H

   " 7 1 F   



D  

 H

I 1

  

7 1

" H I   

F ! 1

Exemple fonction successeur :


I

"

1 A D

D 7 D

F H

1 I

Description formelle (fonctions)

I I

Methodes formelles p.57/139

Description formelle (fonctions)


Exemple : Calculer la moyenne des tudiants.
Pierre Michel Sandrine Gilles Benoit Luc Claude Marie Sophie notes dom notes Rgis ETUDIANT 12 9 5 11 10 7 ran notes 17 8

1..20
Methodes formelles p.58/139

7

% " " 1

) 7

) % 1

1 %

7 % 1


) % 1

% "

"


 ) D  ) D 

Pas ditrateur en Z

 

 D

 E F

 E F H 1

" % !

)  

% ) H %
)

) BB 

" % ! ) F

D ) I )

F %

% "

"   

fonction annexe rcursive

)5

)  ) % % " H % ! )

Description formelle (fonctions)

Methodes formelles p.59/139

 HD

DI I

I I

" 7

7 1

1 1

Dnition :

1 1

 

 H

F " H

1 F 


I "

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

Description formelle (multi-ensembles)

Methodes formelles p.60/139

Description formelle (squences)


Dnition

Methodes formelles p.61/139

Description formelle (squences)


Dnition formelle :

  

 C B AB

423

"

"

Methodes formelles p.61/139

Description formelle (squences)


Dnition formelle :

  

en extension :

soit

BB

8 "

BB

 C B AB

423

"

"

Methodes formelles p.61/139

Description formelle (squences)


Dnition formelle :

  

en extension :

soit

BB

8 "

Oprateurs :

BB

 C B AB

423

"

"

Methodes formelles p.61/139

Description formelle (squences)


Dnition formelle :

  

en extension :

soit

BB

8 "

Oprateurs : accs au i

BB

lment :

(si

)5

BCAB

 C B AB

423

"

"

Methodes formelles p.61/139

Description formelle (squences)


Dnition formelle :

  

en extension :

soit

BB

8 "

Oprateurs : accs au i lment : concatnation :


BB

(si

)5

) 

)5

F!

"!

"

"

BCAB

 C B AB

423

"

"

Methodes formelles p.61/139

Description formelle (squences)


Dnition formelle :

  

en extension :

soit

BB

8 "

Oprateurs : accs au i lment : concatnation :


BB

(si

)5

) 

)5

F!

  " H

"!

"

"

BCAB

 C B AB

423

"

"

inversion :

)5

"

AI
Methodes formelles p.61/139

) 

423   

"

Dnition formelle :

Oprateurs : accs au i lment : concatnation :


1

Description formelle (squences)

inversion : premier :
3

en extension :

) F! "

) )

BB B

  " H

8 "

8 8

" ) BB B

D (

 ) 7 1 423 1

)5

) F )

1 "! H I

(si

F 3

( H ) ) AI H

soit

)5
"

BCAB )5

 C B AB " AI I

Methodes formelles p.61/139

) 

423   

" H

"

Dnition formelle :

inversion : premier : suite :


)

1 C B AB 3

en extension :

) F! "

) )

BB B

  " H

8 "

8 8

" ) BB B

D (

Oprateurs : accs au i lment : concatnation :

 ) 7 1 423 1

) 5  ) 7 FA 1 ) 423 " H F )5

) F )

1 "! H I

AI

(si

)  )

F 3

( H )5 ) AI H

soit

BCAB
"

)5

 C B AB " AI I

Description formelle (squences)

Methodes formelles p.61/139

3 ! ! 

) )5 

)  H 8 A 8

) 

Exemples.

)2 8 8 8

 

  

8 !5    

8 8 I

) 8 8 

H  8

8 8

8 I

H 3

) 

8 

8 I

 

Description formelle (squences)

H I

Methodes formelles p.62/139

Description formelle (squences)


Oprateurs (suite) concatnation distribue

423

423

)7

423

F I

)

423

) I

H 7

423

423

Methodes formelles p.63/139

4 2

'


1 2 1 423 4 2

)7 423 1

2 1 H

compactage

Oprateurs (suite)

'

4 2 423 I F

1 423

2 )

concatnation distribue

423 )

I I




423

423

4 2

4 2

) )

'

1 2 B AB ) H C

H 5

, ltrage , extraction :

Description formelle (squences)

Methodes formelles p.63/139

Description formelle (squences)


Oprateurs (suite) concatnation distribue compactage disjonction Soit
2 4

: :

, ltrage , extraction :

, partition

un ensemble dindices (sous-ensemble dentiers).


H

(I

H

@I

H

89( 7 @ 1

 E F@

I 2

(I

H

  F

Methodes formelles p.63/139

4 2

8 !

Exemples.

A 2 8

8 !

8 

 

 8 8 

!

8 8

A 

8 8 8

 

8 8 8

 ! 8

 8

Description formelle (squences)

Methodes formelles p.64/139

La notation Z
Introduction Informellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas Formellement 1. La logique 2. Les types et les ensembles 3. Les relations binaires et leurs variantes 4. Les schmas
Methodes formelles p.65/139

Description formelle (schmas)


Dclarations contraintes par un prdicat
) 



)

5



6

)

(   


ou crit autrement dans le format horizontal par


 

) 

1
Methodes formelles p.66/139

5



6

)

)

"  
)

  
)

"

  
)

)  ) 

  1

)  ) )%

)%

1"  )%

les types sont dnis

"

)%

Pas de dclarations circulaires

Description formelle (schmas)

Methodes formelles p.67/139

8 8

 (

 1

! '( 

! '(  F

est quivalent






 

  I

 

Un schma sert de dclaration ( ) (


 ( 1

! '(

 ( 



 
Methodes formelles p.68/139

Description formelle (schmas)

 

) ou de prdicat

Description formelle (schmas)


Un schma dcrit un type de donnes


)  ) 

' H

B  

@ ! %

dont les instances sont des liaisons schma


 D

"( %

dun type
D

)  )



)

Methodes formelles p.69/139

Description formelle (schmas)


Calcul de schmas Soit
" ( !

# 5 A

"

423

"

"

Methodes formelles p.70/139

 $ 

  )

$ !

 ! " ( !

1 A 1 423

) " ( ! " # (




$ 6

Calcul de schmas : inclusion

 $


" 5 % A


 $


"

" % )

! 1 6 A

 1 


) 1 423 $


423 # 6

" ( ! " ( #

Description formelle (schmas)

Methodes formelles p.71/139

Description formelle (schmas)


Calcul de schmas : dcoration Une dcoration est un sufxage de variables par une marque de ponctuation (, , ?, !).

Par exemple, le schma

est quivalent :

" ( !

"

423

"

"

" ( !

Methodes formelles p.72/139

" 5 !

" ! !

" !

" %

" %

1 1

1 1 423

6 A

423 " ( ! #

" ( ! " ( !

" ( !

" 5 %

Calcul de schmas : variation

6 A

Description formelle (schmas)

Methodes formelles p.73/139

" "

" 5

"

" ! !

"

% 1

! " ( !

" % A

423 423  !

1 " ( ! " ( !

1 " ( !

" " 5

# #

" 6

Calcul de schmas : variation

" ( !

Description formelle (schmas)

Methodes formelles p.74/139

Description formelle (schmas)


Calcul de schmas : autres soient S et T des schmas. Oprateurs sur les dclarations Projection dclarations : Ajout dclarations : Masquage : Projection :

8B

BB

8B

Oprateurs sur les prdicats Projection prdicat : Ajout prdicat :


 D

BB

Methodes formelles p.75/139

Description formelle (schmas)


Calcul de schmas : autres (suite)
"

Renommage

%

% 8 " 

BB

Methodes formelles p.76/139

Description formelle (schmas)


Calcul de schmas : autres (suite)
"

Renommage

%

% 8 " 

Oprateurs logiques (

BB

):

8 

Methodes formelles p.76/139

Description formelle (schmas)


Calcul de schmas : autres (suite)
"

Renommage

%

% 8 " 

Oprateurs logiques ( fusion des dclarations




BB

):

8 

Methodes formelles p.76/139

Description formelle (schmas)


Calcul de schmas : autres (suite)
"

Renommage

%

% 8 " 

Oprateurs logiques ( fusion des dclarations opration logique des prdicats




BB

):

8 

Methodes formelles p.76/139

Description formelle (schmas)


Calcul de schmas : autres (suite)
"

Renommage

%

% 8 " 

Oprateurs logiques ( fusion des dclarations opration logique des prdicats




BB

):

8 

Prcondition :

 

 !

!

'

I

Methodes formelles p.76/139

Description formelle (schmas)


Calcul de schmas : autres (suite)
"

Renommage

%

% 8 " 

Oprateurs logiques ( fusion des dclarations opration logique des prdicats




BB

):

8 

Prcondition : Surcharge :

 

 !

!

'



'

I

Methodes formelles p.76/139

Description formelle (schmas)


Calcul de schmas : autres (suite)
"

Renommage

%

% 8 " 

Oprateurs logiques ( fusion des dclarations opration logique des prdicats




BB

):

8 

Prcondition : Surcharge : Composition :

 

 !

!

'



(application squentielle)

'

I

Methodes formelles p.76/139

Description formelle (schmas)


Calcul de schmas : autres (suite)
"

Renommage

%

% 8 " 

Oprateurs logiques ( fusion des dclarations opration logique des prdicats




BB

):

8 

Prcondition : Surcharge : Tubage :




 

 !

!

'



Composition :

(application squentielle)

(les sorties de lun entrent dans lautre)

'

I

Methodes formelles p.76/139

Description formelle (schmas)


Calcul de schmas : autres (suite)
"

Renommage

%

% 8 " 

Oprateurs logiques ( fusion des dclarations opration logique des prdicats




BB

):

8 

Prcondition : Surcharge : Tubage :




 

 !

!

'



Composition :

(application squentielle)

++ Dtails et exemples : [AV01], chapitre 3, section 2


Methodes formelles p.76/139

(les sorties de lun entrent dans lautre)

'

I

En rsum

Z= Logique des prdicats + Thorie des ensembles

Methodes formelles p.77/139

Plan du cours
1. Exemple introductif 2. La notation Z - informellement + formellement 3. La mthode de dveloppement - informellement + formellement 4. Bilan et extensions

Methodes formelles p.78/139

La mthode de dveloppement avec Z


Une dmarche et des alternatives Schmas utiliss Organisation dune spcication Z Exemples Merise + Z

Methodes formelles p.79/139

Dmarche de spcication en Z
Description informelle

Analyse prliminaire
Modles Entit/Association

Spcification formelle
Spcification Z preuves validation

Conception abstraite

Spcification Z raffine

raffinement preuves validation

Prototype

Ralisation
optimisations

Logiciel

Methodes formelles p.80/139

Dmarche de spcication en Z
Programmation structure Spcication squentielle en Z

= +

structure de donnes procdures

=
tat

+
oprations

Methodes formelles p.81/139

La mthode de dveloppement avec Z


Une dmarche et des alternatives Schmas utiliss Organisation dune spcication Z Exemples Merise + Z

Methodes formelles p.82/139

" 5

" " 5

" %

" !

% ! %

" 1 6 A

1 423 " ( ! #

Schma dtat

1 423

 %

6 A

" ( !

" #

" %

Schma dopration (dcorations)

"

Schmas utiliss

"

Methodes formelles p.83/139

Schmas utiliss
Variantes pour ltat initial et les prconditions.
! ( " ( !

"

"

 '

" ( !

# 5

1 423 " %

% A " %

" ( !

"

Methodes formelles p.84/139

La mthode de dveloppement avec Z


Une dmarche et des alternatives Schmas et calcul de schmas Organisation dune spcication Z Exemples Merise + Z

Methodes formelles p.85/139

Les lments dune spcication Z (1/2)


Dnitions de types de base libres (numr ou union de types) construits par les oprateurs de types Dclarations globales Constantes Variables variables globales types contraintes (dnition axiomatique) Oprateurs ou relations par dnition axiomatique et/ou gnriques relations fonctions oprations
Methodes formelles p.86/139

Les lments dune spcication Z (2/2)


Dclarations de schmas. Etat ou partie de ltat du systme. Schma de ltat initial du systme. Opration ou partie doprations accdant ou modiant ltat du systme. Schmas des pr-conditions des oprations. Schmas de rafnement. Preuves Obligations de preuve (tat initial, conservation de linvariant, pr-conditions). Dmontrations de proprits (thormes). Dmontrations de validit du rafnement.
Methodes formelles p.87/139

Organisation dune spcication Z


La spcication Z est organise de la faon suivante : 1. Les dclarations globales de types de base et de types libres, constantes, variables et fonctions. 2. Les types utilisateur : construits, schmas 3. Un schma dtat. 4. Un schma initial. 5. Des schmas doprations 6. Des schmas de prcondition 7. Des thormes et des preuves. 8. Le rafnement.
Methodes formelles p.88/139

La mthode de dveloppement avec Z


Une dmarche et des alternatives Schmas et calcul de schmas Organisation dune spcication Z Exemples Merise + Z

Methodes formelles p.89/139

Exemples
Hpital Spcication de ltat Spcication des oprations Obligations de preuve (tat initial, prconditions) Rafnage ++ voir [AV01], chapitre 3 Facturation Spcication de ltat Spcication des oprations Obligations de preuve (tat initial, prconditions) ++ voir [AV01], chapitre 4

Methodes formelles p.90/139

8 (7 9 1 B AB C 1 423 D (  E G F@ '  ! " ( )! 0 ( HI ' E  ! " ( )! 0


Methodes formelles p.91/139

'  !   " ! # %'&$ !(   ! ! " ( )0!  

'5  ! " ( )0! 6 '5  ! " ( )0!

Cas Hpital - Etat

@I

Cas Hpital - Etat initial


Etat initial
!(      # %& '$ ( !

! ! "

" ( )0!

'

Preuve de lexistence dun tat initial.


  !(  

!

F

# %&'$

! ! "

!

"

!

# %'&$ !(

# %'&$ !( 
Methodes formelles p.92/139

! ! "

!

! ! "

!

"

B A

B  


A  6 


 5 '  ! " ( )0!

A H  ! '

 @

8 (7 9 ! 6 H


 6 6

 BB A  D ( H 8 (7 9 @ ( D  E F@ @I H ( (H I
  

" ( )0! ( HI 1

89( 7 @ 1 BB A

423 '5  ! " ( )0! 1

BB A

 E F@ (H I

Cas Hpital - Preuve tat initial

[
  E

D BB A 5

89( 7 @ 1 BB A 

' E  ! " ( )! 0

@I D  E F@

H I '  " ( )0!  E


 E F@ F !

'5  ! " ( )0!

[par substitution de [se dduit par


6

@I I

(H I  E

6 @I I H

est lensemble vide, tautologie] [ -introduction]


Methodes formelles p.93/139

] ]

[ -limination]

[ -limination]

'  ! 1 '


'  ! % (


' " ( )0! ! ! " !




" ( )0! '  




  ! " ( )0! ! ! " ! " ( )0! (7 BB A 1 '


 ! 1   

' 

'   ! # %'&$ !(   (

 E

 # %' $ & !( 

'5  ! " ( 0 )!

'  " ( )0!

'5  ! " ( 0 )! F '  ! " ( 0 )! ( HI ' E

Methodes formelles p.94/139

Cas Hpital - Oprations en mise--jour

' )

" ' "




"

"


"


 !

 1 423 # %'&$ !(  D   ! " ! ! '5  ! " ( )0!


" ( 0 )! 6 ) (  )

1 ! ! ! " ! # %'&$ !( 

1   1   

! ! " !

'5  ! " ( )0!

' )5

'  " ( 0 )! "


Cas Hpital - Oprations en consultation

FA

Methodes formelles p.95/139

' 

' 

'

  1 " !

  ! !     

'5  ! " ( )0! ( 

! ! " !   # %'&$ !(   ! ! " !   # %' $ & ( !

  ! ! " !

Application lopration

 H F 


# %'&$ !(

# %'&$ ( ! (

(7

) 

% ! F 

) ( F


   (




Prservation de linvariant dans les oprations.


'

Cas Hpital - prcondition


.

' H  1 ! BCAB " ( )! '5 0  ! " (  ' 0 )!  F " ! ( ' 0  )! ! " ( 0 )! ' ( HI ' E

Methodes formelles p.96/139

' ' 

'

! " !

1 ! !

'5  ! " ( )0!  (  

H ' H  89( 7 ! " ( @ 1 )0! C B AB " ( )0!  

'


 " ( )0! !

'5 1  423 ! " ( )0! ( D

# %& '$ ( ! 

H '


1 B AB C

(7

F '5  ! " ( )0! F '  ! " ( )0! ( HI ' E

Cas Hpital - prcondition

La dmonstration se fait en remplaant les schmas par leurs dclarations et leurs prdicats.

 E F@ '  ! " ( )! 0

'5  ! " ( H( )0! I ' E 6  ! " ( )! 0 @I I I




H I

Methodes formelles p.97/139

8 (7 9 5 1 " !

H  

H 

' ! !   (

'5  ! " ( )0! ' H @  1 ! " ( BCAB )0! '


'

' H  ! " ( )0!  # %'&$ !( 

( HI '

I I  E F@ ( D


Cas Hpital - prcondition

Puis en substituant progressivement les variables dcores par par des valeurs non dcores par et les sorties par leur valeur.

 E 1 ' H B AB  C ! " ( '5  0 )! ! " ( )0! ' F ' I  H ! @I " ( I I )!  0 ( HI ' E

Methodes formelles p.98/139

(7

5 ' H  ! ' " ( )0! I 6

89( 7 1 " ! 5 ' 6


H H 

H   

' ! !

'

'5  ! " ( )0! '5  ! " ( )0!  

Par distributivit de

# %& '$ ( ! I 

sur

1 B AB C

(7

'5  ! " ( )0! F ' 




' H @  1 ! " ( BCAB )0! H '5  ! ' " ( 0 )! I ( HI  E 5 ' ' H  ! I " ( D )! 0 (  E F@ '

Cas Hpital - prcondition

le schma se simplie en

! @I " ( I I )0!  ( HI ' E

Methodes formelles p.99/139

I H

8 (7 9 1 " !

H H

H  

' 

'

'5  ! " ( 0 )! ! ! '5  ! " ( 0 )!   (




Par dnition de
5

AI 6

# %& '$ ( ! 

, nous avons

(7 1 B AB C

Cas Hpital - prcondition

' H @  1 ! " ( BCAB 0 )! H '5  ! ' " ( 0 )! I ( HI AI  E ' H D  ( ! " (  E '5 F@  0 )! ! " ( 0 )! ' F ' I  H ! @I " ( I I 0 )! 


( HI

' E

Methodes formelles p.100/139

(7 1 " !   (

H 8 (7 9 ! !

H '5  ! " ( )0!   

'

'

1 B AB C

' H @  1 ! " ( BCAB ' 5 )0! H  ! '5 6 " (  ! )0! ' " ( F )! 0 ' IH  ( ! I A " (  E AI  )0! ' H D  ( ' 5 ! ( HI " (  E ! @ " ( F ) 0 ! ' E )! 0 # %& '$ ( ! 


I '

Cas Hpital - prcondition

@I I

Methodes formelles p.101/139

I H


Par application de sur chaque membre de lgalit, et par commutativit de , nous obtenons

(7 1 " ! # %'&$ ( !    (

H 8 (7 9 ! !

H '5  ! " ( )0!   

'

'

Par dnition de schma en

1 B AB C

' H @  1 ! " ( BCAB ' 5 )0! H  ! '5  " (  ! )0! ' " ( F )! 0 ' IH   ( ! I " (  E AI )0! ' H D  ( H( !  E I " ( F@ )! ' E 0

I '

Cas Hpital - prcondition

@I I

Methodes formelles p.102/139

et application de P , nous simplions le

I H

Cas Hpital - prcondition


Nous nous intressons maintenant la proprit dunicit du patient dans la salle. Pour cela nous avons besoin de deux lemmes.
lemme 1 (ordre) Les premiers termes dune concatnation de squence sont ceux de la premire squence :
) H )7 8 ! 1 423 F BB A )5 F (I ! )
H

(7

lemme 2 Un prdicat li un intervalle peut tre dcoup en une conjonction du prdicat sur des sous-intervalles :
I I " H


BB A "

FA

1 B AB C

"

AI

Methodes formelles p.103/139

Cas Hpital - prcondition


Ce dernier point se simplie dans le schma de prcondition.

 

'

'

# %'&$ ( !

! !

!

"

( HI

' E

'5  ! " ( )0!

1 BCAB

(7

'5  ! " ( 0 )! F '  ! " ( 0 )!

Methodes formelles p.104/139

Cas Hpital - prcondition


Ce dernier point se simplie dans le schma de prcondition.

 

'

'

# %'&$ ( !

! !

!

"

( HI

' E

'5  ! " ( )0!

utilit des outils !

1 BCAB

(7

'5  ! " ( 0 )! F '  ! " ( 0 )!

Methodes formelles p.104/139

Cas Hpital - Robustesse


La prcondition dune opration robuste est true. prvoir les cas derreur Une manire de procder consiste tudier chaque cas normal et chaque cas derreur.
 

)(

   )  11

 D

 (

)

)%

 ( H



'  !

 % )

)%

 (

)

)%

Methodes formelles p.105/139

)( 

' )


)


1 ! ! "

'5  ! " ( )0!  

    
'

! )% )

 )

 

# %'&$ !(  1 (

 (

 BB A '5  ! " ( )0! F '  ! " ( )0! ( HI '

Exercice : vrier que la prcondition est vraie.

Cas Hpital - Robustesse

Methodes formelles p.106/139

Cas Hpital - Rafnage


Deux types de rafnage sont distingus en Z : Le rafnage des oprations. Les structures de contrle du langage de programmation cible sont introduites progressivement, e.g. squences, conditionnelles, itrations pour la programmation imprative. Le rafnage des donnes. Les structures de donnes du langage de programmation cible sont introduites progressivement, e.g. structures, tableaux, pointeurs pour la programmation imprative.

Methodes formelles p.107/139

Cas Hpital - Rafnage de donnes


La le est implante par un tableau avec des pointeurs. En Z, un tableau se reprsente par une squence (!!).

Dclaration Lecture Affectation

1 1 423

 (  (

B AB C

 (

(7  ( (7  ( 1 1 BB A ( BB A 8 ( 1 ' (7 8 1 F 7 F BB A ( 1 BCAB ( (   (   (  '

'

Methodes formelles p.108/139

Cas Hpital - Rafnage


un pointeur 1 MAX 1 deux pointeurs MAX

premier 1 MAX Ajout 1

tte

queue MAX

dcalage premier tte MAX


queue MAX

Retrait

premier

tte

queue

Methodes formelles p.109/139

' 5 

8 (7 9

8 (7 9 ! " ( )0! 1 6 ( D 423 1 @

'    ! ! " !

1 6 D '

 (
 (

1 423 % !

 ( " BB A  '5  ! " ( )0!

  '5  ! " ( )0!

BB A '  1
 (

( 
 (

# %& '$ ( ! 

 E F@  (

( HI  E  (

 E G F@ '  ! " ( )0! H @I ( HI ' E  ! " ( )0!

Cas Hpital - Rafnage

Methodes formelles p.110/139

@I

Cas Hpital - Rafnage


   )

  

"

# %& '$ ( !

! ! "

!

BB A ' 

idem pour les oprations La suite de rafnage tablit limplantation (prouve) nale. Preuves et dtails : voir [AV01], chapitre 3, section 7

 (

" ( )0!

 (

'

Methodes formelles p.111/139

La mthode de dveloppement avec Z


Une dmarche et des alternatives Schmas et calcul de schmas Organisation dune spcication Z Exemples Merise + Z

Methodes formelles p.112/139

Retour sur la dmarche de spcication 1/2


Spcification informelle

Elaboration du MCD

Elaboration du MCT

Schma E-A-P

correction s

MCT

Traduction en Z

Validation croise Spcification

Methodes formelles p.113/139

Retour sur la dmarche de spcication 2/2


Traduction en Z Spcification Spcification de l'tat du systme Spcification des oprations en Z vrification

Implantation

preuves et raffinement

Implantation

Application (ex: Pascal, Caml, SGBDR)

Tests Vrifications
Methodes formelles p.114/139

Traduction du formalisme E-A-P en Z


Plusieurs variantes sont possibles, seule la traduction principale est prsente ici. Traduction dun type dentit

Methodes formelles p.115/139

Traduction du formalisme E-A-P en Z


Plusieurs variantes sont possibles, seule la traduction principale est prsente ici. Traduction dun type dentit Traduction dun type dassociation

Methodes formelles p.115/139

Traduction du formalisme E-A-P en Z


Plusieurs variantes sont possibles, seule la traduction principale est prsente ici. Traduction dun type dentit Traduction dun type dassociation Optimisations

Methodes formelles p.115/139

Traduction du formalisme E-A-P en Z


Plusieurs variantes sont possibles, seule la traduction principale est prsente ici. Traduction dun type dentit Traduction dun type dassociation Optimisations Dtails et exemples : [AV01], chapitre 5, section 2

Methodes formelles p.115/139

Traduction dun type dentit en Z


Un TE = un schma Z
 ! " ( !  A '

Patient
" %

no_SecSoc_p nom_p prnom_p adresse_p

1 " %

1 

'

'

"

'

)

'

Methodes formelles p.116/139

Traduction dun type dentit en Z


Un TE = un schma Z
 ! " ( !  ! " ( !

Reprsenter lextension => traduire les contraintes


BB

A  ! " ( !  D  !( !

 !(

"

 E

7

1"

 E B "



 %

B "

'

 '
Methodes formelles p.116/139

Traduction dun type dentit en Z


Un TE = un schma Z
 ! " ( !  ! " ( !

Reprsenter lextension => traduire les contraintes


BB

A  ! " ( !  D  !( !

 !(

"

 E

7

1"

 E B "



 %

B "

'

Cest une fonction partielle !

 '
Methodes formelles p.116/139

Traduction dun type dentit en Z


Un TE = un schma Z
 ! " ( !  ! " ( !

Reprsenter lextension => traduire les contraintes


BB

A  ! " ( !  D  !( !

 !(

"

 E

7

1"

 E B "



 %

B "

'

Cest une fonction partielle ! Sparation identiant - TE


Methodes formelles p.116/139

 '

" 

' )

" "

% 

)  ' ' 1 1 

 '  !

 ! " ( ! %

' 1 

 ! " ( !  

 ! " ( ! 

Traduction dun type dentit en Z

Methodes formelles p.117/139

" 

' )

" "

% 

)  ' ' 1 

identiant du TE
%

 '  ! 1 

 ! " ( ! %

' 1 

 ! " ( ! 

 ! " ( ! 

Traduction dun type dentit en Z

Methodes formelles p.117/139

Traduction dun TA en Z
Identiant => inclusion des extensions de TE

Methodes formelles p.118/139

Traduction dun TA en Z
Identiant => inclusion des extensions de TE Porteur dinformations => reprsentation similaire au TE pour le TA

Methodes formelles p.118/139

Traduction dun TA en Z
Identiant => inclusion des extensions de TE Porteur dinformations => reprsentation similaire au TE pour le TA une seule proprit : pas de TA explicite

Methodes formelles p.118/139

Traduction dun TA en Z
Identiant => inclusion des extensions de TE Porteur dinformations => reprsentation similaire au TE pour le TA une seule proprit : pas de TA explicite plusieurs proprits

Methodes formelles p.118/139

Traduction dun TA en Z
Identiant => inclusion des extensions de TE Porteur dinformations => reprsentation similaire au TE pour le TA une seule proprit : pas de TA explicite plusieurs proprits Arit

Methodes formelles p.118/139

Traduction dun TA en Z
Identiant => inclusion des extensions de TE Porteur dinformations => reprsentation similaire au TE pour le TA une seule proprit : pas de TA explicite plusieurs proprits Arit binaire : relation Z ou variante

Methodes formelles p.118/139

Traduction dun TA en Z
Identiant => inclusion des extensions de TE Porteur dinformations => reprsentation similaire au TE pour le TA une seule proprit : pas de TA explicite plusieurs proprits Arit binaire : relation Z ou variante n-aire (n>2) : produit cartsien

Methodes formelles p.118/139

Traduction dun TA en Z
Identiant => inclusion des extensions de TE Porteur dinformations => reprsentation similaire au TE pour le TA une seule proprit : pas de TA explicite plusieurs proprits Arit binaire : relation Z ou variante n-aire (n>2) : produit cartsien Cardinalits : prdicats, simplications possibles pour les TA binaires

Methodes formelles p.118/139

Traduction dun TA en Z
Identiant => inclusion des extensions de TE Porteur dinformations => reprsentation similaire au TE pour le TA une seule proprit : pas de TA explicite plusieurs proprits Arit binaire : relation Z ou variante n-aire (n>2) : produit cartsien Cardinalits : prdicats, simplications possibles pour les TA binaires Association dassociation => personnaliser dabord puis cas normal
Methodes formelles p.118/139

raduction dun TA binaire non porteur en


EntitA idA : TypeIdA
...

EntitB
m,n AB o,p

idB : TypeIdB
...

" !  !( " !  !(

! !

)

'

'

)

)

(
Methodes formelles p.119/139

cas m n 1 0 1 2 0 1 3 0 1 4 0 1 5 0 n 6 0 n 7 0 n 8 0 n o 0 1 0 1 0 1 0 1 p 1 1 n n 1 1 n n
) )

) ) %

) ) % 1 %

) ) % 1

) ) % 1

) ) % 1

) ) % 1

) ) ) % 1

) % 1

( (

raduction dun TA binaire (cardinalits) 1/

Methodes formelles p.120/139

cas m n 9 1 1 10 1 1 11 1 1 12 1 1 13 1 n 14 1 n 15 1 n 16 1 n o 0 1 0 1 0 1 0 1 p 1 1 n n 1 1 n n
) )

) ) %

) ) % 1 %

) ) % 1

) ) % 1

) ) % 1

) ) % 1

) ) ) % 1

) % 1

( (

raduction dun TA binaire (cardinalits) 2/

Methodes formelles p.121/139

Traduction dun TA binaire porteur en Z


EntitA idA : TypeIdA
...

EntitB
m,n AB v:T o,p

idB : TypeIdB
...

Solution 1 : plus concis

" !  !( " !  !(

! !

'

)

'

)

)

Methodes formelles p.122/139

Traduction dun TA binaire porteur en Z


EntitA idA : TypeIdA
...

EntitB
m,n AB v:T o,p

idB : TypeIdB
...

Solution 2 : plus simple

" !  !( " !  !(

! !

)

'

'

' 

I '

%'

'

)

)

'

%'



(
Methodes formelles p.123/139

" 

' "

" %

% 

) )  ' ' 1  

 ' ! 1

 ! " ( ! % 1  '

 ! " ( !

Traduction E-A-P en Z (exemple)

 ! " ( !

Methodes formelles p.124/139

"  %

" %) ' 
) 

" %
)

 

! )

) (  ! % ) "( 1

  

 

Traduction E-A-P en Z (exemple)

Methodes formelles p.125/139

" " !! !   ! ! "

! ! " % "

" ! " %

 ! " ( ! ! 

! " % 1


% !


 " ! " H

!!


 " ! %


!! " %




 !



Il sagit bien dune fonction partielle


  % 

"

"

! ! " 

" ' %) "

% " 

! % %




' %)




Traduction E-A-P en Z (exemple solution 1

Methodes formelles p.126/139

"

" "

 

"

 ! " ( ! %


1 H ! !

"

"

"

"

Il sagit bien dune fonction partielle


" " %) 

%  

% 

%  %

' ' "

Traduction E-A-P en Z (exemple)

%)

Methodes formelles p.127/139

Traduction E-A-P en Z (exemple)


Systme global
# %&'$ ! (   %


! ! "

!

"

"



!!

! "

"

"

Methodes formelles p.128/139

Traduction E-A-P en Z (optimisations)


Les optimisations suivantes peuvent tre appliques. Suppression des schmas mono-variable

Methodes formelles p.129/139

Traduction E-A-P en Z (optimisations)


Les optimisations suivantes peuvent tre appliques. Suppression des schmas mono-variable substitution du schma par sa variable

Methodes formelles p.129/139

Traduction E-A-P en Z (optimisations)


Les optimisations suivantes peuvent tre appliques. Suppression des schmas mono-variable substitution du schma par sa variable exemple : ,
 ! " ( ! ! ! "



"

!

Methodes formelles p.129/139

Traduction E-A-P en Z (optimisations)


Les optimisations suivantes peuvent tre appliques. Suppression des schmas mono-variable substitution du schma par sa variable exemple : ,
 ! " ( ! ! ! "

Suppression des schmas types



"

!

Methodes formelles p.129/139

Traduction E-A-P en Z (optimisations)


Les optimisations suivantes peuvent tre appliques. Suppression des schmas mono-variable substitution du schma par sa variable exemple : ,
 ! " ( ! ! ! "

Suppression des schmas types gnralisation du cas prcdent plusieurs variables



"

!

Methodes formelles p.129/139

Traduction E-A-P en Z (optimisations)


Les optimisations suivantes peuvent tre appliques. Suppression des schmas mono-variable substitution du schma par sa variable exemple : ,
 ! " ( ! ! ! "

Suppression des schmas types gnralisation du cas prcdent plusieurs variables viter : conserver la structure



"

!

Methodes formelles p.129/139

Traduction E-A-P en Z (optimisations)


Les optimisations suivantes peuvent tre appliques. Suppression des schmas mono-variable substitution du schma par sa variable exemple : ,
 ! " ( ! ! ! "

Suppression des schmas types gnralisation du cas prcdent plusieurs variables viter : conserver la structure ! Le critre majeur est la lisibilit attendue. On tient aussi compte de la rutilisabilit.



"

!

Methodes formelles p.129/139

" " !! %) 1

" % 

Les types

"


# %&'$ ! (  

! "

1


 !!

 !! "


H   

' 1

"
"

!

"

! " %

1 I

"

" ! "

!!

 ! " ( !



" %

et



I %

 ! " ( !

"




 %) '

 %

"

 

"
"




%)

% ' 

sont inchangs.

Traduction E-A-P en Z (optimisations)

La reprsentation est condense (plus apprhendable) mais on a perdu la structure de dpart.


Methodes formelles p.130/139

Traduction du formalisme E-A-P en Z


Lajout de nouvelles contraintes, non formalises directement en E-A-P, peut tre difcile, on doit alors changer de reprsentation (voir exercices TD).

Methodes formelles p.131/139

Traduction dun TA n-aire (n>2) en Z


Entit 1 id 1 : TypeId1 i ,s 1 1
...

AB v:T

i 2 ,s 2

Entit 2 id2 : TypeId2


...

in ,sn

Entit n idn : TypeIdn


...

Methodes formelles p.132/139

 7H )

)

  H 8 

BB " B !  !( " !  !( !

" !  !(

"

(  8B

) 8 (

!(

8B BB 8  '  I

BB  1 I

 '

Solution 1 : produit cartsien

) ) %

' 

' 8B

BB 8

 

BB B

BB

Traduction dun TA n-aire (n>2) en Z

En rouge la version porteuse dinformations.


B

' 

'

Methodes formelles p.133/139

"


H B I

BB I %

H AI !

H )

)

BB " B !  !( " !  !( !

" !  !(

" (

Traduction dun TA n-aire (n>2) en Z

trop complexe.


!( )
 

! !

 

BB B


BB B ' 

) )

BB HH B H

% ) )

) % )

Solution 2 : relations ou fonctions

' 

I ( B

 

BB

' 

Methodes formelles p.134/139

Traduction dun TA n-aire (n>2) en Z


Solution 3 : personnaliser => associations binaires (lidentiant est un numro quelconque)

" !  !( " !  !( BB " B !  !(

" !  !(

)

'

 ) )

'

BB B ) )

'

BB

Methodes formelles p.135/139

"


H B I

BB I !

H AI

BB B

" 

Solution 3 : suite

 ( ! 

) )

) %

) ) ) %

) %

) %

) )

) )

( )

) %

Traduction dun TA n-aire (n>2) en Z

safne pour simplier les cardinalits.



 

%


Methodes formelles p.136/139

Traduction du formalisme E-A-P en Z


Autre exemple : la bibliothque voir [AV01], chapitre 5

Methodes formelles p.137/139

Plan du cours
1. Exemple introductif 2. La notation Z - informellement + formellement 3. La mthode de dveloppement - informellement + formellement 4. Bilan et extensions

Methodes formelles p.138/139

Bilan et extensions
Bilan 1. Bon complment dune modlisation semi-formelle 2. Documentation rigoureuse 3. Preuve de programmes 4. OCL Extensions 1. Outils 2. Spcication dfensive ou offensive 3. Promotion 4. Orientation objet

Methodes formelles p.139/139

References
and Alain Vailly. Specication [AV01] Pascal Andre des logi ciels, Deux exemples de pratiques recentes : Z et UML, volume 2 of Collection Technosup. Editions Ellipses, 2001. ISBN 2-7298-0774-8.

139-1

Vous aimerez peut-être aussi