Preface.- Part I - Refining Z Specifications.- An Introduction to Z.- Simple Refinement.- Data Refinement and Simulations.- Refinement in Z.- Calculating Refinements.- Promotion.- Testing and Refinement.- A Single Simulation Rule.- Part II - Interfaces and Operations: ADTs Viewed in an Environment.- Refinement, Observation and Modification.- IO Refinement.- Weak Refinement.- Non-Atomic Refinement.- Case Study: A Digital and Analogue Watch.- Further Generalisations.- Part III - Object-Oriented Refinement.- An Introduction to Object Z.- Refinement in Object-Z.- Class Refinement.- Part IV - Modelling State and Behaviour.- Combining CSP and Object-Z.- Refining CSP and Object-Z Specifications.- Conclusions.- Glossary of Notation.- Index.
Refinement is one of the cornerstones of the formal approach to software engineering, and its use in various domains has led to research on new applications and generalisation. This book brings together this important research in one volume, with the addition of examples drawn from different application areas. It covers four main themes:Data refinement and its application to Z
Generalisations of refinement that change the interface and atomicity of operations
Refinement in Object-Z
Modelling state and behaviour by combining Object-Z with CSP
Refinement in Z and Object-Z: Foundations and Advanced Applications provides an invaluable overview of recent research for academic and industrial researchers, lecturers teaching formal specification and development, industrial practitioners using formal methods in their work, and postgraduate and advanced undergraduate students.
This second edition is a comprehensive update to the first and includes the following new material:Early chapters have been extended to also include trace refinement, based directly on partial relations rather than through totalisation
Provides an updated discussion on divergence, non-atomic refinements and approximate refinement
Includes a discussion of the differing semantics of operations and outputs and how they affect the abstraction of models written using Object-Z and CSP
Presents a fuller account of the relationship between relational refinement and various models of refinement in CSP
Bibliographic notes at the end of each chapter have been extended with the most up to date citations and research
The most comprehensive text on refinement in state based systems
Includes detailed explanations and a wide range of illustrative examples, perfect for use as an advanced Under-Graduate or Masters textbook
With extensive bibliographical notes, now updated to 2013 state of the art