42
Ministre de l'enseignement supérieur et de recherche scientifque Algérie Université Saad Dahled Blida Faculté des sciences Département inormatique Pro et fn semestre !présentation la méthode " Module ! validation ormelle des s#st$mes inormatiques %&FS ( Présenter par : Professeure : Mme!F)")"ahra Mr! B*+,-A.UA Sidahmed Mr! B*/MAB0.U, D amel Mr! Siahoui ,arim Mr! Miraoui A1li /a méthode " 2

La Méthode Z

Embed Size (px)

DESCRIPTION

la methode z validation

Citation preview

La mthode Z

Ministre de l'enseignement suprieur et de la recherche scientifique AlgrieUniversit Saad Dahled BlidaFacult des sciences Dpartement informatiqueProjet fin semestre :prsentation la mthode ZModule : validation formelle des systmes informatiques (VFSI)Prsenter par : Professeure :Mme:F,Z,ZahraMr: BENKHAOUA SidahmedMr: BELMABROUK DjamelMr: Siahoui Karim Mr: Miraoui Akli1La mthode Z2IntroductionLes mthodes informelleLes mthodes semi-formelles Les mthodes formelle Dfinition de la mthode ZStructure du schma ZLes PrdicatsRsume symbole au ZExemple des fonction dans ZRaffinement Exemples dapplicationsVariante Z-objetsBilan et extensionsConclusionReference La mthode ZPant du travail3IntroductionLes mthodes de spcification (conception) des systmes informatiques : Mthodes informelles Mthodes semi-formelles Mthodes formellesLa mthode ZIntroduction 44les mthodes informelle

La mthode Zintroduction 5Les mthodes formels : Des techniques et des outils bass sur les mathmatiques et la logique formelle utilis pour la spcification et la conception des systmes informatiques5les mthodes semi-formelles

La spcification semi-formelle graphique des connaissances avec le langage de Modlisation par Objets Typs (MOT) est une activit qui permet dextrioriser la connaissance sous la forme dun modle.La mthode Zintroduction 6Les mthodes formels : Des techniques et des outils bass sur les mathmatiques et la logique formelle utilis pour la spcification et la conception des systmes informatiques6les spcifications formelle

la spcification formelle donne toujours une description de ce que doit faire le logiciel et non pas comment il doit le faire spcification formelle ces techniques sont formelles puisqu'elles reposent sur les bases mathmatique le but est d'eliminer les ambiguts, les mal entendus et les mouvais interprtation qui prouvent survenir dans la description en langage naturel La mthode Zintroduction 7Les mthodes formels : Des techniques et des outils bass sur les mathmatiques et la logique formelle utilis pour la spcification et la conception des systmes informatiques7Dfinition de la mthode ZA lorigine la mthode Z est dvelopp par lquipe de J.R. Abrial lUniversit dOxford, dans les annes 80.Elle permet dexprimer les proprits souhaitables dun systme en sappuyant sur des rsultats provenant de la thorie des ensembles. Principe de modularit : dcomposition de la spcification en parties de taille raisonnable, (a revoir, ce nest pas tres claire) les schmas, portant sur un seul aspect du systme la fois.

La mthode ZDfinition de la mthode Z88Il y a Deux type daspects a considr Aspects Statiques La partie statique permet de dfinir les tats et les relations dinvariant qui sont prserves lors des transitions detats. Elle est dcrite en Z sous la forme dun schma detat.Aspects Dynamiquesles oprationsles relations entre les entres et les sortiesles changements dtats.La mthode ZSchma Z99SyntaxeUn Schma : unit syntaxique qui comporte trois parties principales: nom, dclarations et prdicats.

La mthode ZSchma ZNomDclarationsPrdicats10Introduit les noms etles types des entitsqui seront utiliss parle schmatablit les relationsentre les entitsdclarsprcdemment10Structure du schma ZDclarations de variable de la forme :< identificateur > : < type >Les prdicats prcisent les proprits des variables et les relations entre variablesUn schma est utilis afin de dcrire un tat ou une oprationLa mthode ZStructure du schma Z1111Dans la description dun tat :Les variables dclares reprsentent les composantes de ltat, Les prdicats expriment les proprits invariantes de ltat.Dans la description dune opration :Les dclarations incluent les composantes de ltat initial et celles de ltat final, ainsi que tous les entres et les sorties de lopration.Les prdicats expriment les relations entre les entres et les sorties, et entre ltat initial et ltat final.

La mthode ZStructure du schma Z1212Les TypesLa mthode ZStructure du schma ZLes Types1313Les PrdicatsLa mthode ZStructure du schma Z Les Prdicats14 Les prdicatsprcisent les propritsdes variableset les relationsentre variables. 14Les Prdicats (Suite)La mthode ZStructure du schma Z Les Prdicats15 Les prdicatsprcisent les propritsdes variableset les relationsentre variables. 15Resume symbole du langage ZLa mthode ZStructure du schma Z Rsume symbole 1616Rsume symbole du langage ZLa mthode ZStructure du schma Z Rsume symbole 1717Raffinement Le raffinement permet de remplacer les types de donnes abstraits dune spcification Z par des types de donnes plus concrets. Le raffinement dun schma dtat est, en outre, accompagne des raffinements des oprations qui modifient ltat du schma raffine. Les oprations sont par consquent a nouveau spcifies en utilisant les nouveaux types de donnes dfinis dans le raffinement du schma du systme.La mthode ZRaffinement18(y a un probleme apr en OUTRE, on devrait mettre un nom pas un verbe) 18

Voici un exemple de spcification formelle utilisant langage Zun systme de gestion pour le dictionnaire de donne utilisant dans lanalyse structure .Les champs de ce dectionnaire sont;NomAllaisOu/comment utilis,Description de continue,Information supplmentaire ,Date de cration,La mthode ZExemples19Exemple dun dictionnaire

(y a un probleme apr en OUTRE, on devrait mettre un nom pas un verbe) 19Exemple dun dictionnaire

Nous tablissons les opration suivant pour le system de gestion Ajouter Ajouter une description de donne dans le dictionnaireliminerEliminer une description de donne du dictionnaireFouillerTrouver une description de donne dans le description dans le dictionnaireRemplacer Remplacer une description de donnes par une autre description

La mthode ZExemples20(y a un probleme apr en OUTRE, on devrait mettre un nom pas un verbe) 20Exemple dun dictionnaire

Nous dfinissons les type qui seront utiliss dans la spcification du dictionnaire Les types dans Z sont dfinis par des ensembles Il existe deux types densemble dans Z:ensemble dfinis explicitement c'est--dire pare numration pour par construction .ensemble de donne c'est--dire dans ensemble indique seulement par des noms .leur dfinitions sont extraites plus tard lors de la conception ou lors de limplmentation .On distingue les ensemble donn par des crochets [ensemble1,ensemble2]

La mthode ZExemples21(y a un probleme apr en OUTRE, on devrait mettre un nom pas un verbe) 21La mthode ZExemples dapplications exemple de dectionnerNous dfinissons les types qui seront utiliss dans la spcification du dectionner :Les schma Z definissant les types peut ressembler a ceci22Les invariant de schma il sont vrai peu import tat des variables Nom,TXT et date sont des ensembles donne ,leurs dfinition exacte seront tablies plus tard Les taile de varaible sont limit a 2 ko22La mthode ZExemples dapplications exemple de dectionnerNous dfinissons maintenant le dictionnaire :23Le dictionnaire de donne est dfini comme une fonction partielle.Cette fonction partielle admet comme domaine le type NOM et comme rang lensemble des valeur du schma DonneEntreeDictionniare.Le dictionnaire est dfini par une fonction partielle puisque tous les noms ne sont pas dans le dictionnaire,Les taile de varaible sont limit a 2 ko23La mthode ZExemples dapplications exemple de dectionnerNous dfinissons maintenant le dectionner ,24Nous exprimons linitialisation du dictionnaire :La notion X (x dcor) signifie ltat de x aprs une opration si x est un schma Z alors tout ses variable sont aussi dcries,Dans notre cas nous crons le schme init_Dectaionnaire pour exprimer la mise en ouvre du dictionnaire Les taile de varaible sont limit a 2 ko24Exemple dun dictionnaire

Dfinissons lopration ajouter pour notre dictionnaire :Dabord ,il y aura erreur si le nom de la donne est dj dans le dictionnaire et le continue du dictionnaire ne sera pas changs Il est recommand de scinder le spcification de lopration ajouter en deux partie:Une partie qui dcrit lopration normale Lautre doit dcrit les situation dexception,La mthode ZExemples25(y a un probleme apr en OUTRE, on devrait mettre un nom pas un verbe) 25La mthode ZExemples dapplications exemple de dectionner26Finalement ,lopration spcifie est la combinaison ces deux parties ,Voici lopration normale de ajouter:Les taile de varaible sont limit a 2 koLe domain d'une terme t, not Dom(t) est l'ensemble {p IN | t(p) est dni}. Si Dom(t) est ni, alors t est un terme ni (dit simplement terme). Si Dom(t) est inni, alors t est un terme inni26La mthode ZExemples dapplications exemple de dictionnaire 27Voici la description des situations exceptionnelles de lopration ajouter ,La combinaison des schmes Ajouter_Ok et Ajouter_Erreur donne la description complte de loperation Les taile de varaible sont limit a 2 ko27Exemple dun dictionnaire

De la mme faon , dfinissons lopration chercher pour notre dictionnaire :Dabord , une erreur est signale si le nom de la donne nest pas dans dictionnaire et le contenu du dictionnaire ne sera pas chang,Encore une fois, il est recommand se scinder la spcification de lopration chercher en deux parties:Une partie qui dcrit lopration normale Lautre doit dcrit les situation dexception La mthode ZExemples28(y a un probleme apr en OUTRE, on devrait mettre un nom pas un verbe) 28La mthode ZExemples dapplications exemple de dectionner29Finalement ,lopration spcifie est la combinaison ces deux parties ,Voici lopration normale de chercher :Les taile de varaible sont limit a 2 ko29La mthode ZExemples dapplications exemple de dictionnaire 30Voici la description des situations exceptionnelles de lopration chercher,La combinaison des schmes Chercher_Ok et Chercher_Erreur donne la description complte de loperation Les taile de varaible sont limit a 2 ko30le Birthday Book est un exemple connu de systme qui permet de retenir les dates danniversaireLa mthode ZExemples dapplicationsDcrire les aspects statiques :

31La premire partie du schma correspond a la dclaration des variables known et birthday. La seconde partie est la dfinition de linvariant. La variable known est ici gale au domaine de la variable birthday.

31le Birthday Book est un exemple connu de systme qui permet de retenir les dates danniversaireLa mthode ZExemples dapplicationsDcrire les aspects dynamiques :lopration AddBirthday permet de rajouter une date danniversaire dans le systme :

32La notation indique que ltat du schma BirthdayBook sera modifi parcette opration. La notation ? signifie que les variables n? et d? sont des paramtres dentre de lopration. Le prdicat n? _ known est la pr condition de lopration. La notation birthday_ indique un changement dtat de la variable birthday par execution de loperation. En loccurrence, loperation a pour effet de rajouter un lment `a la variable birthday. Un paramtre de sortie dune opration est dnot en Z par le nom de la variable suivi dun

32le Birthday Book est un exemple connu de systme qui permet de retenir les dates danniversaireLa mthode ZExemples dapplicationsDcrire les aspects dynamiques :Pour initialiser, un schma InitBirthdayBook est dfini :

3333le Birthday Book est un exemple connu de systme qui permet de retenir les dates danniversaireLa mthode ZExemples dapplicationsDcrire les aspects dynamiques :Puis on fait le raffinement: donc BirthdayBook est raffine par le schma BirthdayBook1

34Ce schma dfinit les nouvelles variables names, dates et hwm. Cette nouvelle spcification est plus concrte, car les variables sont dsormais reprsentes par des tableaux de donnes.

34le Birthday Book est un exemple connu de systme qui permet de retenir les dates danniversaireLa mthode ZExemples dapplicationsDcrire les aspects dynamiques :lopration AddBirthday est raffine par :

35Lopration a les mmes paramtres dentre et de sortie que dans la spcification abstraite. Lajout dune date danniversaire dans le carnet est dsormais spcifi en incrmentant la variable hwm de 1, et en surchargeant les variables names et dates pour complter les tableaux de donnes par le nouveau nom et la nouvelle date respectivement.

35Variant Object-ZObject-Z est une extension du langage Z qui permet de spcifier des systmes dans un style oriente objet. Dans une spcification Z, il est difficile de dterminer les consquences des oprations sur un schma dtat donne, car les schmas dopration peuvent agir sur les tats de plusieurs schmas detat. La notion de classe est introduite pour regrouper dans un mme schma toutes les oprations la concernant.La mthode ZVariant Object-Z36faudrait revoir votre palnt de travail et vos titresur un papier et un stylo36Une classe Object-Z est reprsente par une bote contenant la liste des classes hrites.des dfinitions de types.des dfinitions de constantes.un schma detat.un Schema detat Initial.des schmas dopration.Le schma dtat ne porte gnralement pas de nom dans une classe Object-Z.La mthode ZVariant Object-Z3737Hritage :Lhritage permet a une classe de considrer les dfinitions dune autre classe, (type, constante et les schmas).Instanciation :Linstanciation permet de renommer les variables, les types et les constantes dune classe.

La mthode ZVariant Object-Z38Note : Les deux mcanismes sont gnralement lies.38Exemple :Une classe Queue[T] qui dfinit une file dattente de type FIFOLa mthode ZVariant Object-Z

3939Bilan et extensionsBilanBon complment dune modlisation semi-formelleDocumentation rigoureusePreuve de programmes

La mthode ZBilan et extensions4040Bilan et extensionsExtensionsOutilsSpcification dfensive ou offensiveOrientation objet

La mthode ZBilan et extensions4141ConclusionZ 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 thorique saine; il est complet,i1 combine la precision des mathematiques avec l'elegance d'expression des Lang ges de programmation actuels

La mthode ZConclusion42Parmi toutes les approches tudies, 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 thorique saine; il est complet, c 'esta-dire que les spcifications peuvent tre entirement exprimes 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.

42Merci pour Votre Attention43

Reference [SOMM96] Sommerville,I,,software ebgineering,Harlow,England:Addision-Wesley,1996,[PRES97] Pressman,R,S,Software Engineering-A partionners 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 AnalysCommunication of the ACM,vol,35,no 9,pp,35-45,spt 1992 La mthode Z Reference 4444