A Deterministic Notation for Cooperating Processes

K. Mani Chandy, Ian T Foster · 1993

This paper proposes extensions of sequential programming languages for parallel programming that have the following features: 1. Dynamic Structures The process structure is dynamic: Processes and variables can be created and deleted. 2.Paradigm Integration The programming notation allows shared memory and message passing. 3.Determinism Demonstrating that a program is deterministic -- all executions with the same input produce the same output -- is straightforward. A program can be written so that the compiler can verify that the program is deterministic. Nondeterministic constructs can be introduced in a sequence of refinement steps to obtain greater efficiency if required. The ideas have been incorporated in an extension of Fortran, but the underlying sequential imperative language is not central to the ideas described here.

Read the paper · More papers on PaperTik