Abstract
The increasing demand for high integrity and safety critical systems is giving the development of formal methods for software production a high priority. A large number of different approaches to specifying, developing and implementing systems have been devised, however, despite this widespread (but mainly academic) research, formal methods are still very rarely used in industrial practice. This failure can be attributed to a number of causes, among them the inability of the techniques to scale easily to industrial sized problems.
This paper proposes an approach to specification that helps alleviate the problems of scalability by providing a strong separation between parts of a specification, allowing their independent refinement, and hence allowing refinements of the total specification to be produced relatively cheaply. The separation is provided by producing specifications as a set of objects, each of which is described by two specifications, an algebraic export specification and a model oriented body specification. The export describes the object to those who will use it, while the body specification will form the basis of subsequent refinement and implementation.
This approach to specification provides a framework within which to specify and develop software. We describe relationships within this framework for which we must be able to derive and discharge relevant proof obligations in order to verify the specifications. In particular we describe the refinement relation between the object’s export and body specifications, the substitution relation implied when we use one object within another, and the composition relation which allows us to correctly combine a set of objects to form a complete system.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
D Neilson, “From Z to C: A Rigorous Refinement Method for Z.”, D.Phil. Thesis, Programming Research Group, Oxford University (1990).
M C Atkins, Implementation Techniques for Object Oriented Systems, D hil Thesis, University of York (1989).
C Morgan, Programming from Specifications,Prentice Hall International (1990).
Carrington D, Duke D, Duke R, King P, Rose G and Smith G, Object-Z: An Object-Oriented Extension to Z, FORTE. 89 (December 1989).
A Hall, “Using Z as a Specification Calculus for Object Oriented Sytems”, in Proceedings of VDM-90, Springer-Verlag (1990).
Schuman S A and Pitt D H, “Object Oriented Subsystem Specification”, pp. 313–341 in Program Specification and Transformation, ed. Meertens L G L T, North Holland (1985).
Bartussek W and Parnas D, “Using Assertions About Traces to Write Abstract Specifications fo Software Modules”, pp. 111–130 in Software Specification Techniques, ed. Gehani N and McGettrick A D (1985).
Parnas D L and Wang Y, “The Trace Assertion Method of Module Interface Specification”, Technical Report 89–261, Queen’s University, Ontario (1989).
D Neilson, “Hierarchical Refinement of A Z Specification”, in The Theory and Practice of Refinement, ed. J A McDermid, Butterworth Scientific (1989).
C B Jones, “Development Methods for Computer Programs including a Notion of Interference”, D.Phil. Thesis, Programming Research Group, Oxford University (1981).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Whysall, P.J., McDermid, J.A. (1991). Object Oriented Specification and Refinement. In: Morris, J.M., Shaw, R.C. (eds) 4th Refinement Workshop. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3756-6_9
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3756-6_9
Publisher Name: Springer, London
Print ISBN: 978-3-540-19657-0
Online ISBN: 978-1-4471-3756-6
eBook Packages: Springer Book Archive