Abstract
In this paper we present a rigorous refinement method that transforms a hierarchically-structured Z specification into a correct implementation, using a set of transformation rules based on the pre- and post-conditions inherent in the specification language. The method allows for the full testing of each hierarchy of the specification, facilitating the early detection of specification error, and provides for a clear indication of the effect of specification change on the implementation, simplifying the task of program maintenance. The paper is based on the specification and implementation of a text editor.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
J.-R. Abrial, Specification or how to give reality to abstraction, Technology and Science of Informatics, vol. 3 no. 3, 1984.
E. G. Dijkstra, A Discipline of Programming, Prentice-Hall, 1976.
D. Gries, The Science of Programming, Springer-Verlag, 1981.
I. J. Hayes (ed.), Specification Case Studies, Prentice-Hall, 1987.
P. Henderson, Functional Programming, Formal Specification, and Rapid Prototyping, IEEE Trans. Soft. Eng., Vol. SE 12, No. 2, 1986.
C. A. R. Hoare, Proof of Correctness of Data Representations, Acta Informatica 1, 1972.
C. A. R. Hoare, He Jifeng, J. W. Sanders, Data Refinement Refined, to appear.
J. J. Horning, Putting Formal Specifications to Productive Use, Proceedings of the Joint IBM/University of Newcastle upon Tyne Seminar, 1983.
C. B. Jones, Systematic Software Development Using VDM, Prentice-Hall, 1986.
C. C. Morgan, The Schema Language, Programming Research Group, Oxford University, 1984.
P. Naur, Intuition in software development, Proc. Int. Joint. Conf. on Theory and Practice of Software Development (TAPSOFT), 1985 (LNCS 186).
D. S. Neilson, Formal Specification Of An Occam Editor, Programming Research Group, Oxford University, 1985. M.Sc. Thesis.
D. S. Neilson, A Rigorous Refinement Method For Z, Programming Research Group, Oxford University. D.Phil. Thesis, to appear.
J.M.Spivey, Understanding Z: A Specification Language and its Formal Semantics, Programming Research Group, Oxford University, 1986. D.Phil Thesis.
B. Sufrin, Formal Specification of a Display Editor, PRG-21, Programming Research Group, Oxford University, 1981.
B. Sufrin, C. C. Morgan, I. H. Sørensen, I. J. Hayes, Notes for a Z Handbook, Part 1 — Mathematical Language, Programming Research Group, Oxford University, 1985.
D. A. Turner, Functional programs as executable specifications, Mathematical Logic and Programming Languages (C.A.R.Hoare and J.C.Shepherdson eds.), Prentice-Hall, 1984.
P.Wadler, Implementation of the VED text editor, Programming Research Group, Oxford University, 1984.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Neilson, D. (1987). Hierarchical refinement of A Z specification. In: Nori, K.V. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1987. Lecture Notes in Computer Science, vol 287. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18625-5_63
Download citation
DOI: https://doi.org/10.1007/3-540-18625-5_63
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-18625-0
Online ISBN: 978-3-540-48033-4
eBook Packages: Springer Book Archive