A Method for Refining Atomicity in Parallel Algorithms

Parallel programs are described as action systems. These are basically nondeterministic do-od programs that can be executed in both a sequential and a parallel fashion. A method for refining the atomicity of actions in a parallel program is described. This allows derivation of parallel programs by stepwise refinement, starting from an initial highl level and sequential program and ending in a parallel program for shared memory or message passing architectures. A calculus of refinements is used as a framework for the derivation method. The notion of correctness being preserved by the refinements is total correctness. The method is especially suited for derivation of parallel algorithms for MIMD-type multiprocessor systems.

[1]  Reino Kurki-Suonio,et al.  On the design of reactive systems , 1988, BIT.

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

[3]  Ralph-Johan Back,et al.  Decentralization of Process Nets with Centralized Control , 1983, PODC.

[4]  Ralph-Johan Back,et al.  Distributed cooperation with action systems , 1988, TOPL.

[5]  K. Mani Chandy,et al.  An example of stepwise refinement of distributed programs: quiescence detection , 1986, TOPL.

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

[7]  Ira R. Forman,et al.  Using Raddle to design distributed systems , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[8]  Amir Pnueli,et al.  Applications of Temporal Logic to the Specification and Verification of Reactive Systems: A Survey of Current Trends , 1986, Current Trends in Concurrency.

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

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

[11]  Carroll Morgan,et al.  The specification statement , 1988, TOPL.

[12]  Ralph-Johan Back,et al.  Serializability in Distributed Systems with Handshaking , 1988, ICALP.

[13]  Joseph M. Morris,et al.  A Theoretical Basis for Stepwise Refinement and the Programming Calculus , 1987, Sci. Comput. Program..

[14]  K. Mani Chandy Parallel program design , 1989 .