Skip to main content
Log in

Laws of data refinement

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

A specification language typically contains sophisticated data types that are expensive or even impossible to implement. Their replacement with simpler or more efficiently implementable types during the programming process is called data refinement. We give a new formal definiton of data refinement and use it to derive some basic laws. The derived laws are constructive in that used in conjunction with the known laws of procedural refinement they allow us to calculate a new specification from a given one in which variables are to be replaced by other variables of a different type.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Back, R.J.R.: Correctness preserving program refinements: Proof theory and applications. Mathematical Center Tracts 131. Amsterdam: Mathematisch Centrum 1980

    Google Scholar 

  2. Dijkstra, E.W.: A discipline of programming. Englewood Cliffs, N.J.: Prentice-Hall 1976

    Google Scholar 

  3. Gries, D., Prins, J.A.: A new notion of encapsulation. Proc. Symp. Language Issues in Programming Environments. Sigplan 20, 131–139 (1985)

    Google Scholar 

  4. Hayes, I. (ed.): Specification case studies. Englewood Cliffs, N.J.: Prentice-Hall 1987

    Google Scholar 

  5. Hoare, C.A.R.: Proofs of correctness of data representations. Acta Informatica 1, 271–281 (1972)

    Google Scholar 

  6. Hoare, C.A.R., He, J.F., Sanders, J.W.: Prespecification in data refinement, Inf. Process. Lett. 25, 71–76 (1987)

    Google Scholar 

  7. Jones, C.B.: Systematic software development using VDM. Englewood Cliffs, N.J.: Prentice-Hall 1986

    Google Scholar 

  8. Morgan, C.: Data refinement by miracles. Inf. Process. Lett. 26, 243–246 (1988)

    Google Scholar 

  9. Morris, J.M.: A theoretical basis for stepwise refinement and the programming calculus. Sci. Comput. Program. 9, 287–306 (1987)

    Google Scholar 

  10. Morris, J.M.: Piecewise data refinement. Report CSC/87/R12, Dept. of Computing Sci. Univ. of Glasgow 1987

  11. Tarski, A.: A lattice theoretical fixpoint theorem and its applications. Pac. J. Math. 5, 285–309 (1955)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Morris, J.M. Laws of data refinement. Acta Informatica 26, 287–308 (1989). https://doi.org/10.1007/BF00276019

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00276019

Keywords

Navigation