Program Refinement in Fair Transition Systems

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.

[1]  Kaisa Sere,et al.  Stepwise Refinement of Parallel Algorithms , 1990, Sci. Comput. Program..

[2]  Zohar Manna,et al.  Adequate Proof Principles for Invariance and Liveness Properties of Concurrent Programs , 1984, Sci. Comput. Program..

[3]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.

[4]  Leslie Lamport,et al.  Pretending Atomicity , 1989 .

[5]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[6]  Richard J. Lipton,et al.  Reduction: a method of proving properties of parallel programs , 1975, CACM.

[7]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[8]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[9]  Martín Abadi,et al.  The Existence of Refinement Mappings , 1988, LICS.

[10]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[11]  Leslie Lamport,et al.  Artificial Intelligence and Language Processing ]acques Cohen Editor a Simple Approach to Specifying Concurrent Systems , 2022 .

[12]  Ralph-Johan Back,et al.  Correctness preserving program refinements: Proof theory and applications , 1980 .

[13]  Beverly A. Sanders Stepwise Refinement of Mixed Specifications of Concurrent Programs , 1990, Programming Concepts and Methods.

[14]  Zohar Manna,et al.  How to cook a temporal proof system for your pet language , 1983, POPL '83.

[15]  A. Udaya Shankar,et al.  Protocol Verification via Projections , 1984, IEEE Transactions on Software Engineering.

[16]  David Gries,et al.  The Science of Programming , 1981, Text and Monographs in Computer Science.

[17]  Robin Milner,et al.  Calculi for Synchrony and Asynchrony , 1983, Theor. Comput. Sci..

[18]  Ralph-Johan Back A Method for Refining Atomicity in Parallel Algorithms , 1989, PARLE.

[19]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.