Formal Methods and Models

22
Formal Methods and Models Z Specification of the Library System Boumediene Belkhouche Fall 2012 1

description

Formal Methods and Models. Z Specification of the Library System Boumediene Belkhouche Fall 2012. Library System Description. The library has many books on different topics The library has registered readers A book may have several copies Each copy in the library has a unique ID - PowerPoint PPT Presentation

Transcript of Formal Methods and Models

Page 1: Formal Methods and Models

1

Formal Methods and Models

Z Specification of the Library System

Boumediene BelkhoucheFall 2012

Page 2: Formal Methods and Models

2

Library System Description The library has many books on different topics The library has registered readers A book may have several copies Each copy in the library has a unique ID Each reader has a unique ID At any time a certain number of copies of books are

on loan to readers A reader cannot borrow more than a certain

maximum Available books are kept on the library shelves A book can be borrowed or returned When a book is returned, it is put back on the shelf

Page 3: Formal Methods and Models

3

Library System Operations Issue a copy of a book to a reader (borrow) Return a copy of a borrowed book by the

reader Add a copy of a book to the library Remove a copy of a book from the library Enquire which books are borrowed by a

given reader Enquire which reader has a given book Register a new reader Remove an existing reader

Page 4: Formal Methods and Models

4

A Z Specification Consists of 4 parts

Given sets, data types and constants

State definition Initial state Operations

Page 5: Formal Methods and Models

5

Z Specification of the Library1. Given Sets [Book, Copy, Reader]

NB. Symbols used:

⇸ ↦ Ξ ∀ × → Δ ≠ ∧ ∨ ∉ ∈ ∃ ℤ ℕ ℙ ℝ ∅ ≙

Page 6: Formal Methods and Models

6

Z Specification of the Library2. State definition

Librarystock: Copy ⇸ Bookissued: Copy ⇸ Readershelved: Copyreaders: Reader

shelved dom issued = dom stockshelved dom issued = ran issued readers∀ r : readers #(issued {r}) maxloans

Page 7: Formal Methods and Models

7

Explanationsstock records copies of books in the libraryissued records which copies are on loan and

to whomshelved is a subset of the copies on the

shelves and available for borrowingreaders is the set of registered readers

Page 8: Formal Methods and Models

8

Z Specification of the Library3. Initial State Library_Init

ΔLibrary

shelved’ = Ø issued’ = Ø readers’ = Ø

Page 9: Formal Methods and Models

9

Page 10: Formal Methods and Models

10

Symbols used:

⇸ ↦ Ξ ∀ × → Δ ≠ ∧ ∨ ∉ ∈ ∃ ℤ ℕ ℙ ℝ ∅ ≙ : Teacher-Course {ITBP120} tuples whose second element is “ITBP120” are

returned. : { bb } Teacher-Course tuples whose first element is “bb” are returned. : dir {num?}tuples whose second element is “num?” are

removed. : {name?} dir tuples whose first element is “name?” are removed.

Page 11: Formal Methods and Models

11

Function override operator

Function override adds pairs from f1 to f2 such that it:

acts as a domain subtraction and a set union, if any element of f2 is mapped anywhere by f1,{Noura ΠprojectA } {Noura ΠnewProj}

=({Noura } studentproject) {Noura ΠnewProj}

Page 12: Formal Methods and Models

12

Z Specification of the Library4. Operations

WcopiesOK Library

c! : Copy r? : Reader r? ∈ readers

c! = dom (issued {r?})

Restricts range to only those elements of the argument

Page 13: Formal Methods and Models

13

Z Specification of the Library4. Operations

RemoveCopyOK Library c? : Copy

c? ∈ shelved shelved’ = shelved \ {c?}stock’ = {c?} stock

Restricts the domain to only those elements not equal to the argument

Page 14: Formal Methods and Models

14

Z Specification of the Library4. Operations

Borrow Library

c? : Copy r? : Reader c? ∈ shelved r? ∈ readers

# (issued {r?}) maxloansissued’ = issued {c? ↦ r?}

shelved’ = shelved {c?}stock’ = stock; readers’ = readers

Page 15: Formal Methods and Models

15

Z Specification of the Library4. Operations

Return Library

c? : Copy r? : Reader c? ∈ dom issued r? ∈ readers

issued’ = issued {c? ↦ r?} shelved’ = shelved {c?}

stock’ = stock; readers’ = readers

Page 16: Formal Methods and Models

16

A Z Specification for the Library IS4. Operations

WhoHasCopy Ξ Library

c? : Copy; r! : Reader

c? ∈ dom issued r! = issued (c?)

Page 17: Formal Methods and Models

17

Z Specification of the Library4. Operations

RegisterReader Library r? : Reader

r? ∉ readers readers’ = reader {r?}

Page 18: Formal Methods and Models

18

Z Specification of the Library4. Operations

RemoveReader Library r? : reader

r? ∈ readers readers’ = reader {r?}

What if r? has borrowed books?

Page 19: Formal Methods and Models

19

Z Specification of the Library4. Operations

AddCopyReport Ξ Library stock: Copy ⇸ Book b? : Book rep! : Report

b? ∈ ran stock rep! = CopyAdded b? ∉ ran stock rep! = NewTitleAdded

Page 20: Formal Methods and Models

20

Z Specification of the Library4. Operations

EnterNewCopy Library b? : Book

c: Copy c ∉ dom stock stock’ = stock {c ↦ b?} shelved’ = shelved {c}issued’ = issued; readers’ = readers

Page 21: Formal Methods and Models

21

Z Specification of the Library4. Operations

AddCopy ≙ EnterNewCopy ∧ CopyReport

Page 22: Formal Methods and Models

22

Z Specification of the Library4. Operations

Execise: do1. Which books a reader has2. Remove a copy from the library