Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
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
Plan du cours
1. Exemple introductif 2. La notation Z - informellement + formellement 3. La mthode de dveloppement - informellement + formellement 4. Bilan et extensions
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
Exemple introductif
1. Description informelle 2. Modlisation avec Merise MCD MCT Critique 3. Modlisation avec Z Donnes Traitements Critique 4. Bilan
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
Orientation des patients Vrification du patient Cration ventuelle du patient Evaluation des soins Orientation du patient Normale Urgence Refus
Patient cr
Admission refuse
+ explications
Patient guri
Critique (MCD)
+ Plus concis et moins soumis interprtation que la description informelle.
Critique (MCD)
+ Plus concis et moins soumis interprtation que la description informelle. + MCD presque complet (cardinalits, contraintes).
Critique (MCD)
+ Plus concis et moins soumis interprtation que la description informelle. + MCD presque complet (cardinalits, contraintes). Mais ...
Critique (MCD)
+ Plus concis et moins soumis interprtation que la description informelle. + MCD presque complet (cardinalits, contraintes). Mais ... - Manque de prcision
Critique (MCD)
+ Plus concis et moins soumis interprtation que la description informelle. + MCD presque complet (cardinalits, contraintes). Mais ... - Manque de prcision rgles de gestion
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
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
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
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 ?
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 ?
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.
Critique (MCT)
+ Enchanements des oprations. + Vue globale des traitements.
Critique (MCT)
+ Enchanements des oprations. + Vue globale des traitements. Mais ...
Critique (MCT)
+ Enchanements des oprations. + Vue globale des traitements. Mais ... - Manque de prcision
Critique (MCT)
+ Enchanements des oprations. + Vue globale des traitements. Mais ... - Manque de prcision rgles de gestion
Critique (MCT)
+ Enchanements des oprations. + Vue globale des traitements. Mais ... - Manque de prcision rgles de gestion dtails des oprations
Critique (MCT)
+ Enchanements des oprations. + Vue globale des traitements. Mais ... - Manque de prcision rgles de gestion dtails des oprations contraintes sur les vnements
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
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 ?
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 ?
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 ?
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
'5 ! " ( 0 )!
( HI
E G F@ ' ! " ( 0 )!
89( 7
1 BCAB
' E ! " ( 0 )!
'5 ! " ( 0 )!
@I
' ! 1 '
' ! % (
" ( )0! E
' ! ! (
! # %'&$ !( '
! !
'
' 1
'
'
BB A
(7 ! ! "
(
F
I
! ! "
"
"
!
" '
"
! 1
6 )5 D ! ! " ! # %'&$ !( ) (
1 !
1
)
patient consulter
'5 ! " ( 0 )!
' !
" ( )0!
"
FA
# & %' $ ( !
! ! "
!
! ! "
!
)
'
# %'&$ ( !
) (
! ! "
!
# & %' $ ( !
! ! "
!
! ! "
!
' " 8 (7 9 5
'
@
( 1 423 %
( " !
(
" %
!( 1 B AB C ' 1
(
!
" % !
' D ( E F @ (
6
(
6 (
( HI E (
@I
'
' 1
'
' 1 "
'
(
'
(
(
" % ( !
%
'
(
(7
(7
BB A '
(
BB A ' (
'
(
F (
( HI ' E
(
( HI ' E (
'
' 1 " %
'
' % !
(
'
' 1
(
(
% (
( !
" %
!
(
'
!
' "
"
" '
"
"
(
'6
" %
) (
(
% ! ' " %
1 ! ! " ! !
(
'
(
!
'
"
(
" H
(
(
"
# %& '$ ( !
! ! "
!
BB A '
(
" ( )0!
(
'
Exemple introductif
1. Description informelle 2. Modlisation avec Merise MCD MCT Critique 3. Modlisation avec Z Donnes Traitements Critique 4. Bilan
Bilan
Les "spec formelles" + Formalisme (thories, logiques et calculs)
Bilan
Les "spec formelles" + Formalisme (thories, logiques et calculs) + Rigueur (types, contraintes, invariants, traitements)
Bilan
Les "spec formelles" + Formalisme (thories, logiques et calculs) + Rigueur (types, contraintes, invariants, traitements) + Abstraction (vis vis des langages de programmation)
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
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
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
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
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
Usage
Usage des "spec formelles" rchir sur des spcications avant dimplanter = raisonnement abstrait
Usage
Usage des "spec formelles" rchir sur des spcications avant dimplanter = raisonnement abstrait prouver des proprits avant de tester
Usage
Usage des "spec formelles" rchir sur des spcications avant dimplanter = raisonnement abstrait prouver des proprits avant de tester prouver la correction de programmes
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
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
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
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
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
Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford)
Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford) Annes 70
Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford) Annes 70 Principes
Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford) Annes 70 Principes spcication mathmatique, axiomatique de Hoare
Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford) Annes 70 Principes spcication mathmatique, axiomatique de Hoare abstraction
Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford) Annes 70 Principes spcication mathmatique, axiomatique de Hoare abstraction schma
Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford) Annes 70 Principes spcication mathmatique, axiomatique de Hoare abstraction schma preuve de proprits
Introduction
Modlisation mathmatique Abrial (Grenoble, Oxford) Annes 70 Principes spcication mathmatique, axiomatique de Hoare abstraction schma preuve de proprits rafnement (rafnage, rication)
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
++
H
++
la variable est libre est une proposition est une proposition est une proposition est lie est une constante
'
)
'
@ !
I
"(
"
%"
I
"
'
'
'
@ !
est lie
"(
"
%"
'
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
%
(
11
%
(
11
%
(
8 A
8
"
11
%
(
( 8 8 8
8 A
"
! 8
11
"
'
Methodes formelles p.32/139
%
(
( 8 8 8
8 A
"
! 8
11
"
'
Methodes formelles p.32/139
) D
"
"
11
'
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
"
"
"
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
1..20
Methodes formelles p.35/139
compos 1 2 3 4 5 a1 a3 a2 a4 a5
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
" %
(
. . .
(
'
'
)
'
"
. . .
(
(
'
)
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
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 (
"
'
Proprit Commutativit
H
Proposition
)
Rgle dinfrence
H I
-introduction -limination
o o
I H I
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
F I I
F I I
H
F I I
H
I I
H H
I
Methodes formelles p.46/139
I I
I I
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
1
Methodes formelles p.48/139
BB
(global)
!
(
11
'
8 8 A 8 1 8 8 D
"
(
"
%
11
"
"
I
I
F
I
1 F
avec
8
I
Methodes formelles p.49/139
H F !
I I I
Methodes formelles p.50/139
!
H F !
I I I
Methodes formelles p.50/139
logique
!
H F !
I I I
Methodes formelles p.50/139
logique
!
%
(
11
%
11
%
11
%
11
)( )0! ( ) ( "
) (
)(
) !( 0
"
%
11
)( )0! ( ) ( "
) (
)(
) !( 0
"
%
11
)( )0! ( ) ( "
) (
)(
) !( 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 ]
1 I
1 F
ou
I I
1..20
7 1
8
7 1 F
!
)
"
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
I
I
I
I
Fonction totale :
Methodes formelles p.57/139
I
H
Injection :
Fonction totale :
1
Fonction (partielle) :
7 1
7 8
1 1
I I
I
H
Injection :
Surjection :
Fonction totale :
1
Fonction (partielle) :
I 1
7 1
D 7 8
1
I I
I
H
Injection :
Bijection :
Surjection :
Fonction totale :
Fonction (partielle) :
H
I 1
7 1
D 7 8
F H
1 I
I I
I
H
Injection :
Bijection :
Surjection :
Fonction nie :
Fonction totale :
Fonction (partielle) :
H
H 1
1 1
D 7 D
F H
1 I
I I
I
H
Injection :
Bijection :
Surjection :
Fonction nie :
Fonction totale :
I
Fonction (partielle) :
-abstraction :
H
D
H
I 1
7 1
F ! I
1 D
D 7 D
F H
1 I
I I
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
"
1 A D
D 7 D
F H
1 I
I I
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 %
% "
"
)5
) ) % % " H % ! )
HD
DI I
I I
" 7
7 1
1 1
Dnition :
1 1
H
F " H
1 F
I "
C B AB
423
"
"
en extension :
soit
BB
8 "
BB
C B AB
423
"
"
en extension :
soit
BB
8 "
Oprateurs :
BB
C B AB
423
"
"
en extension :
soit
BB
8 "
Oprateurs : accs au i
BB
lment :
(si
)5
BCAB
C B AB
423
"
"
en extension :
soit
BB
8 "
BB
(si
)5
)
)5
F!
"!
"
"
BCAB
C B AB
423
"
"
en extension :
soit
BB
8 "
BB
(si
)5
)
)5
F!
" H
"!
"
"
BCAB
C B AB
423
"
"
inversion :
)5
"
AI
Methodes formelles p.61/139
)
423
"
Dnition formelle :
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
)
423
" H
"
Dnition formelle :
1 C B AB 3
en extension :
) F! "
) )
BB B
" H
8 "
8 8
" ) BB B
D (
) 7 1 423 1
) F )
1 "! H I
AI
(si
) )
F 3
( H )5 ) AI H
soit
BCAB
"
)5
C B AB " AI I
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
H I
423
423
)7
423
F I
)
423
) I
H 7
423
423
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 :
: :
, ltrage , extraction :
, partition
(I
H
@I
H
89( 7 @ 1
E F@
I 2
(I
H
F
4 2
8 !
Exemples.
A 2 8
8 !
8
8 8
!
8 8
A
8 8 8
8 8 8
! 8
8
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
)
5
6
)
(
)
1
Methodes formelles p.66/139
5
6
)
)
"
)
)
"
)
) )
1
) ) )%
)%
1" )%
"
)%
8 8
(
1
! '(
! '( F
est quivalent
I
! '(
(
Methodes formelles p.68/139
) ou de prdicat
) )
' H
B
@ ! %
"( %
dun type
D
) )
)
# 5 A
"
423
"
"
$
)
$ !
! " ( !
1 A 1 423
) " ( ! " # (
$ 6
$
" 5 % A
$
"
" % )
! 1 6 A
1
) 1 423 $
423 # 6
" ( ! " ( #
est quivalent :
" ( !
"
423
"
"
" ( !
" 5 !
" ! !
" !
" %
" %
1 1
1 1 423
6 A
423 " ( ! #
" ( ! " ( !
" ( !
" 5 %
6 A
" "
" 5
"
" ! !
"
% 1
! " ( !
" % A
423 423 !
1 " ( ! " ( !
1 " ( !
" " 5
# #
" 6
" ( !
8B
BB
8B
BB
Renommage
%
% 8 "
BB
Renommage
%
% 8 "
Oprateurs logiques (
BB
):
8
Renommage
%
% 8 "
BB
):
8
Renommage
%
% 8 "
BB
):
8
Renommage
%
% 8 "
BB
):
8
Prcondition :
!
!
'
I
Renommage
%
% 8 "
BB
):
8
Prcondition : Surcharge :
!
!
'
'
I
Renommage
%
% 8 "
BB
):
8
!
!
'
(application squentielle)
'
I
Renommage
%
% 8 "
BB
):
8
!
!
'
Composition :
(application squentielle)
'
I
Renommage
%
% 8 "
BB
):
8
!
!
'
Composition :
(application squentielle)
'
I
En rsum
Plan du cours
1. Exemple introductif 2. La notation Z - informellement + formellement 3. La mthode de dveloppement - informellement + formellement 4. Bilan et extensions
Dmarche de spcication en Z
Description informelle
Analyse prliminaire
Modles Entit/Association
Spcification formelle
Spcification Z preuves validation
Conception abstraite
Spcification Z raffine
Prototype
Ralisation
optimisations
Logiciel
Dmarche de spcication en Z
Programmation structure Spcication squentielle en Z
= +
=
tat
+
oprations
" 5
" " 5
" %
" !
% ! %
" 1 6 A
1 423 " ( ! #
Schma dtat
1 423
%
6 A
" ( !
" #
" %
"
Schmas utiliss
"
Schmas utiliss
Variantes pour ltat initial et les prconditions.
! ( " ( !
"
"
'
" ( !
# 5
1 423 " %
% A " %
" ( !
"
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
@I
! ! "
" ( )0!
'
!
F
# %&'$
! ! "
!
"
!
# %'&$ !(
# %'&$ !(
Methodes formelles p.92/139
! ! "
!
! ! "
!
"
B A
B
A 6
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
BB A
E F@ (H I
[
E
D BB A 5
89( 7 @ 1 BB A
' E ! " ( )! 0
@I D E F@
E F@ F !
@I I
(H I E
6 @I I H
] ]
[ -limination]
[ -limination]
' ! 1 '
' ! % (
! 1
'
' ! # %'&$ !( (
E
# %' $ & !(
'5 ! " ( 0 )!
' )
"
"
"
!
" ( 0 )! 6 ) ( )
1 ! ! ! " ! # %'&$ !(
1 1
! ! " !
' )5
FA
'
'
'
1 " !
! !
! ! " !
Application lopration
H F
# %'&$ !(
# %'&$ ( ! (
(7
)
% ! F
) ( F
(
' H 1 ! BCAB " ( )! '5 0 ! " ( ' 0 )! F " ! ( ' 0 )! ! " ( 0 )! ' ( HI ' E
Methodes formelles p.96/139
' '
'
! " !
1 ! !
'
" ( )0! !
# %& '$ ( !
H '
1 B AB C
(7
La dmonstration se fait en remplaant les schmas par leurs dclarations et leurs prdicats.
E F@ ' ! " ( )! 0
H I
8 (7 9 5 1 " !
H
H
' ! ! (
'
( HI '
I I E F@ ( D
Puis en substituant progressivement les variables dcores par par des valeurs non dcores par et les sorties par leur valeur.
(7
H H
H
' ! !
'
Par distributivit de
# %& '$ ( ! I
sur
1 B AB C
(7
' H @ 1 ! " ( BCAB )0! H '5 ! ' " ( 0 )! I ( HI E 5 ' ' H ! I " ( D )! 0 ( E F@ '
le schma se simplie en
I H
8 (7 9 1 " !
H H
H
'
'
Par dnition de
5
AI 6
# %& '$ ( !
, nous avons
(7 1 B AB C
' 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
(7 1 " ! (
H 8 (7 9 ! !
'
'
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 '
@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 ! !
'
'
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 '
@I I
Methodes formelles p.102/139
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
'
'
# %'&$ ( !
! !
!
"
( HI
' E
1 BCAB
(7
'
'
# %'&$ ( !
! !
!
"
( HI
' E
1 BCAB
(7
)(
) 11
D
(
)
)%
( H
' !
% )
)%
(
)
)%
)(
' )
)
1 ! ! "
'
! )% )
)
# %'&$ !( 1 (
(
1 1 423
( (
B AB C
(
'
tte
queue MAX
queue MAX
Retrait
premier
tte
queue
' 5
8 (7 9
1 6 D '
(
(
1 423 % !
BB A ' 1
(
(
(
# %& '$ ( !
E F@ (
( HI E (
@I
"
# %& '$ ( !
! ! "
!
BB A '
idem pour les oprations La suite de rafnage tablit limplantation (prouve) nale. Preuves et dtails : voir [AV01], chapitre 3, section 7
(
" ( )0!
(
'
Elaboration du MCD
Elaboration du MCT
Schma E-A-P
correction s
MCT
Traduction en Z
Implantation
preuves et raffinement
Implantation
Tests Vrifications
Methodes formelles p.114/139
Patient
" %
1 " %
1
'
'
"
'
)
'
BB
A ! " ( ! D !( !
!(
"
E
7
1"
E B "
%
B "
'
'
Methodes formelles p.116/139
BB
A ! " ( ! D !( !
!(
"
E
7
1"
E B "
%
B "
'
'
Methodes formelles p.116/139
BB
A ! " ( ! D !( !
!(
"
E
7
1"
E B "
%
B "
'
'
"
' )
" "
%
) ' ' 1 1
' !
! " ( ! %
' 1
! " ( !
! " ( !
"
' )
" "
%
) ' ' 1
identiant du TE
%
' ! 1
! " ( ! %
' 1
! " ( !
! " ( !
Traduction dun TA en Z
Identiant => inclusion des extensions de TE
Traduction dun TA en Z
Identiant => inclusion des extensions de TE Porteur dinformations => reprsentation similaire au TE pour le TA
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
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
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
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
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
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
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
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
( (
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
( (
EntitB
m,n AB v:T o,p
idB : TypeIdB
...
" ! !( " ! !(
! !
'
)
'
)
)
EntitB
m,n AB v:T o,p
idB : TypeIdB
...
" ! !( " ! !(
! !
)
'
'
'
I '
%'
'
)
)
'
%'
(
Methodes formelles p.123/139
"
' "
" %
%
) ) ' ' 1
' ! 1
! " ( ! % 1 '
! " ( !
! " ( !
" %
" %) '
)
" %
)
! )
) ( ! % ) "( 1
! ! " % "
" ! " %
! " ( ! !
! " % 1
% !
" ! " H
!!
" ! %
!! " %
!
"
"
! ! "
% "
! % %
' %)
"
" "
"
! " ( ! %
1 H ! !
"
"
"
"
%
%
% %
%)
! ! "
!
"
"
!!
! "
"
"
"
!
"
!
"
!
Suppression des schmas types gnralisation du cas prcdent plusieurs variables viter : conserver la structure
"
!
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.
"
!
" " !! %) 1
" %
Les types
"
# %&'$ ! (
! "
1
!!
!! "
H
' 1
"
"
!
"
! " %
1 I
"
" ! "
!!
! " ( !
" %
et
I %
! " ( !
"
%) '
%
"
"
"
%)
% '
sont inchangs.
AB v:T
i 2 ,s 2
in ,sn
7H )
)
H 8
BB " B ! !( " ! !( !
" ! !(
"
( 8B
) 8 (
!(
8B BB 8 ' I
BB 1 I
'
) ) %
'
' 8B
BB 8
BB B
BB
'
'
"
H B I
BB I %
H AI !
H )
)
BB " B ! !( " ! !( !
" ! !(
" (
trop complexe.
!( )
! !
BB B
BB B '
) )
BB HH B H
% ) )
) % )
'
I ( B
BB
'
" ! !(
)
'
) )
'
BB B ) )
'
BB
"
H B I
BB I !
H AI
BB B
"
Solution 3 : suite
( !
) )
) %
) ) ) %
) %
) %
) )
) )
( )
) %
%
Plan du cours
1. Exemple introductif 2. La notation Z - informellement + formellement 3. La mthode de dveloppement - informellement + formellement 4. Bilan et extensions
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
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