Abstract
In this survey we discuss three methods for program development, which incorporate data reification: VDM, Reynolds’ method, and Back’s method and develop a modest predicate transformer based framework to relate them. At first we consider partial correctness only, and discuss Reynolds’ method and a partial correctness version of VDM. Later we also consider total correctness in order to cover (part of) Back’s refinement calculus and the full notion of specification and associated refinement methods in VDM.
Supported by NWO/SIGN Project 612-316-022: “Fault Tolerance: Paradigms, Models, Logics, Construction.”
Partially supported by ESPRIT project 3096: “SPEC.”
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
M. Abadi & L. Lamport. The Existence of Refinement Mappings. Proceedings of the 3rd IEEE Conference on Logic in Computer Science (LICS), pp. 165–175, 1988.
K.R. Apt. Ten Years of Hoare’s Logic: A Survey—Part I. ACM Transactions on Programming Languages and Systems 4: 431–483, 1981.
R.J.R. Back. On the Correctness of Refinement Steps in Program Development. Report A-1978–4, Dept. of Computer Science, University of Helsinki, 1978.
R.J.R. Back. Data Refinement in the Refinement Calculus. Reports on computer science & mathematics 68, Abo Akademi, 1988.
R.J.R. Back & J. von Wright. Refinement Calculus, Part I: Sequential Non deterministic Programs. In Stepwise Refinement of Distributed Systems, LNCS 430, pp. 42–66. Springer-Verlag, 1990.
R.J.R. Back. Refinement Calculus, Part II: Parallel and Reactive Programs. In Stepwise Refinement of Distributed Systems, LNCS 430, pp. 67–93. Springer-Verlag, 1990.
J.W. de Bakker, G. Rozenberg & W.-P. de Roever. Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness. Proceedings of the NFI/REX Workshop, LNCS 430. SpringerVerlag 1990.
N.W.P. van Diepen Si W.-P. de Roever. Program Derivation through Transformations: The Evolution of List-Copying Algorithms. Science of Computer Programming 6:213–272, 1986.
P. Gardiner & C. Morgan. A Single Complete Rule for Data Refinement, submitted to ACM Transactions on Programming Languages and Systems.
S.L. Gerhart. Correctness Preserving Program Transformations. Proceedings 2nd Symposium on Principles of Programming Languages, pp. 54–66, 1975.
D. Gries. The Science of Programming. Springer-Verlag, 1981.
He Jifeng. Process Simulation and Refinement. Formal Aspects of Computing 1:229–241, 1989.
E.C.R. Hehner. The Logic of Programming. Prentice-Hall, 1984.
E.C.R. Hehner. Predicative Programming Part I. Communications of the ACM 27: 134–143, 1984.
E.C.R. Hehner. Predicative Programming Part II. Communications of the ACM 27: 144–151, 1984.
C.A.R. Hoare. Proofs of Correctness of Data Representation. Acta Informatica 1: 271–281, 1972.
C.A.R. Hoare, He Jifeng & J.W. Sanders. Prespecification in Data Refinement. Information Processing Letters 25: 71–76, 1987.
C.B. Jones. Software Development: a Rigorous Approach. Prentice-Hall, 1980.
L. Lamport. Specifying Concurrent Program Modules. ACM Transactions on Programming Languages and Systems 2: 190–220, 1983.
S. Lee, W.-P. de Roever & S.L. Gerhart. The Evolution of List-Copying Algorithms and The Need for Structured Program Verification. Conf. Rec. 6th Ann. ACM Symp. on Principles of Progr. Languages, pp. 53–67, 1979.
R. Milner. An Algebraic Definition of Simulation between Programs. Proceedings of 2nd Int. Joint Conf. on Artificial Intelligence, pp. 481–489, 1971.
C. Morgan. Programming from Specifications. Prentice-Hall, 1990.
J.M. Morris. Laws of data refinement. Acta Informatica 26: 287–308, 1989.
E.-R. Olderog. On the Notion of Expressiveness and the Rule of Adaptation. Theoretical Computer Science 24: 337–347, 1983.
J.C. Reynolds. The Craft of Programming. Prentice-Hall, 1981. 114
C.B. Jones. Systematic Software Development using VDM, 2nd edition. Prentice-Hall, 1989.
J. Zwiers. Compositionality, Concurrency and Partial Correctness: Proof Theories for Networks of Processes, and Their Relationship. LNCS 321, Springer-Verlag, 1989.
J. Zwiers. Predicates, Predicate Transformers and Refinement. In Stepwise Refinement of Distributed Systems, LNCS 430, pp. 759776. Springer-Verlag, 1990.
J. Zwiers & W.-P. de Roever. Predicates are Predicate Transformers: A Unified Compositional Theory for Concurrency. To appear in the proc. of Principles of Distributed Computing ’89.
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
Coenen, J., de Roever, WP., Zwiers, J. (1991). Assertional Data Reification Proofs: Survey and Perspective. 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_5
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3756-6_5
Publisher Name: Springer, London
Print ISBN: 978-3-540-19657-0
Online ISBN: 978-1-4471-3756-6
eBook Packages: Springer Book Archive