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
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 Entrée: ? Sortie: !
Relations en Z Ensemble des Relations de X vers Y: Declaration d’Une relation de X vers Y:
Ensemble de Relations
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
Declarations
Library
Initialisation
AddBook
AddSubscriber NormalAddSubscriber ExceptionalAddSubscriber
NormalAddSubscriber
ExceptionalAddSubscriber
AddSubscriber
BorrowBook Borrower is not a subscriber Book is not available NormalBorrow
NotASubscriber
NotAvailable
NormalBorrow
BorrowBook
Operations ReturnBook DeleteBook BorrowList Midnight
BorrowList: liste des livres empruntes par un abonne, avec dates d’emprunt
NormalBorrowList
Types de donnees
Declaration de l’espace m: ensembles des abonnes, t: date courante, k: possessions de la bibliotheque r: emprunts
Initialisation
Abonnement a la bibliotheque
Forme sophistiquee d’abonnement
Ajouter un livre
Minuit
Liste d’Emprunt