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

49
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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

}

)},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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Abonnement

Personne presentee est deja abonnee. Elle ne l’est pas.

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.

Abonnement Normal

dejaAbonnenormalmsg

PERSONa

Library

|:!

:?

rrkksstt

normalmsg

amm

ma

',',','

!

?}{'

?

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.

Abonnement Exceptionnel

dejaAbonnenormalmsg

PERSONa

Library

|:!

:?

dejaAbonnemsg

ma

!

?

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.

Abonnement

Abonnement = AbonnementNormal AbonnementExceptionnel

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.

Emprunt

Variables d’entrée: abonne a?, livre b? Variables de sortie: msg! Cas:

a? n’est pas abonne b? n’est pas disponible Emprunt normal

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.

NonAbonne

malEmpruntNorsponiblelivreNonDinonAbonnemsg

BOOKb

PERSONa

Library

||:!

:?

:?

nonAbonnemsg

ma

!

?

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.

NonDisponible

malEmpruntNorsponiblelivreNonDinonAbonnemsg

BOOKb

PERSONa

Library

||:!

:?

:?

sponiblelivreNonDimsg

bs

!

0?)(

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.

EmpruntNormal

malEmpruntNorsponiblelivreNonDinonAbonnemsg

BOOKb

PERSONa

Library

||:!

:?

:?

)()(':?)},?,{(?)(?)('

)()(':?,1?)(?)('

',','

!

0?)(

?

araraatbarar

bsbsbbbsbs

kkttmm

malEmpruntNormsg

bs

ma

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.

Emprunt

Emprunt = NonAbonne livreNonDisponible EmpruntNormal

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

Elimination d’un Livre

Je ne possede pas le livre Je l’ai perdu J’en dispose.

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

Abonnement Exceptionnel

dejaAbonnenormalmsg

PERSONa

Library

|:!

:?

dejaAbonnemsg

ma

!

?

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

Abonnement Exceptionnel

dejaAbonnenormalmsg

PERSONa

Library

|:!

:?

dejaAbonnemsg

ma

!

?

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

Acquisition d’un Livre

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

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 44: Specifications en Langage Z Chapitre 7. Langage Z (Zed) Jean Raymond Abrial  Annees 70  Oxford University  Base sur les ensembles et les relations.

Initialisation

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

Abonnement a la bibliotheque

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

Forme sophistiquee d’abonnement

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

Ajouter un livre

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

Minuit

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

Liste d’Emprunt