Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford...

38
Specifications en Langage Z Chapitre 7

Transcript of Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford...

Page 1: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Specifications en Langage Z

Chapitre 7

Page 2: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Langage Z (Zed)

Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement utilise dans la communaute

‘’methodes formelles’’, EULangage B Annees 90 Z + Concepts OO Ligne de metro a Paris

Page 3: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Specifier en Z

Formuler specs en termes abstraits Ensembles/ relations, sans souci de

representation/ programmation What vs How Conception independante du langage

Page 4: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

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

Page 5: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Ensembles en Z

MAGHREB = TN | DZ | MA | MU | LY homeland: MAGHREB homeland = TN

Page 6: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Power Sets

}}.,,{},,}{,{},,{},{},{},{{{},

},,{

cbacbcabacba

cbaS

P(S)

Page 7: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Power Sets

};,{Pr{};Pr

).(Pr

LYDZoducersOiloducersOIL

MAGHREBPoducersOil

..Pr

..Pr

..Pr

..Pr

}.,{Pr

wrongoducersOilDZ

wrongoducersOilEG

falseoducersOilTN

trueoducersOilDZ

LYDZoducersOil

Page 8: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

i: integer; i=10; 5<i<15 vrai 15<i<25 faux i = ‘’hello world’’ illegal

Page 9: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Cardinalite

.2)(#

.1}Pr{#

.2Pr#

.1{{}}#

.0}{#

.0{}#

#SSP

oducersOil

oducersOil

a

Page 10: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Structure d’Une Specification en Z

Page 11: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Schemas en Z

Page 12: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Operations sur les Schemas

Page 13: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Substitutions

Page 14: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Conjonction

Page 15: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Delta et Chi

Page 16: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Disjonction

Page 17: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Symboles d’Entrée/ Sortie

Entrée: ? Sortie: !

Page 18: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Relations en Z

Ensemble des Relations de X vers Y:

Declaration d’Une relation de X vers Y:

Page 19: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

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.

Page 20: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

}

)},1(),,1(),,0(),,0{(

)},,1(),,0(),,0)}{(,1(),,0(),,0{(

)},1(),,1(),,0{()},,1(),,1(),,0{(

)},,1(),,0{()},,1(),,0{(

)},,1(),,0{()},,1(),,0{(

)},,1(),,1{()},,0(),,0{(

)},,1{()},,1{()},,0{()},,0{(

{},

{)(

)}.,1(),,1(),,0(),,0{(}.,{}.1,0{

baba

ababba

baabab

baab

bbaa

baba

baba

YXP

babaYXbaYX

Page 21: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Fonctions en Z

Relations Deterministes:

Relations Deterministes et Totales:

Page 22: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

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

Page 23: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Types de donnees

Page 24: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Donnees a maintenir

Livres que nous possedons Livres disponibles a l’emprunt Nombre par livre Emprunts Ensemble des abonnes

Page 25: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Declaration de l’espace

m: ensembles des abonnes, t: date courante, k: possessions de la bibliotheque r: emprunts s: livres disponibles a l’emprunt

Page 26: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Espace d’etats et Invariants

))((:

:

:

:

)(:

DATEBOOKPPERSONr

naturalBOOKs

naturalBOOKk

DATEt

PERSONPm

Page 27: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Initialisation

DATEtoday

Library

:?

}|{}),{('

}|)0,{('

}|)0,{('

?'

{}'

PERSONppr

BOOKbbs

BOOKbbk

todayt

m

Page 28: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Acquisition d’un Livre

Page 29: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Acquisition

BOOKb

Library

:?

)()(':?

1?)(?)('

)()(':?

1?)(?)('

',','

bsbsbb

bsbs

bkbkbb

bkbk

rrttmm

Page 30: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Abonnement

BOOKb

Library

:?

)()(':?

1?)(?)('

)()(':?

1?)(?)('

',','

bsbsbb

bsbs

bkbkbb

bkbk

rrttmm

Page 31: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Acquisition d’un Livre

Page 32: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

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

Page 33: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Initialisation

Page 34: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Abonnement a la bibliotheque

Page 35: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Forme sophistiquee d’abonnement

Page 36: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Ajouter un livre

Page 37: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Minuit

Page 38: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial Annees 70 Oxford University Base sur les ensembles et les relations Largement.

Liste d’Emprunt