Skip to main content

Program refinement in fair transition systems

  • Submitted Presentations
  • Conference paper
  • First Online:
PARLE '91 Parallel Architectures and Languages Europe (PARLE 1991)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 506))

  • 105 Accesses

Abstract

The idea of program refinements is discussed in the context of fair transition systems. Two kinds of refinements — property preserving and fixed-point preserving, are defined. Conditions are developed under which known program transformations (e.g., refinement of atomicity, abstract data type implementation) are property preserving and fixed-point preserving refinements. The usefulness of the developed theorems is illustrated through a number of examples.

Work supported in part by NSF Grant CCR-9008628.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Abadi, M., and L. Lamport, The Existence of Refinement Mappings, Proceedings of the 3rd IEEE Symposium on Logic in Computer Science, 1988, pp. 165–175.

    Google Scholar 

  2. Back, R. J. R., Correctness Preserving Program Refinements: Proof Theory and Applications, Mathematical Center Tracts, 131, Center for Mathematics and Computer Science (CWI), Amsterdam, 1980.

    Google Scholar 

  3. Back, R. J. R., A Method for Refining Atomicity in Parallel Algorithms, Parallel Architectures and Languages Europe 1989, Eindhoven, June 1989, pp. 199–216.

    Google Scholar 

  4. Back, R. J. R., and K. Sere, Stepwise Refinement of Parallel Algorithms, Science of Computer Programming, 13, 1989–90, pp. 133–180.

    Google Scholar 

  5. Chandy, K. M., and J. Misra, Parallel Program Design: A Foundation, Reading, Massachusetts: Addison-Wesley, 1988.

    Google Scholar 

  6. Dijkstra, E. W., A Discipline of Programming, Englewood Cliffs, New Jersey: Prentice-Hall, 1976.

    Google Scholar 

  7. Emerson, E. A., and J. Y. Halpern, “Sometimes” and “Not Never” Revisited: On Branching Time versus Linear Time Temporal Logic, Journal of the ACM, 33(1), January 1986, pp. 151–178.

    Google Scholar 

  8. Floyd, R. W., Assigning Meaning to Programs, Proceedings of American Mathematical Society Symposia in Applied Mathematics, 19, 1967, pp. 19–32.

    Google Scholar 

  9. Gries, D., The Science of Programming, New York: Springer-Verlag, 1981.

    Google Scholar 

  10. Hoare, C. A. R., An Axiomatic Basis for Computer Programming, Communications of the ACM, 12, 1969, pp. 576–580.

    Google Scholar 

  11. Hoare, C. A. R., Proofs of Correctness of Data Representations, Acta Informatica, 1(4), 1972, pp. 271–281.

    Google Scholar 

  12. Jones, C. B., Systematic Software Development Using VDM, Englewood Cliffs, N.J.: Prentice Hall, 1986.

    Google Scholar 

  13. Lam, S. S., and A. U. Shankar, Protocol Verification via Projections, IEEE Transactions on Software Engineering, 10(4), July 1984, pp. 325–342.

    Google Scholar 

  14. Lamport, L., and F. Schneider, Pretending Atomicity, Technical Report TR-89-1005, Department of computer Science, Cornell University, May 1989.

    Google Scholar 

  15. Lamport, L., A Simple Approach to Specifying Concurrent Systems, Communications of the ACM, 32:1, Jan. 1989, pp. 32–47.

    Google Scholar 

  16. Lipton, R. J., Reduction: A Method For Proving Properties of Parallel Programs, Communications of the ACM, 18(12), Dec. 1975, pp. 717–721.

    Google Scholar 

  17. Lynch, N., and M. R. Tuttle, Hierarchical Correctness Proofs for Distributed Algorithms, Proc. Sixth Annual ACM Symposium on the Principles of Distributed Computing, 1987, pp. 137–151.

    Google Scholar 

  18. Manna, Z., and A. Pnueli, How to Cook a Temporal Proof System for Your Pet language, Proceedings of the 9th ACM Symposium on Principles of Programming Languages, 1983, pp. 141–154.

    Google Scholar 

  19. Manna, Z., and A. Pnueli, Adequate Proof Principles for Invariance and Liveness Properties of Concurrent Programs, Science of Computer Programming, 4, 1984, pp. 257–289.

    Google Scholar 

  20. Martin, A. J., Compiling Communicating Processes into Delay-Insensitive VLSI Circuits, Journal of Distributed Computing, 1(3), 1986.

    Google Scholar 

  21. Milner, R., Calculi for Synchrony and Asynchrony, Theoretical Computer Science, 25,1983, pp. 267–310.

    Google Scholar 

  22. Owicki, S., and D. Gries, An Axiomatic Proof Technique for Parallel Programs I, Acta Informatica, 6, 1976, pp. 319–340.

    Google Scholar 

  23. Sanders, B., Stepwise Refinement of Mixed Specifications of Concurrent Programs, Proceedings of IFIP Conference on Programming Concepts and Methods, Israel, April 1990, eds. M. Broy and C. B. Jones, Elsevier Science Publishers B. V. 1990.

    Google Scholar 

  24. Seitz, C., System Timing, in Introduction to VLSI Systems, eds. C. Mead and L. Conway, Reading, Massachusetts: Addison-Wesley, 1980.

    Google Scholar 

  25. Singh, A. K., and R. Overbeek, Derivation of Efficient Parallel Programs: An Example from Genetic Sequence Analysis, International Journal of Parallel Programming, 18(6), Dec. 1989, pp. 447–484.

    Google Scholar 

  26. Singh, A. K., Program Refinement in Fair Transition Systems, Technical Report 91-2, University of California at Santa Barbara, March 1991.

    Google Scholar 

  27. Singh, A. K., Leads-to and Program Union, Notes on Unity: 06-89, The University of Texas at Austin, Texas, May 1989.

    Google Scholar 

  28. Singh, A. K., On Strengthening the Guard, Notes on Unity: 07-89, The University of Texas at Austin, Texas, June 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Emile H. L. Aarts Jan van Leeuwen Martin Rem

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag

About this paper

Cite this paper

Singh, A.K. (1991). Program refinement in fair transition systems. In: Aarts, E.H.L., van Leeuwen, J., Rem, M. (eds) PARLE '91 Parallel Architectures and Languages Europe. PARLE 1991. Lecture Notes in Computer Science, vol 506. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54152-7_62

Download citation

  • DOI: https://doi.org/10.1007/3-540-54152-7_62

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54152-3

  • Online ISBN: 978-3-540-47472-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics