Specifications en Langage Z Chapitre 7
Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement utilise dans la communaute ‘’methodes formelles’’, EU Langage B Annees 90 Z + Concepts OO Ligne de metro a Paris
Specifier en Z Formuler specs en termes abstraits Ensembles/ relations, sans souci de representation/ programmation What vs How Conception independante du langage
Ensembles en Z Types de donnes usuels (sans souci de representation) Types de donnees definis par l’usager CITIZEN DRIVER LICENCE_NUMBER REPLY = yes | No STATUS = InUse | Free | OnHold | OutOfOrder LIGHTS = Green | Orange | Red
Ensembles en Z MAGHREB = TN | DZ | MA | MU | LY homeland: MAGHREB homeland = TN
Power Sets
Power Sets
i: integer; i=10; 5<i<15 vrai 15<i<25 faux i = ‘’hello world’’ illegal
Cardinalite
Structure d’Une Specification en Z
Schemas en Z
Operations sur les Schemas
Substitutions
Conjonction
Delta et Chi
Disjonction
Symboles d’Entrée/ Sortie
Relations en Z Ensemble des Relations de X vers Y: Declaration d’Une relation de X vers Y:
X={0,1} Y={a,b} XxY = {(0,a),(0,b),(1,a),(1,b)} P(XxY)= R est deterministe: chaque element de X a au plus une image. R est totale: chaque element de X a au moins une image.
Fonctions en Z Relations Deterministes: Relations Deterministes et Totales:
Exemple de Specification en Z Gestion d’une bibliotheque Gestion des ressources bibliographiques Gestion des acquisitions Gestion des suppressions (pertes, etc) Gestion des emprunts Gestion des abonnes
Types de donnees
Donnees a maintenir Livres que nous possedons Livres disponibles a l’emprunt Nombre par livre Emprunts Ensemble des abonnes
Declaration de l’espace m: ensembles des abonnes, t: date courante, k: possessions de la bibliotheque r: emprunts s: livres disponibles a l’emprunt
Espace d’etats et Invariants
Initialisation
Acquisition d’un Livre
Acquisition
Abonnement
Acquisition d’un Livre
r: PERSON BOOK q: PERSON P(BOOK) PERSON = {P1, P2, P3, P4} BOOK = {B1, B2, B3} r = {(P1,B1),(P1,B3),(P3,B1),(P3,B2)} q ={ (p1 , {b1,b3}), (p2 , {}), (p3 , {b1,b2}), (p4 , {})}. Quelle est la relation q qui correspond a la meme situation
Initialisation
Abonnement a la bibliotheque
Forme sophistiquee d’abonnement
Ajouter un livre
Minuit
Liste d’Emprunt