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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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.
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.
Back, R. J. R., A Method for Refining Atomicity in Parallel Algorithms, Parallel Architectures and Languages Europe 1989, Eindhoven, June 1989, pp. 199–216.
Back, R. J. R., and K. Sere, Stepwise Refinement of Parallel Algorithms, Science of Computer Programming, 13, 1989–90, pp. 133–180.
Chandy, K. M., and J. Misra, Parallel Program Design: A Foundation, Reading, Massachusetts: Addison-Wesley, 1988.
Dijkstra, E. W., A Discipline of Programming, Englewood Cliffs, New Jersey: Prentice-Hall, 1976.
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.
Floyd, R. W., Assigning Meaning to Programs, Proceedings of American Mathematical Society Symposia in Applied Mathematics, 19, 1967, pp. 19–32.
Gries, D., The Science of Programming, New York: Springer-Verlag, 1981.
Hoare, C. A. R., An Axiomatic Basis for Computer Programming, Communications of the ACM, 12, 1969, pp. 576–580.
Hoare, C. A. R., Proofs of Correctness of Data Representations, Acta Informatica, 1(4), 1972, pp. 271–281.
Jones, C. B., Systematic Software Development Using VDM, Englewood Cliffs, N.J.: Prentice Hall, 1986.
Lam, S. S., and A. U. Shankar, Protocol Verification via Projections, IEEE Transactions on Software Engineering, 10(4), July 1984, pp. 325–342.
Lamport, L., and F. Schneider, Pretending Atomicity, Technical Report TR-89-1005, Department of computer Science, Cornell University, May 1989.
Lamport, L., A Simple Approach to Specifying Concurrent Systems, Communications of the ACM, 32:1, Jan. 1989, pp. 32–47.
Lipton, R. J., Reduction: A Method For Proving Properties of Parallel Programs, Communications of the ACM, 18(12), Dec. 1975, pp. 717–721.
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.
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.
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.
Martin, A. J., Compiling Communicating Processes into Delay-Insensitive VLSI Circuits, Journal of Distributed Computing, 1(3), 1986.
Milner, R., Calculi for Synchrony and Asynchrony, Theoretical Computer Science, 25,1983, pp. 267–310.
Owicki, S., and D. Gries, An Axiomatic Proof Technique for Parallel Programs I, Acta Informatica, 6, 1976, pp. 319–340.
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.
Seitz, C., System Timing, in Introduction to VLSI Systems, eds. C. Mead and L. Conway, Reading, Massachusetts: Addison-Wesley, 1980.
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.
Singh, A. K., Program Refinement in Fair Transition Systems, Technical Report 91-2, University of California at Santa Barbara, March 1991.
Singh, A. K., Leads-to and Program Union, Notes on Unity: 06-89, The University of Texas at Austin, Texas, May 1989.
Singh, A. K., On Strengthening the Guard, Notes on Unity: 07-89, The University of Texas at Austin, Texas, June 1989.
Author information
Authors and Affiliations
Editor information
Rights 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