SlideShare a Scribd company logo
1 of 44
Ministre de l'enseignement supérieur et de la
recherche scientifique Algérie
Université Saad Dahled Blida
Faculté des sciences
Département informatique
Projet fin semestre :présentation la méthode Z
Module : validation formelle des systèmes informatiques (VFSI)
Présenter par : Professeure :
Mme:F,Z,Zahra Mr: BENKHAOUA Sidahmed
 Mr: BELMABROUK Djamel
 Mr: Siahoui Karim
 Mr: Miraoui Akli
La méthode Z
2
 Introduction
 Les méthodes informelle
 Les méthodes semi-formelles
 Les méthodes formelle
 Définition de la méthode Z
 Structure du schéma Z
 Les Prédicats
 Résume symbole au Z
 Exemple des fonction dans Z
 Raffinement
 Exemples d’applications
 Variante Z-objets
 Bilan et extensions
 Conclusion
 Reference
La méthode Z
Pant du travail 3
Introduction
 Les méthodes de spécification (conception) des systèmes
informatiques :
 Méthodes informelles
 Méthodes semi-formelles
 Méthodes formelles
La méthode Z
Introduction 4
les méthodes informelle
 une spécification est dite informelle si elle est exprimée au moyen
d’un langage informel, typiquement le langage naturel. Exemple :
la fonction qui étant donné un réel positif x retourne 𝑥.
La méthode Z
introduction 5
les méthodes semi-formelles
 La spécification semi-formelle graphique des connaissances avec le
langage de Modélisation par Objets Typés (MOT) est une activité
qui permet d’extérioriser la connaissance sous la forme d’un
modèle.
La méthode Z
introduction 6
les spécifications formelle
 la spécification formelle donne toujours une description de ce que
doit faire le logiciel et non pas comment il doit le faire spécification
formelle ces techniques sont formelles puisqu'elles reposent sur les
bases mathématique le but est d'eliminer les ambiguïtés, les mal
entendus et les mouvais interprétation qui prouvent survenir dans la
description en langage naturel
La méthode Z
introduction 7
Définition de la méthode Z
 A l’origine la méthode Z est développé par l’équipe de J.R. Abrial à
l’Université d’Oxford, dans les années 80.
 Elle permet d’exprimer les propriétés souhaitables d’un système en
s’appuyant sur des résultats provenant de la théorie des ensembles.
 Principe de modularité : décomposition de la spécification en
parties de taille raisonnable, (a revoir, ce n’est pas tres claire) les
schémas, portant sur un seul aspect du système à la fois.
La méthode Z
Définition de la méthode Z 8
Il y a Deux type d’aspects a considéré
 Aspects Statiques
 La partie statique permet de définir les états et les relations d’invariant qui
sont préservées lors des transitions d’etats. Elle est décrite en Z sous la forme
d’un schéma d’etat.
 Aspects Dynamiques
 les opérations
 les relations entre les entrées et les sorties
 les changements d’états.
La méthode Z
Schéma Z 9
Syntaxe
 Un Schéma : unité syntaxique qui comporte trois parties principales:
nom, déclarations et prédicats.
La méthode Z
Schéma Z
Nom
Déclarations
Prédicats
10
Introduit les noms et
les types des entités
qui seront utilisés par
le schéma
Établit les relations
entre les entités
déclarés
précédemment
Structure du schéma Z
 Déclarations de variable de la forme :
< identificateur > : < type >
 Les prédicats précisent les propriétés des variables et les relations
entre variables
 Un schéma est utilisé afin de décrire un état ou une opération
La méthode Z
Structure du schéma Z 11
 Dans la description d’un état :
Les variables déclarées représentent les composantes de l’état, Les
prédicats expriment les propriétés invariantes de l’état.
 Dans la description d’une opération :
Les déclarations incluent les composantes de l’état initial et celles
de l’état final, ainsi que tous les entrées et les sorties de l’opération.
 Les prédicats expriment les relations entre les entrées et les sorties, et
entre l’état initial et l’état final.
La méthode Z
Structure du schéma Z 12
Les Types
 Un type en Z est interprété comme un ensemble
 Les types peuvent être :
 types simples :
 Prédéfinis: Ex. entier (N), chaîne (String), etc.
 Définis par l’utilisateur: Ex. Jour, Mois, etc.
 Types composites:
 Ensembles d’ensembles Ρ
 Produit cartésienne 𝑋
 Schémas
La méthode Z
Structure du schéma Z
Les Types
13
Les Prédicats
Syntaxe:
Langage standard de la théorie des ensembles
 Constantes:entiers (…,-1,0,1,2,…), ensemblistes (ø), etc.
 Opérations etprédicats sur les entiers: +, -, *, div, mod,>, <, etc.
 Opérations ensemblistes: =, ∈,∪,∩,⊆,etc
 Connecteurs,quantificateurs: ¬,→, ∃, ∀,∧,∨,etc,
La méthode Z
Structure du schéma Z
Les Prédicats
14
Les Prédicats (Suite)
Syntaxe:
Opérateurs sur fonctions etre relations:
 relation (X ↔Y),fonction totale (X → Y)ou partielle(X ↛Y)
 domaine (dom R), co-domaine (ran R), identité (id R),
 composition (Q R),image (X ↦Y)
 restrictions:
 domaine (Q 𝜔R),
 co-domaine (R 𝜔 Q),
 surcharge (Q ⨂R),
La méthode Z
Structure du schéma Z
Les Prédicats
15
Resume symbole du langage Z
 f: ℘𝑋 f c’est un ensemble de tout les sous –ensemble de X ,
 𝑥 ∈ 𝑋 x est un élément de X,
 𝑥 ∉ 𝑋 x n’est pas un élément de X,
 𝑆 ⊆ 𝑋 s est un sous ensemble de X
 𝑆 ⋃𝑋 union de ensemble s avec X,
 𝑆⋂𝑋 intersection ensemble S avec X,
 𝑆 ∖ 𝑋 Déférence de ensemble S et X,
 ∅ ensemple vide,
 ≠ 𝑋 cardinalité de ensemble X,
La méthode Z
Structure du schéma Z
Résume symbole
16
Résume symbole du langage Z
Logique :
 P ∧ 𝑄 vrai si P est Q sont vrai ,
 P ∨ 𝑄 vrai si P ou Q sont vrai,
 𝑃 ⇒ 𝑄 vrai si P est vrai ou Q et faux,
 𝑃 ⟺ 𝑄 vrai si P est vrai ou Q et faux et vice versa ,
 ¬𝑃 vrai si P est faux,
La méthode Z
Structure du schéma Z
Résume symbole
17
Raffinement
 Le raffinement permet de remplacer les types de données abstraits
d’une spécification Z par des types de données plus concrets.
 Le raffinement d’un schéma d’état est, en outre, accompagne des
raffinements des opérations qui modifient l’état du schéma raffine.
Les opérations sont par conséquent a nouveau spécifiées en
utilisant les nouveaux types de données définis dans le raffinement
du schéma du système.
La méthode Z
Raffinement 18
Voici un exemple de spécification formelle utilisant langage Z
un système de gestion pour le dictionnaire de donnée utilisant dans
l’analyse structurée .
 Les champs de ce dectionnaire sont ;
 Nom
 Allais
 Ou/comment utilisé,
 Description de continue,
 Information supplémentaire ,
 Date de création,
La méthode Z
Exemples 19
Exemple d’un dictionnaire
Exemple d’un dictionnaire
Nous établissons les opération suivant pour le system de gestion
 Ajouter
 Ajouter une description de donnée dans le dictionnaire
 Éliminer
 Eliminer une description de donnée du dictionnaire
 Fouiller
 Trouver une description de donnée dans le description dans le dictionnaire
 Remplacer
 Remplacer une description de données par une autre description
La méthode Z
Exemples 20
Exemple d’un dictionnaire
Nous définissons les type qui seront utilisés dans la spécification du
dictionnaire
Les types dans Z sont définis par des ensembles
Il existe deux types d’ensemble dans Z :
 ensemble définis explicitement c'est-à-dire pare énumération pour par
construction .
 ensemble de donnée c'est-à-dire dans ensemble indique seulement
par des noms .leur définitions sont extraites plus tard lors de la
conception ou lors de l’implémentation .
 On distingue les ensemble donné par des crochets
[ensemble1,ensemble2]
La méthode Z
Exemples 21
La méthode Z
Exemples d’applications exemple de dectionner
 Nous définissons les types qui seront
utilisés dans la spécification du
dectionner :
 Les schéma Z definissant les types
peut ressembler a ceci
22
Donnéeentresdesctionaire
Nom:[NOM]
Alias:[NOM]
Ou_comment:[TEXTE]
Description:seq char
Information:[DATE]
#description ≤ 2048
#information ≤ 2048Les invariant de
schéma il sont
vrai peu import
état des variables
Nom,TXT et date
sont des ensembles
donnée ,leurs
définition exacte
seront établies plus
tard
La méthode Z
Exemples d’applications exemple de dectionner
 Nous définissons maintenant le dictionnaire :
23
DectionaireDonnees
DonnéeentresdIctionaire
dictionnaire : [NOM] ↛ {Donnéeentresdesctionaire}
 Le dictionnaire de donnée est
défini comme une fonction
partielle.
 Cette fonction partielle
admet comme domaine le
type NOM et comme rang
l’ensemble des valeur du
schéma
DonnéeEntreeDictionniare.
 Le dictionnaire est défini par
une fonction partielle puisque
tous les noms ne sont pas
dans le dictionnaire,
La méthode Z
Exemples d’applications exemple de dectionner
 Nous définissons maintenant le
dectionner ,
24
Init-dictionnaire
DictionnaireDonnee’
dicitionnaire’=∅
 Nous exprimons l’initialisation
du dictionnaire :
 La notion X’ (x décoré) signifie
l’état de x après une
opération si x est un schéma Z
alors tout ses variable sont
aussi décriées,
 Dans notre cas nous créons le
schème init_Dectaionnaire
pour exprimer la mise en
ouvre du dictionnaire
Exemple d’un dictionnaire
Définissons l’opération ajouter pour notre dictionnaire :
D’abord ,il y aura erreur si le nom de la donnée est déjà dans le
dictionnaire et le continue du dictionnaire ne sera pas changés
 Il est recommandé de scinder le spécification de l’opération ajouter
en deux partie:
 Une partie qui décrit l’opération normale
 L’autre doit décrit les situation d’exception,
La méthode Z
Exemples 25
La méthode Z
Exemples d’applications exemple de dectionner 26
Ajouter_Ok
∆DictionnaireDonnee
nom?:NOM
Entrée?:DonneeEntreeDictionnaire
Nom? ∉ 𝑑𝑜𝑚 dictionnaire
dictionnaire’ =dictionnaire ∪
{nom? ↦ entrée?}
 Finalement ,l’opération
spécifiée est la combinaison
ces deux parties ,
 Voici l’opération normale de
ajouter:
La méthode Z
Exemples d’applications exemple de dictionnaire 27
Ajouter_Erreur
ΞDictionnaireDonnee
nom?:NOM
erreur!: seq char
nom? ϵ𝑑𝑜𝑚 dictionnaire
erreur! = ‘données déjà dans le
dictionnaire ’
 Voici la description des
situations exceptionnelles de
l’opération ajouter ,
 La combinaison des schémes
Ajouter_Ok et Ajouter_Erreur
donne la description
compléte de l’operation
Ajouter ≡ Ajouter_OK ∨ Ajouter_Erreur
Exemple d’un dictionnaire
De la même façon , définissons l’opération chercher pour notre
dictionnaire :
D’abord , une erreur est signalée si le nom de la donnée n’est pas
dans dictionnaire et le contenu du dictionnaire ne sera pas changé,
Encore une fois, il est recommandé se scinder la spécification de
l’opération chercher en deux parties:
 Une partie qui décrit l’opération normale
 L’autre doit décrit les situation d’exception
La méthode Z
Exemples 28
La méthode Z
Exemples d’applications exemple de dectionner 29
Cherche_Ok
ΞDictionnaireDonnee
nom?:NOM
entrée?:DonneeEntreeDictionnaire
Nom? ∈ 𝑑𝑜𝑚 dictionnaire
Entrée! = dictionnaire(nom?)
 Finalement ,l’opération
spécifiée est la combinaison
ces deux parties ,
 Voici l’opération normale de
chercher :
La méthode Z
Exemples d’applications exemple de dictionnaire 30
recherche_Erreur
ΞDictionnaireDonnee
nom?:NOM
erreur!: seq char
nom? ∈ 𝑑𝑜𝑚 dictionnaire
erreur! = ‘données n’est pas dans
la dictionnaire’
 Voici la description des
situations exceptionnelles de
l’opération chercher,
 La combinaison des schémes
Chercher_Ok et
Chercher_Erreur donne la
description compléte de
l’operation
chercher ≡ Chercher_Ok ∨ Chercher_Erreur
le Birthday Book est un
exemple connu de
système qui permet de
retenir les dates
d’anniversaire
La méthode Z
Exemples d’applications
 Décrire les aspects statiques :
31
le Birthday Book est un
exemple connu de
système qui permet de
retenir les dates
d’anniversaire
La méthode Z
Exemples d’applications
 Décrire les aspects dynamiques :
 l’opération AddBirthday permet de
rajouter une date d’anniversaire dans
le système :
32
le Birthday Book est un
exemple connu de
système qui permet de
retenir les dates
d’anniversaire
La méthode Z
Exemples d’applications
 Décrire les aspects dynamiques :
 Pour initialiser, un schéma
InitBirthdayBook est défini :
33
le Birthday Book est un
exemple connu de
système qui permet de
retenir les dates
d’anniversaire
La méthode Z
Exemples d’applications
 Décrire les aspects dynamiques :
 Puis on fait le raffinement: donc
BirthdayBook est raffine par le schéma
BirthdayBook1
34
le Birthday Book est un
exemple connu de
système qui permet de
retenir les dates
d’anniversaire
La méthode Z
Exemples d’applications
 Décrire les aspects dynamiques :
 l’opération AddBirthday est raffinée
par :
35
Variant Object-Z
 Object-Z est une extension du langage Z qui permet de spécifier des
systèmes dans un style oriente objet. Dans une spécification Z, il est
difficile de déterminer les conséquences des opérations sur un
schéma d’état donne, car les schémas d’opération peuvent agir
sur les états de plusieurs schémas d’etat. La notion de classe est
introduite pour regrouper dans un même schéma toutes les
opérations la concernant.
La méthode Z
Variant Object-Z 36
 Une classe Object-Z est représentée par une boîte contenant
 la liste des classes héritées.
 des définitions de types.
 des définitions de constantes.
 un schéma d’etat.
 un Schema d‘etat Initial.
 des schémas d’opération.
 Le schéma d’état ne porte généralement pas de nom dans une
classe Object-Z.
La méthode Z
Variant Object-Z 37
 Héritage :
L’héritage permet a une classe de considérer les définitions d’une
autre classe, (type, constante et les schémas).
 Instanciation :
L’instanciation permet de renommer les variables, les types et les
constantes d’une classe.
La méthode Z
Variant Object-Z 38
Exemple :
Une classe Queue[T] qui
définit une file d’attente
de type FIFO
La méthode Z
Variant Object-Z 39
Bilan et extensions
 Bilan
 Bon complément d’une modélisation semi-formelle
 Documentation rigoureuse
 Preuve de programmes
La méthode Z
Bilan et extensions 40
Bilan et extensions
 Extensions
 Outils
 Spécification défensive ou offensive
 Orientation objet
La méthode Z
Bilan et extensions 41
Conclusion
 Z est manifestement celIe qui nous semble la plus prometteuse,
 Z est applicable a tous les domaines de l'informatique,
 i1 est statique et non-procedural,
 il a une base théorique saine; il est complet,
 i1 combine la precision des mathematiques avec l'elegance
d'expression des Lang âges de programmation actuels
La méthode Z
Conclusion 42
Merci pour Votre Attention
43
Reference
[SOMM96] Sommerville,I,,software
ebgineering,Harlow,England:Addision-Wesley,1996,
[PRES97] Pressman,R,S,Software Engineering-A partionner’s
approch,New York:McGraw-Hill,1997,
[HTTP01] www,cs,herts,ac,uk/jean/algspec/pr,html
[MONO92] Monarchi,D,E,,G,I,Puhr, » A research topology for OO
Analys»
Communication of the ACM,vol,35,no 9,pp,35-45,spt 1992
La méthode Z
Reference 44

More Related Content

What's hot

rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATSiwar GUEMRI
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiqueOussama Yoshiki
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQLLilia Sfaxi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : CassandraLilia Sfaxi
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de donnéesAbdoulaye Dieng
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesLilia Sfaxi
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java HéritageNadaBenLatifa
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueYosra ADDALI
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision Yassine Badri
 
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationRapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationMohamed Amine Mahmoudi
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesJean-Marc Dupont
 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac Amri Ossama
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
Cours1_Architecture_Logicielle.ppt
Cours1_Architecture_Logicielle.pptCours1_Architecture_Logicielle.ppt
Cours1_Architecture_Logicielle.pptSylia3
 
Cours bases de données partie 2 Prof. Khalifa MANSOURI
Cours bases de données partie 2 Prof. Khalifa MANSOURICours bases de données partie 2 Prof. Khalifa MANSOURI
Cours bases de données partie 2 Prof. Khalifa MANSOURIMansouri Khalifa
 
Introduction a la compilation Analyse Syntaxique - C3
Introduction a la compilation  Analyse Syntaxique - C3Introduction a la compilation  Analyse Syntaxique - C3
Introduction a la compilation Analyse Syntaxique - C3Beligh HAMDI
 

What's hot (20)

rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications Mobiles
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java Héritage
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data Analytique
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision
 
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationRapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de données
 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
Cours1_Architecture_Logicielle.ppt
Cours1_Architecture_Logicielle.pptCours1_Architecture_Logicielle.ppt
Cours1_Architecture_Logicielle.ppt
 
Cours bases de données partie 2 Prof. Khalifa MANSOURI
Cours bases de données partie 2 Prof. Khalifa MANSOURICours bases de données partie 2 Prof. Khalifa MANSOURI
Cours bases de données partie 2 Prof. Khalifa MANSOURI
 
Introduction a la compilation Analyse Syntaxique - C3
Introduction a la compilation  Analyse Syntaxique - C3Introduction a la compilation  Analyse Syntaxique - C3
Introduction a la compilation Analyse Syntaxique - C3
 

Viewers also liked

Presentación evaluacion institucional
Presentación evaluacion institucionalPresentación evaluacion institucional
Presentación evaluacion institucionalanapalacio
 
Toi plus moi
Toi plus moiToi plus moi
Toi plus moircmuziek5
 
Giambologna, L'enlèvement des Sabines
Giambologna, L'enlèvement des SabinesGiambologna, L'enlèvement des Sabines
Giambologna, L'enlèvement des SabinesCécile De Joie
 
Final shadow report_to_cat_french
Final shadow report_to_cat_frenchFinal shadow report_to_cat_french
Final shadow report_to_cat_frenchAmane Marrakech
 
2011 03-04 powerpointapc
2011 03-04 powerpointapc2011 03-04 powerpointapc
2011 03-04 powerpointapcRicardo
 
Présentation boxmyjob5
Présentation boxmyjob5Présentation boxmyjob5
Présentation boxmyjob5cbbcvs
 
Petit journal de campagne n°4 - L'entreprise responsable
Petit journal de campagne n°4 - L'entreprise responsable Petit journal de campagne n°4 - L'entreprise responsable
Petit journal de campagne n°4 - L'entreprise responsable CroissancePlus
 
Komlam Mawuena Adjoyi: Messagers du changement climatique, c’est aussi et sur...
Komlam Mawuena Adjoyi: Messagers du changement climatique, c’est aussi et sur...Komlam Mawuena Adjoyi: Messagers du changement climatique, c’est aussi et sur...
Komlam Mawuena Adjoyi: Messagers du changement climatique, c’est aussi et sur...AfricaAdapt
 

Viewers also liked (20)

Presentación evaluacion institucional
Presentación evaluacion institucionalPresentación evaluacion institucional
Presentación evaluacion institucional
 
Digital Post n°84
Digital Post n°84Digital Post n°84
Digital Post n°84
 
Guia int de_linea_teo_de_green_02_2014
Guia int de_linea_teo_de_green_02_2014Guia int de_linea_teo_de_green_02_2014
Guia int de_linea_teo_de_green_02_2014
 
Lesson 1
Lesson 1Lesson 1
Lesson 1
 
DELIBES
DELIBESDELIBES
DELIBES
 
Digital Post n°86
Digital Post n°86Digital Post n°86
Digital Post n°86
 
Toi plus moi
Toi plus moiToi plus moi
Toi plus moi
 
Giambologna, L'enlèvement des Sabines
Giambologna, L'enlèvement des SabinesGiambologna, L'enlèvement des Sabines
Giambologna, L'enlèvement des Sabines
 
El despertar del Magreb
El despertar del MagrebEl despertar del Magreb
El despertar del Magreb
 
Final shadow report_to_cat_french
Final shadow report_to_cat_frenchFinal shadow report_to_cat_french
Final shadow report_to_cat_french
 
Entendiendo Web 2.0
Entendiendo Web 2.0Entendiendo Web 2.0
Entendiendo Web 2.0
 
alwadifa
alwadifaalwadifa
alwadifa
 
Modelos 1a1 en tiempos de red.
Modelos 1a1 en tiempos de red.Modelos 1a1 en tiempos de red.
Modelos 1a1 en tiempos de red.
 
Ciudades
CiudadesCiudades
Ciudades
 
Guia didactica v5.1
Guia didactica v5.1Guia didactica v5.1
Guia didactica v5.1
 
2011 03-04 powerpointapc
2011 03-04 powerpointapc2011 03-04 powerpointapc
2011 03-04 powerpointapc
 
Cuadernillo Eduanny Leal
Cuadernillo Eduanny LealCuadernillo Eduanny Leal
Cuadernillo Eduanny Leal
 
Présentation boxmyjob5
Présentation boxmyjob5Présentation boxmyjob5
Présentation boxmyjob5
 
Petit journal de campagne n°4 - L'entreprise responsable
Petit journal de campagne n°4 - L'entreprise responsable Petit journal de campagne n°4 - L'entreprise responsable
Petit journal de campagne n°4 - L'entreprise responsable
 
Komlam Mawuena Adjoyi: Messagers du changement climatique, c’est aussi et sur...
Komlam Mawuena Adjoyi: Messagers du changement climatique, c’est aussi et sur...Komlam Mawuena Adjoyi: Messagers du changement climatique, c’est aussi et sur...
Komlam Mawuena Adjoyi: Messagers du changement climatique, c’est aussi et sur...
 

Similar to La méthode z

18_3_BDModeleRelationnel.ppt
18_3_BDModeleRelationnel.ppt18_3_BDModeleRelationnel.ppt
18_3_BDModeleRelationnel.pptElyes ELEBRI
 
Chap9 : Systèmes non linéaires
Chap9 : Systèmes non linéairesChap9 : Systèmes non linéaires
Chap9 : Systèmes non linéairesMohammed TAMALI
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de ClasseabdoMarocco
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objetsAziz Darouichi
 
Cours rep etat
Cours rep etatCours rep etat
Cours rep etatLin Pepin
 
Généralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeGénéralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeInforMatica34
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCSiratiSoufiane
 
Coursbase de donnees relationnelle sql server
Coursbase de donnees relationnelle sql serverCoursbase de donnees relationnelle sql server
Coursbase de donnees relationnelle sql serverLahcensabir2
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en PythonABDESSELAM ARROU
 
DataDrill EXPRESS: Les équations dans DataDrill
DataDrill EXPRESS: Les équations dans DataDrill DataDrill EXPRESS: Les équations dans DataDrill
DataDrill EXPRESS: Les équations dans DataDrill Olivier Pinette
 
Javascript un langage supérieur
Javascript un langage supérieurJavascript un langage supérieur
Javascript un langage supérieurFredy Fadel
 
Les Structures de données
Les Structures de donnéesLes Structures de données
Les Structures de donnéesHichem Kemali
 

Similar to La méthode z (20)

C4 spec-adt
C4 spec-adtC4 spec-adt
C4 spec-adt
 
18_3_BDModeleRelationnel.ppt
18_3_BDModeleRelationnel.ppt18_3_BDModeleRelationnel.ppt
18_3_BDModeleRelationnel.ppt
 
Chap9 : Systèmes non linéaires
Chap9 : Systèmes non linéairesChap9 : Systèmes non linéaires
Chap9 : Systèmes non linéaires
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).pptx
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de Classe
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
 
Cours rep etat
Cours rep etatCours rep etat
Cours rep etat
 
Généralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeGénéralités sur la notion d’Algorithme
Généralités sur la notion d’Algorithme
 
langage C++
langage C++langage C++
langage C++
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 
Apprentissage du java
Apprentissage du javaApprentissage du java
Apprentissage du java
 
Coursbase de donnees relationnelle sql server
Coursbase de donnees relationnelle sql serverCoursbase de donnees relationnelle sql server
Coursbase de donnees relationnelle sql server
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
DataDrill EXPRESS: Les équations dans DataDrill
DataDrill EXPRESS: Les équations dans DataDrill DataDrill EXPRESS: Les équations dans DataDrill
DataDrill EXPRESS: Les équations dans DataDrill
 
Javascript un langage supérieur
Javascript un langage supérieurJavascript un langage supérieur
Javascript un langage supérieur
 
Les Structures de données
Les Structures de donnéesLes Structures de données
Les Structures de données
 
algorithmique.pdf
algorithmique.pdfalgorithmique.pdf
algorithmique.pdf
 

La méthode z

  • 1. Ministre de l'enseignement supérieur et de la recherche scientifique Algérie Université Saad Dahled Blida Faculté des sciences Département informatique Projet fin semestre :présentation la méthode Z Module : validation formelle des systèmes informatiques (VFSI) Présenter par : Professeure : Mme:F,Z,Zahra Mr: BENKHAOUA Sidahmed  Mr: BELMABROUK Djamel  Mr: Siahoui Karim  Mr: Miraoui Akli
  • 3.  Introduction  Les méthodes informelle  Les méthodes semi-formelles  Les méthodes formelle  Définition de la méthode Z  Structure du schéma Z  Les Prédicats  Résume symbole au Z  Exemple des fonction dans Z  Raffinement  Exemples d’applications  Variante Z-objets  Bilan et extensions  Conclusion  Reference La méthode Z Pant du travail 3
  • 4. Introduction  Les méthodes de spécification (conception) des systèmes informatiques :  Méthodes informelles  Méthodes semi-formelles  Méthodes formelles La méthode Z Introduction 4
  • 5. les méthodes informelle  une spécification est dite informelle si elle est exprimée au moyen d’un langage informel, typiquement le langage naturel. Exemple : la fonction qui étant donné un réel positif x retourne 𝑥. La méthode Z introduction 5
  • 6. les méthodes semi-formelles  La spécification semi-formelle graphique des connaissances avec le langage de Modélisation par Objets Typés (MOT) est une activité qui permet d’extérioriser la connaissance sous la forme d’un modèle. La méthode Z introduction 6
  • 7. les spécifications formelle  la spécification formelle donne toujours une description de ce que doit faire le logiciel et non pas comment il doit le faire spécification formelle ces techniques sont formelles puisqu'elles reposent sur les bases mathématique le but est d'eliminer les ambiguïtés, les mal entendus et les mouvais interprétation qui prouvent survenir dans la description en langage naturel La méthode Z introduction 7
  • 8. Définition de la méthode Z  A l’origine la méthode Z est développé par l’équipe de J.R. Abrial à l’Université d’Oxford, dans les années 80.  Elle permet d’exprimer les propriétés souhaitables d’un système en s’appuyant sur des résultats provenant de la théorie des ensembles.  Principe de modularité : décomposition de la spécification en parties de taille raisonnable, (a revoir, ce n’est pas tres claire) les schémas, portant sur un seul aspect du système à la fois. La méthode Z Définition de la méthode Z 8
  • 9. Il y a Deux type d’aspects a considéré  Aspects Statiques  La partie statique permet de définir les états et les relations d’invariant qui sont préservées lors des transitions d’etats. Elle est décrite en Z sous la forme d’un schéma d’etat.  Aspects Dynamiques  les opérations  les relations entre les entrées et les sorties  les changements d’états. La méthode Z Schéma Z 9
  • 10. Syntaxe  Un Schéma : unité syntaxique qui comporte trois parties principales: nom, déclarations et prédicats. La méthode Z Schéma Z Nom Déclarations Prédicats 10 Introduit les noms et les types des entités qui seront utilisés par le schéma Établit les relations entre les entités déclarés précédemment
  • 11. Structure du schéma Z  Déclarations de variable de la forme : < identificateur > : < type >  Les prédicats précisent les propriétés des variables et les relations entre variables  Un schéma est utilisé afin de décrire un état ou une opération La méthode Z Structure du schéma Z 11
  • 12.  Dans la description d’un état : Les variables déclarées représentent les composantes de l’état, Les prédicats expriment les propriétés invariantes de l’état.  Dans la description d’une opération : Les déclarations incluent les composantes de l’état initial et celles de l’état final, ainsi que tous les entrées et les sorties de l’opération.  Les prédicats expriment les relations entre les entrées et les sorties, et entre l’état initial et l’état final. La méthode Z Structure du schéma Z 12
  • 13. Les Types  Un type en Z est interprété comme un ensemble  Les types peuvent être :  types simples :  Prédéfinis: Ex. entier (N), chaîne (String), etc.  Définis par l’utilisateur: Ex. Jour, Mois, etc.  Types composites:  Ensembles d’ensembles Ρ  Produit cartésienne 𝑋  Schémas La méthode Z Structure du schéma Z Les Types 13
  • 14. Les Prédicats Syntaxe: Langage standard de la théorie des ensembles  Constantes:entiers (…,-1,0,1,2,…), ensemblistes (ø), etc.  Opérations etprédicats sur les entiers: +, -, *, div, mod,>, <, etc.  Opérations ensemblistes: =, ∈,∪,∩,⊆,etc  Connecteurs,quantificateurs: ¬,→, ∃, ∀,∧,∨,etc, La méthode Z Structure du schéma Z Les Prédicats 14
  • 15. Les Prédicats (Suite) Syntaxe: Opérateurs sur fonctions etre relations:  relation (X ↔Y),fonction totale (X → Y)ou partielle(X ↛Y)  domaine (dom R), co-domaine (ran R), identité (id R),  composition (Q R),image (X ↦Y)  restrictions:  domaine (Q 𝜔R),  co-domaine (R 𝜔 Q),  surcharge (Q ⨂R), La méthode Z Structure du schéma Z Les Prédicats 15
  • 16. Resume symbole du langage Z  f: ℘𝑋 f c’est un ensemble de tout les sous –ensemble de X ,  𝑥 ∈ 𝑋 x est un élément de X,  𝑥 ∉ 𝑋 x n’est pas un élément de X,  𝑆 ⊆ 𝑋 s est un sous ensemble de X  𝑆 ⋃𝑋 union de ensemble s avec X,  𝑆⋂𝑋 intersection ensemble S avec X,  𝑆 ∖ 𝑋 Déférence de ensemble S et X,  ∅ ensemple vide,  ≠ 𝑋 cardinalité de ensemble X, La méthode Z Structure du schéma Z Résume symbole 16
  • 17. Résume symbole du langage Z Logique :  P ∧ 𝑄 vrai si P est Q sont vrai ,  P ∨ 𝑄 vrai si P ou Q sont vrai,  𝑃 ⇒ 𝑄 vrai si P est vrai ou Q et faux,  𝑃 ⟺ 𝑄 vrai si P est vrai ou Q et faux et vice versa ,  ¬𝑃 vrai si P est faux, La méthode Z Structure du schéma Z Résume symbole 17
  • 18. Raffinement  Le raffinement permet de remplacer les types de données abstraits d’une spécification Z par des types de données plus concrets.  Le raffinement d’un schéma d’état est, en outre, accompagne des raffinements des opérations qui modifient l’état du schéma raffine. Les opérations sont par conséquent a nouveau spécifiées en utilisant les nouveaux types de données définis dans le raffinement du schéma du système. La méthode Z Raffinement 18
  • 19. Voici un exemple de spécification formelle utilisant langage Z un système de gestion pour le dictionnaire de donnée utilisant dans l’analyse structurée .  Les champs de ce dectionnaire sont ;  Nom  Allais  Ou/comment utilisé,  Description de continue,  Information supplémentaire ,  Date de création, La méthode Z Exemples 19 Exemple d’un dictionnaire
  • 20. Exemple d’un dictionnaire Nous établissons les opération suivant pour le system de gestion  Ajouter  Ajouter une description de donnée dans le dictionnaire  Éliminer  Eliminer une description de donnée du dictionnaire  Fouiller  Trouver une description de donnée dans le description dans le dictionnaire  Remplacer  Remplacer une description de données par une autre description La méthode Z Exemples 20
  • 21. Exemple d’un dictionnaire Nous définissons les type qui seront utilisés dans la spécification du dictionnaire Les types dans Z sont définis par des ensembles Il existe deux types d’ensemble dans Z :  ensemble définis explicitement c'est-à-dire pare énumération pour par construction .  ensemble de donnée c'est-à-dire dans ensemble indique seulement par des noms .leur définitions sont extraites plus tard lors de la conception ou lors de l’implémentation .  On distingue les ensemble donné par des crochets [ensemble1,ensemble2] La méthode Z Exemples 21
  • 22. La méthode Z Exemples d’applications exemple de dectionner  Nous définissons les types qui seront utilisés dans la spécification du dectionner :  Les schéma Z definissant les types peut ressembler a ceci 22 Donnéeentresdesctionaire Nom:[NOM] Alias:[NOM] Ou_comment:[TEXTE] Description:seq char Information:[DATE] #description ≤ 2048 #information ≤ 2048Les invariant de schéma il sont vrai peu import état des variables Nom,TXT et date sont des ensembles donnée ,leurs définition exacte seront établies plus tard
  • 23. La méthode Z Exemples d’applications exemple de dectionner  Nous définissons maintenant le dictionnaire : 23 DectionaireDonnees DonnéeentresdIctionaire dictionnaire : [NOM] ↛ {Donnéeentresdesctionaire}  Le dictionnaire de donnée est défini comme une fonction partielle.  Cette fonction partielle admet comme domaine le type NOM et comme rang l’ensemble des valeur du schéma DonnéeEntreeDictionniare.  Le dictionnaire est défini par une fonction partielle puisque tous les noms ne sont pas dans le dictionnaire,
  • 24. La méthode Z Exemples d’applications exemple de dectionner  Nous définissons maintenant le dectionner , 24 Init-dictionnaire DictionnaireDonnee’ dicitionnaire’=∅  Nous exprimons l’initialisation du dictionnaire :  La notion X’ (x décoré) signifie l’état de x après une opération si x est un schéma Z alors tout ses variable sont aussi décriées,  Dans notre cas nous créons le schème init_Dectaionnaire pour exprimer la mise en ouvre du dictionnaire
  • 25. Exemple d’un dictionnaire Définissons l’opération ajouter pour notre dictionnaire : D’abord ,il y aura erreur si le nom de la donnée est déjà dans le dictionnaire et le continue du dictionnaire ne sera pas changés  Il est recommandé de scinder le spécification de l’opération ajouter en deux partie:  Une partie qui décrit l’opération normale  L’autre doit décrit les situation d’exception, La méthode Z Exemples 25
  • 26. La méthode Z Exemples d’applications exemple de dectionner 26 Ajouter_Ok ∆DictionnaireDonnee nom?:NOM Entrée?:DonneeEntreeDictionnaire Nom? ∉ 𝑑𝑜𝑚 dictionnaire dictionnaire’ =dictionnaire ∪ {nom? ↦ entrée?}  Finalement ,l’opération spécifiée est la combinaison ces deux parties ,  Voici l’opération normale de ajouter:
  • 27. La méthode Z Exemples d’applications exemple de dictionnaire 27 Ajouter_Erreur ΞDictionnaireDonnee nom?:NOM erreur!: seq char nom? ϵ𝑑𝑜𝑚 dictionnaire erreur! = ‘données déjà dans le dictionnaire ’  Voici la description des situations exceptionnelles de l’opération ajouter ,  La combinaison des schémes Ajouter_Ok et Ajouter_Erreur donne la description compléte de l’operation Ajouter ≡ Ajouter_OK ∨ Ajouter_Erreur
  • 28. Exemple d’un dictionnaire De la même façon , définissons l’opération chercher pour notre dictionnaire : D’abord , une erreur est signalée si le nom de la donnée n’est pas dans dictionnaire et le contenu du dictionnaire ne sera pas changé, Encore une fois, il est recommandé se scinder la spécification de l’opération chercher en deux parties:  Une partie qui décrit l’opération normale  L’autre doit décrit les situation d’exception La méthode Z Exemples 28
  • 29. La méthode Z Exemples d’applications exemple de dectionner 29 Cherche_Ok ΞDictionnaireDonnee nom?:NOM entrée?:DonneeEntreeDictionnaire Nom? ∈ 𝑑𝑜𝑚 dictionnaire Entrée! = dictionnaire(nom?)  Finalement ,l’opération spécifiée est la combinaison ces deux parties ,  Voici l’opération normale de chercher :
  • 30. La méthode Z Exemples d’applications exemple de dictionnaire 30 recherche_Erreur ΞDictionnaireDonnee nom?:NOM erreur!: seq char nom? ∈ 𝑑𝑜𝑚 dictionnaire erreur! = ‘données n’est pas dans la dictionnaire’  Voici la description des situations exceptionnelles de l’opération chercher,  La combinaison des schémes Chercher_Ok et Chercher_Erreur donne la description compléte de l’operation chercher ≡ Chercher_Ok ∨ Chercher_Erreur
  • 31. le Birthday Book est un exemple connu de système qui permet de retenir les dates d’anniversaire La méthode Z Exemples d’applications  Décrire les aspects statiques : 31
  • 32. le Birthday Book est un exemple connu de système qui permet de retenir les dates d’anniversaire La méthode Z Exemples d’applications  Décrire les aspects dynamiques :  l’opération AddBirthday permet de rajouter une date d’anniversaire dans le système : 32
  • 33. le Birthday Book est un exemple connu de système qui permet de retenir les dates d’anniversaire La méthode Z Exemples d’applications  Décrire les aspects dynamiques :  Pour initialiser, un schéma InitBirthdayBook est défini : 33
  • 34. le Birthday Book est un exemple connu de système qui permet de retenir les dates d’anniversaire La méthode Z Exemples d’applications  Décrire les aspects dynamiques :  Puis on fait le raffinement: donc BirthdayBook est raffine par le schéma BirthdayBook1 34
  • 35. le Birthday Book est un exemple connu de système qui permet de retenir les dates d’anniversaire La méthode Z Exemples d’applications  Décrire les aspects dynamiques :  l’opération AddBirthday est raffinée par : 35
  • 36. Variant Object-Z  Object-Z est une extension du langage Z qui permet de spécifier des systèmes dans un style oriente objet. Dans une spécification Z, il est difficile de déterminer les conséquences des opérations sur un schéma d’état donne, car les schémas d’opération peuvent agir sur les états de plusieurs schémas d’etat. La notion de classe est introduite pour regrouper dans un même schéma toutes les opérations la concernant. La méthode Z Variant Object-Z 36
  • 37.  Une classe Object-Z est représentée par une boîte contenant  la liste des classes héritées.  des définitions de types.  des définitions de constantes.  un schéma d’etat.  un Schema d‘etat Initial.  des schémas d’opération.  Le schéma d’état ne porte généralement pas de nom dans une classe Object-Z. La méthode Z Variant Object-Z 37
  • 38.  Héritage : L’héritage permet a une classe de considérer les définitions d’une autre classe, (type, constante et les schémas).  Instanciation : L’instanciation permet de renommer les variables, les types et les constantes d’une classe. La méthode Z Variant Object-Z 38
  • 39. Exemple : Une classe Queue[T] qui définit une file d’attente de type FIFO La méthode Z Variant Object-Z 39
  • 40. Bilan et extensions  Bilan  Bon complément d’une modélisation semi-formelle  Documentation rigoureuse  Preuve de programmes La méthode Z Bilan et extensions 40
  • 41. Bilan et extensions  Extensions  Outils  Spécification défensive ou offensive  Orientation objet La méthode Z Bilan et extensions 41
  • 42. Conclusion  Z est manifestement celIe qui nous semble la plus prometteuse,  Z est applicable a tous les domaines de l'informatique,  i1 est statique et non-procedural,  il a une base théorique saine; il est complet,  i1 combine la precision des mathematiques avec l'elegance d'expression des Lang âges de programmation actuels La méthode Z Conclusion 42
  • 43. Merci pour Votre Attention 43
  • 44. Reference [SOMM96] Sommerville,I,,software ebgineering,Harlow,England:Addision-Wesley,1996, [PRES97] Pressman,R,S,Software Engineering-A partionner’s approch,New York:McGraw-Hill,1997, [HTTP01] www,cs,herts,ac,uk/jean/algspec/pr,html [MONO92] Monarchi,D,E,,G,I,Puhr, » A research topology for OO Analys» Communication of the ACM,vol,35,no 9,pp,35-45,spt 1992 La méthode Z Reference 44

Editor's Notes

  1. Les méthodes formels : Des techniques et des outils basés sur les mathématiques et la logique formelle utilisé pour la spécification et la conception des systèmes informatiques
  2. Les méthodes formels : Des techniques et des outils basés sur les mathématiques et la logique formelle utilisé pour la spécification et la conception des systèmes informatiques
  3. Les méthodes formels : Des techniques et des outils basés sur les mathématiques et la logique formelle utilisé pour la spécification et la conception des systèmes informatiques
  4. Les prédicatsprécisent les propriétésdes variableset les relationsentre variables.
  5. Les prédicatsprécisent les propriétésdes variableset les relationsentre variables.
  6. (y a un probleme apré en OUTRE, on devrait mettre un nom pas un verbe)
  7. (y a un probleme apré en OUTRE, on devrait mettre un nom pas un verbe)
  8. (y a un probleme apré en OUTRE, on devrait mettre un nom pas un verbe)
  9. (y a un probleme apré en OUTRE, on devrait mettre un nom pas un verbe)
  10. Les taile de varaible sont limité a 2 ko
  11. Les taile de varaible sont limité a 2 ko
  12. Les taile de varaible sont limité a 2 ko
  13. (y a un probleme apré en OUTRE, on devrait mettre un nom pas un verbe)
  14. Les taile de varaible sont limité a 2 ko Le domain d'une terme t, noté Dom(t) est l'ensemble {p ∈ IN∗ | t(p) est déni}. Si Dom(t) est ni, alors t est un terme ni (dit simplement terme). Si Dom(t) est inni, alors t est un terme inni
  15. Les taile de varaible sont limité a 2 ko
  16. (y a un probleme apré en OUTRE, on devrait mettre un nom pas un verbe)
  17. Les taile de varaible sont limité a 2 ko
  18. Les taile de varaible sont limité a 2 ko
  19. La première partie du schéma correspond a la déclaration des variables known et birthday. La seconde partie est la définition de l’invariant. La variable known est ici égale au domaine de la variable birthday.
  20. La notation Δ indique que l’état du schéma BirthdayBook sera modifié par cette opération. La notation ? signifie que les variables n? et d? sont des paramètres d’entrée de l’opération. Le prédicat n? _∈ known est la pré condition de l’opération. La notation birthday_ indique un changement d’état de la variable birthday par ex´ecution de l’op´eration. En l’occurrence, l’op´eration a pour effet de rajouter un ´élément `a la variable birthday. Un paramètre de sortie d’une opération est dénoté en Z par le nom de la variable suivi d’un
  21. Ce schéma définit les nouvelles variables names, dates et hwm. Cette nouvelle spécification est plus concrète, car les variables sont désormais représentées par des tableaux de données.
  22. L’opération a les mêmes paramètres d’entrée et de sortie que dans la spécification abstraite. L’ajout d’une date d’anniversaire dans le carnet est désormais spécifié en incrémentant la variable hwm de 1, et en surchargeant les variables names et dates pour compléter les tableaux de données par le nouveau nom et la nouvelle date respectivement.
  23. faudrait revoir votre palnt de travail et vos titre sur un papier et un stylo
  24. Note : Les deux mécanismes sont généralement lies.
  25. Parmi toutes les approches étudiées, Z est manifestement celIe qui nous semble la plus prometteuse, et ce pour de nombreuses raisons : Z est applicable a tous les domaines de l'informatique ; i1 est statique et non-procedural, mais prepare cependant Ie terrain pour des transformations qui aident a parvenir aux programmes; il a une base théorique saine; il est complet, c 'esta-dire que les spécifications peuvent être entièrement exprimées a l'interieur du cadre du langage ; et i1 combine la precision des mathematiques avec l'elegance d'expression des Lang âges de programmation actuels.