SlideShare una empresa de Scribd logo
1 de 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, 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

Más contenido relacionado

La actualidad más candente

BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : CassandraLilia Sfaxi
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
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
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menusLilia Sfaxi
 
Réseaux des neurones
Réseaux des neuronesRéseaux des neurones
Réseaux des neuronesMed Zaibi
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleLilia Sfaxi
 
Cours des bases de données
Cours des bases de données Cours des bases de données
Cours des bases de données yassine kchiri
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataLilia Sfaxi
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1Amal Abid
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsMohamed Heny SELMI
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI Mansouri Khalifa
 

La actualidad más candente (20)

BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
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
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menus
 
Réseaux des neurones
Réseaux des neuronesRéseaux des neurones
Réseaux des neurones
 
Hive ppt (1)
Hive ppt (1)Hive ppt (1)
Hive ppt (1)
 
Clustering
ClusteringClustering
Clustering
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle
 
States machines (1)
States machines (1)States machines (1)
States machines (1)
 
Cours1.pptx
Cours1.pptxCours1.pptx
Cours1.pptx
 
Cours des bases de données
Cours des bases de données Cours des bases de données
Cours des bases de données
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Réseaux de neurones
Réseaux de neurones Réseaux de neurones
Réseaux de neurones
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
Partie2BI-DW2019
Partie2BI-DW2019Partie2BI-DW2019
Partie2BI-DW2019
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes experts
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
 

Destacado

Les entreprises innovantes issues de la recherche publique processus, acteurs...
Les entreprises innovantes issues de la recherche publique processus, acteurs...Les entreprises innovantes issues de la recherche publique processus, acteurs...
Les entreprises innovantes issues de la recherche publique processus, acteurs...Ilyas Azzioui
 
Une question de bon sens
Une question de bon sensUne question de bon sens
Une question de bon sensGentric
 
Rencontre epn2010 ftu
Rencontre epn2010 ftuRencontre epn2010 ftu
Rencontre epn2010 ftuHeus Erik
 
Mod 10 virtual
Mod 10 virtualMod 10 virtual
Mod 10 virtualgabogadosv
 
Presentación tercer ciclo relatos
Presentación tercer ciclo relatosPresentación tercer ciclo relatos
Presentación tercer ciclo relatospilardr8
 
Optimi le référencement de votre site internet
Optimi le référencement de votre site internetOptimi le référencement de votre site internet
Optimi le référencement de votre site internetNeocamino
 
Sopar de professors estiu 2011
Sopar de professors estiu 2011Sopar de professors estiu 2011
Sopar de professors estiu 2011Natzaret
 
Paysages avec effet miroir 01
Paysages avec effet miroir 01Paysages avec effet miroir 01
Paysages avec effet miroir 01DeVeT
 
Bilan intermédiaire 18 mois
Bilan intermédiaire 18 moisBilan intermédiaire 18 mois
Bilan intermédiaire 18 moisidemocratic
 
La plus grande grotte du monde
La plus grande grotte du mondeLa plus grande grotte du monde
La plus grande grotte du mondeMircea Tivadar
 
吉爾伯特羅格朗的雕塑 Gilbert legrand sculptures
吉爾伯特羅格朗的雕塑 Gilbert legrand sculptures吉爾伯特羅格朗的雕塑 Gilbert legrand sculptures
吉爾伯特羅格朗的雕塑 Gilbert legrand sculpturesahung54
 
CAHIER DE JEUX DEFENSE
CAHIER DE JEUX DEFENSECAHIER DE JEUX DEFENSE
CAHIER DE JEUX DEFENSEBFLLEVEL1
 

Destacado (20)

Les entreprises innovantes issues de la recherche publique processus, acteurs...
Les entreprises innovantes issues de la recherche publique processus, acteurs...Les entreprises innovantes issues de la recherche publique processus, acteurs...
Les entreprises innovantes issues de la recherche publique processus, acteurs...
 
Une question de bon sens
Une question de bon sensUne question de bon sens
Une question de bon sens
 
Rencontre epn2010 ftu
Rencontre epn2010 ftuRencontre epn2010 ftu
Rencontre epn2010 ftu
 
Oracionnavide a
Oracionnavide aOracionnavide a
Oracionnavide a
 
Mod 10 virtual
Mod 10 virtualMod 10 virtual
Mod 10 virtual
 
Clase 3
Clase 3Clase 3
Clase 3
 
Presentación tercer ciclo relatos
Presentación tercer ciclo relatosPresentación tercer ciclo relatos
Presentación tercer ciclo relatos
 
Le paysage de la recherche en France, par Daniel Steinmetz
Le paysage de la recherche en France, par Daniel SteinmetzLe paysage de la recherche en France, par Daniel Steinmetz
Le paysage de la recherche en France, par Daniel Steinmetz
 
Optimi le référencement de votre site internet
Optimi le référencement de votre site internetOptimi le référencement de votre site internet
Optimi le référencement de votre site internet
 
Sopar de professors estiu 2011
Sopar de professors estiu 2011Sopar de professors estiu 2011
Sopar de professors estiu 2011
 
Paysages avec effet miroir 01
Paysages avec effet miroir 01Paysages avec effet miroir 01
Paysages avec effet miroir 01
 
Carrières
CarrièresCarrières
Carrières
 
Recherche, Industrie et Emploi, par Sylvain DELAITRE
Recherche, Industrie et Emploi, par Sylvain DELAITRERecherche, Industrie et Emploi, par Sylvain DELAITRE
Recherche, Industrie et Emploi, par Sylvain DELAITRE
 
Données economiques Capgemeni 2015
Données economiques Capgemeni 2015Données economiques Capgemeni 2015
Données economiques Capgemeni 2015
 
Mod4virtual
Mod4virtualMod4virtual
Mod4virtual
 
Clase #3 de excel i
Clase #3 de excel iClase #3 de excel i
Clase #3 de excel i
 
Bilan intermédiaire 18 mois
Bilan intermédiaire 18 moisBilan intermédiaire 18 mois
Bilan intermédiaire 18 mois
 
La plus grande grotte du monde
La plus grande grotte du mondeLa plus grande grotte du monde
La plus grande grotte du monde
 
吉爾伯特羅格朗的雕塑 Gilbert legrand sculptures
吉爾伯特羅格朗的雕塑 Gilbert legrand sculptures吉爾伯特羅格朗的雕塑 Gilbert legrand sculptures
吉爾伯特羅格朗的雕塑 Gilbert legrand sculptures
 
CAHIER DE JEUX DEFENSE
CAHIER DE JEUX DEFENSECAHIER DE JEUX DEFENSE
CAHIER DE JEUX DEFENSE
 

Similar a La méthode z validation

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
 
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
 
Cours rep etat
Cours rep etatCours rep etat
Cours rep etatLin Pepin
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCSiratiSoufiane
 
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
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objetsAziz Darouichi
 
Coursbase de donnees relationnelle sql server
Coursbase de donnees relationnelle sql serverCoursbase de donnees relationnelle sql server
Coursbase de donnees relationnelle sql serverLahcensabir2
 
Les Structures de données
Les Structures de donnéesLes Structures de données
Les Structures de donnéesHichem Kemali
 

Similar a La méthode z validation (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
 
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
 
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
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Cours rep etat
Cours rep etatCours rep etat
Cours rep etat
 
langage C++
langage C++langage C++
langage C++
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 
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
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
 
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
 
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
 

Último

SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 

Último (20)

SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 

La méthode z validation

  • 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, 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

Notas del editor

  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.