1 / 22

Formal Methods and Models

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

xanthe
Download Presentation

Formal Methods and Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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

  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

  4. A Z Specification Consists of 4 parts • Given sets, data types and constants • State definition • Initial state • Operations

  5. Z Specification of the Library • Given Sets [Book, Copy, Reader] NB. Symbols used: • ⇸ ↦ Ξ ∀  × → Δ ≠ ∧ ∨ ∉ ∈ ∅ ∃ ℤ ℕ ℙ ℝ ≙ •    •    

  6. Z Specification of the Library • State definition Library stock: Copy⇸Book • issued: Copy ⇸ Reader shelved:  Copy readers:Reader shelved  dom issued = dom stock shelved  dom issued =  ran issued  readers ∀ r : readers  #(issued  {r})  maxloans

  7. Explanations • stock records copies of books in the library • issued records which copies are on loan and to whom • shelved is a subset of the copies on the shelves and available for borrowing • readers is the set of registered readers

  8. Z Specification of the Library 3. Initial State Library_Init ΔLibrary shelved’ = Ø issued’ = Ø readers’ = Ø

  9. 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. • 

  10. 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}

  11. Z Specification of the Library Operations WcopiesOK  Library c! :  Copy r? : Reader r? ∈ readers c! = dom (issued  {r?})  Restricts range to only those elements of the argument

  12. Z Specification of the Library • 4. 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

  13. Z Specification of the Library Operations Borrow  Library c? : Copy r? : Reader c? ∈ shelved r? ∈ readers # (issued  {r?})  maxloans issued’ = issued  {c? ↦ r?} shelved’ = shelved  {c?} stock’ = stock; readers’ = readers

  14. Z Specification of the Library Operations Return  Library c? : Copy r? : Reader c? ∈dom issued r? ∈ readers issued’ = issued  {c? ↦ r?} shelved’ = shelved  {c?} stock’ = stock; readers’ = readers

  15. A Z Specification for the Library IS Operations WhoHasCopy Ξ Library c? : Copy; r! : Reader c? ∈dom issued r! = issued (c?)

  16. Z Specification of the Library • 4. Operations RegisterReader  Library r? : Reader r? ∉ readers readers’ = reader {r?}

  17. Z Specification of the Library • 4. Operations RemoveReader  Library r? : reader r? ∈ readers readers’ = reader {r?} What if r? has borrowed books?

  18. Z Specification of the Library • 4. Operations AddCopyReport Ξ Library stock: Copy⇸Book b? : Book rep! : Report • b? ∈ ran stock  rep! = CopyAdded b? ∉ ran stock  rep! = NewTitleAdded

  19. Z Specification of the Library • 4. Operations EnterNewCopy  Library b? : Book c: Copy c ∉ dom stock  stock’ = stock  {c ↦ b?} shelved’ = shelved  {c} issued’ = issued; readers’ = readers

  20. Z Specification of the Library • 4. Operations AddCopy≙EnterNewCopy∧CopyReport

  21. Z Specification of the Library • 4. Operations Execise: do • Which books a reader has • Remove a copy from the library

More Related