Programming from specifications
Programming from specifications
Handbook of theoretical computer science (vol. B)
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
The Object-Z specification language
The Object-Z specification language
On the inevitable intertwining of specification and implementation
Communications of the ACM
Refinement in Z and object-Z: foundations and advanced applications
Refinement in Z and object-Z: foundations and advanced applications
Data Refinement: Model-Oriented Proof Methods and Their Comparison
Data Refinement: Model-Oriented Proof Methods and Their Comparison
Goal-directed elaboration of requirements for a meeting scheduler: problems and lessons learnt
RE '95 Proceedings of the Second IEEE International Symposium on Requirements Engineering
Evolution: A More Practical Approach than Refinement for Software Development
ICECCS '97 Proceedings of the Third IEEE International Conference on Engineering of Complex Computer Systems
Engineering and theoretical underpinnings of retrenchment
Science of Computer Programming
Towards More Flexible Development of Z Specifications
TASE '08 Proceedings of the 2008 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering
A Minimal Set of Refactoring Rules for Object-Z
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Proving temporal properties of Z specifications using abstraction
ZB'03 Proceedings of the 3rd international conference on Formal specification and development in Z and B
Model checking z specifications using SAL
ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
Hi-index | 0.00 |
Formal specifications of software systems need to evolve in many ways during system development. Not only are changes required to refine the specification toward an implementation, they are also required in response to changes in requirements, or to incorporate different aspects of the system, e.g., fault tolerance or timing, initially ignored in order to simplify reasoning. This paper presents an approach for evolving Z specifications by the step-wise application of a number of simple rules. These rules not only document the evolution of the specification, but also make precise how properties of the system evolve with the specification. Hence, reasoning about these properties performed on the original specification need not be repeated on the new specification.