Using Z


Book Description

This book contains enough mnaterial for three complete courses of study. It provides an introduction to the world of logic, sets and relations. It explains the use of the Znotation 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. The essentials of specification, refinement and proof are covered, revealing techniques never previously published. Exercises, Solutions and set of Tranparencies are available via http://www.comlab.ox.ac.uk/usingz.html







Larch: Languages and Tools for Formal Specification


Book Description

Building software often seems harder than it ought to be. It takes longer than expected, the software's functionality and performance are not as wonderful as hoped, and the software is not particularly malleable or easy to maintain. It does not have to be that way. This book is about programming, and the role that formal specifications can play in making programming easier and programs better. The intended audience is practicing programmers and students in undergraduate or basic graduate courses in software engineering or formal methods. To make the book accessible to such an audience, we have not presumed that the reader has formal training in mathematics or computer science. We have, however, presumed some programming experience. The roles of fonnal specifications Designing software is largely a matter of combining, inventing, and planning the implementation of abstractions. The goal of design is to describe a set of modules that interact with one another in simple, well defined ways. If this is achieved, people will be able to work independently on different modules, and yet the modules will fit together to accomplish the larger purpose. In addition, during program maintenance it will be possible to modify a module without affecting many others. Abstractions are intangible. But they must somehow be captured and communicated. That is what specifications are for. Specification gives us a way to say what an abstraction is, independent of any of its implementations.




Software Specification Methods


Book Description

This title provides a clear overview of the main methods, and has a practical focus that allows the reader to apply their knowledge to real-life situations. The following are just some of the techniques covered: UML, Z, TLA+, SAZ, B, OMT, VHDL, Estelle, SDL and LOTOS.




The Way of Z


Book Description

A self-contained tutorial on Z for working programmers discussing practical ways to apply formal methods in real projects, first published in 1997.




Introducing Specification Using Z


Book Description

Offering an introduction to formal specification using the Z notation, this practical text makes use of a series of case studies, of varying complexity, to illustrate the construction of good specifications in Z. These case studies serve to describe the most frequently used features of Z, the relevant discrete mathematics and the various techniques used. The text also includes an introduction to specification validation, theorem proving and refinement. The importance of formal methods within software engineering is stressed throughout and there are a large number of exercises with solutions.




An Introduction to Formal Specification and Z


Book Description

Following the sucess of the first edition, the authors have updated and revised this bestselling textbook to take into account the changes in the subject over the past 5 years.




Understanding Formal Methods


Book Description

This is an excellent introduction to formal methods which will bring anyone who needs to know about this important topic up to speed. It is comprehensive, giving the reader all the information needed to explore the field of formal methods in more detail. It offers: a guide to the mathematics required; comprehensive but easy-to-understand introductions to various methods; a run-down of how formal methods can help to develop high-quality systems that come in on time, within budget, and according to requirements.




Formal Specification Using Z


Book Description

This text is about the use of mathematically based techniques for specifying software systems and is designed for computer science or software engineering students studying an introductory course in formal specification. The text focuses on the Z notation. The level of maths required to profit from this text is not very high--the emphasis is on the applications rather than the math itself.