Selasa, 26 Januari 2010

Using Z: Specification, Refinement, and Proof (Prentice Hall International Series in Computer Science)


Using Z: Specification, Refinement, and Proof (Prentice Hall International Series in Computer Science)


By Jim Woodcock, Jim Davies
Publisher:   Prentice Hall
Number Of Pages:   388
Publication Date:   1996-07
ISBN-10 / ASIN:   0139484728
ISBN-13 / EAN:   9780139484728


Product Description:


This book contains enough material for three complete courses of study. It provides an introduction to the world of logic, sets and relations. It explains the use of the Z notation in the specification of realistic systems. It shows how Z specifications may be refined to produce executable code; this is demonstrated in a selection of case studies. This book is both authoritative and comprehensive.
It strikes the right balance between the formality of mathematics and the practical needs of industrial software development. It is faithful to the draft ISO standard for Z. The essentials of specification, refinement and proof are covered, revealing techniques never previously published.


This is the first book to cover the three important areas of using the Z notation -- specification, rigorous and formal proof, and refinement into code. It covers sequences, schemas, promotion, preconditions, a logic for Z, sample theorems, data refinement, algorithm development, and more. The book is divided into six parts: --- Introduction     Chapter 1 explains the use of formal methods, and introduces the Z notation. The authors discuss the importance of proof and explain what makes a good specification. --- Logic     Chapters 2 to 4 are an introduction to mathematical logic. The authors explain both propositional and predicate calculus, and introduce the concepts of equality and definite description. --- Relations     Chapters 5 to 10 cover sets and relations. The authors show how to specify objects, and relationships between them, using pieces of mathematics. They show also how the mathematical logic of Chapters 2 to 4 can be used to reason about specifications. --- Schemas     Chapters 11 to 14 introduce the schema language. The authors explain how schemas can be used to structure a specification, using logical combinators, sequential composition, and promotion. They present techniques for checking for logical consistency. --- Refinement     Chapters 16 to 19 are concerned with refinement. The authors formulate a theory of refinement within the relational calculus, and extend it to cover specifications involving schemas. They then show how a concrete design may be refined to produce executable code. --- Case Studies     Chapter 15 and Chapters 20 to 23 contain case studies in specification and refinement. These case studies show how the Z notation can be used to produce an abstract specification, a concrete design, and a programming language implementation. Summary: Well-Written Z Book, easy to read, great course book. Rating: 4
It was my course book during my MSc Studies and the lecturer was one of the book writers (Jim Woodcock). Regardless, I found the book very easy to read, and it inspired me to work with formal methods. All chapters have examples and the reader can use them to learn the basics of the Z notation. By the end of the book you will be ready to write any Z code. It is not a Z book in practice or a Z book only for beginners, but a very good course and reference book.


Summary: No wonder Z has such a small following Rating: 2
This book promises me three important areas of using the Z notation: specification, rigorous and formal proof, and refinement into code. My problem with this book is twofold. First, learning Z is no easy task. This book does a satisfactory job convincing the reader of the wonderful benefits of formal specifications, and dives into using the notation with examples. For my purposes, I found the examples limited and lacking in certain respects. Overall, the book was unable to convey the wisdom and semantics of "Using Z" to me.


password:rememberingyou


Tidak ada komentar:

Posting Komentar