Formal Object Oriented Specification Using Object-Z


Book Description

This book presents techniques for the precise description of software or systems using the object-oriented formal specification language, Object-Z. It includes numerous and varied case studies to illustrate the techniques and language of object-oriented formal specification and illustrates the key role of formal specification in formal verification and in implementation. Although primarily intended for safety-critical or complex software development, formal specification also has wide application in hardware or general system description. A practical and rigorous approach to object-oriented formal specification. Introduces Object-Z. Illustrates the key role of formal specification in formal verification by inclusion of example proofs of correctness.




The Object-Z Specification Language


Book Description

Object-Z is an object-oriented extension of the formal specification language Z. It adds to Z notions of classes and objects, and inheritance and polymorphism. By extending Z's semantic basis, it enables the specification of systems as collections of independent objects in which self and mutual referencing are possible. The Object-Z Specification Language presents a comprehensive description of Object-Z including discussions of semantic issues, definitions of all language constructs, type rules and other rules of usage, specification guidelines, and a full concrete syntax. It will enable you to confidently construct Object-Z specifications and is intended as a reference manual to keep by your side as you use and learn to use Object-Z. The Object-Z Specification Language is suitable as a textbook or as a secondary text for a graduate-level course, and as a reference for researchers and practitioners in industry.




Formal Object-Oriented Development


Book Description

Formal Object-Oriented Development provides a comprehensive overview of the use of formal object-oriented methods; it covers how and where they should be introduced into the development process, how they can be introduced selectively for critical parts of an application, and how to incorporate them effectively into existing deveopmental practices. The text is extensively illustrated, both with tutorial and self-assessment excercises and with examples of industrial applications from the reactive systems domain. This book will be of interest to academic and industrial researchers, software engineering practitioners and consultants, and will also provide invaluable reading material for students learning Z++ and VDM++.




Formal Specification in Object-Z


Book Description

First half of this report is concerned with a description of the syntax and informal semantics of Object-Z. To describe the relevant ideas we work through a specification of the familiar object-oriented 'shapes' example. In the second half of.




ZUM '95: The Z Formal Specification Notation


Book Description

This book presents the proceedings of the 9th International Conference of Z Users, ZUM '95, held in Limerick, Ireland in September 1995. The book contains 34 carefully selected papers on Z, using Z, applications of Z, proof, testing, industrial usage, object orientation, animation of specification, method integration, and teaching formal methods. Of particular interest is the inclusion of an annotated Z bibliography listing 544 entries. While focussing on Z, by far the most commonly used "formal method" both in industry and application, the volume is of high relevance for the whole formal methods community.




The Object-Z Specification Language


Book Description

Object-Z is an object-oriented extension of the formal specification language Z. It adds to Z notions of classes and objects, and inheritance and polymorphism. By extending Z's semantic basis, it enables the specification of systems as collections of independent objects in which self and mutual referencing are possible. The Object-Z Specification Language presents a comprehensive description of Object-Z including discussions of semantic issues, definitions of all language constructs, type rules and other rules of usage, specification guidelines, and a full concrete syntax. It will enable you to confidently construct Object-Z specifications and is intended as a reference manual to keep by your side as you use and learn to use Object-Z. The Object-Z Specification Language is suitable as a textbook or as a secondary text for a graduate-level course, and as a reference for researchers and practitioners in industry.







ZB 2000: Formal Specification and Development in Z and B


Book Description

This book constitutes the refereed proceedings of the First International Conference of B and Z Users, ZB 2000, held in York, UK in August/September 2000. The 25 revised full papers presented together with four invited contributions were carefully reviewed and selected for inclusion in the book. The book documents the recent advances for the Z formal specification notion and for the B method; the full scope, ranging from foundational and theoretical issues to advanced applications, tools, and case studies, is covered.




ZUM '98: The Z Formal Specification Notation


Book Description

1 In a number of recent presentations – most notably at FME’96 –oneofthe foremost scientists in the ?eld of formal methods, C.A.R. Hoare,has highlighted the fact that formal methods are not the only technique for producing reliable software. This seems to have caused some controversy,not least amongst formal methods practitioners. How can one of the founding fathers of formal methods seemingly denounce the ?eld of research after over a quarter of a century of support? This is a question that has been posed recently by some formal methods skeptics. However, Prof. Hoare has not abandoned formal methods. He is reiterating, 2 albeitmoreradically,his1987view thatmorethanonetoolandnotationwillbe requiredinthepractical,industrialdevelopmentoflarge-scalecomplexcomputer systems; and not all of these tools and notations will be, or even need be, formal in nature. Formalmethods arenotasolution,butratheroneofaselectionoftechniques that have proven to be useful in the development of reliable complex systems, and to result in hardware and software systems that can be produced on-time and within a budget, while satisfying the stated requirements. After almostthree decades,the time has come to view formalmethods in the context of overall industrial-scale system development, and their relationship to othertechniquesandmethods.Weshouldnolongerconsidertheissueofwhether we are “pro-formal” or “anti-formal”, but rather the degree of formality (if any) that we need to support in system development. This is a goal of ZUM’98, the 11th International Conference of Z Users, held for the ?rst time within continental Europe in the city of Berlin, Germany.




Refinement in Z and Object-Z


Book Description

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