ACM Transactions on Programming Languages and Systems · 1988 · 61 citations · 20 references
ComputingComputer EngineeringComputer ScienceFormal MethodsParallel ComputingSchedulingConcurrent ProgrammingData ParallelismParallel Programming ModelsFairnessInfinite OrdinalsNondeterminismParallel Program SemanticsParallel ProgrammingParallel StructureScheduling SemanticsTotal Correctness
Program transformations are proposed as a means of providing fair parallelism semantics for parallel programs with shared variables. The transformations are developed in two steps. First, abstract schedulers that implement the various fairness policies are introduced. These schedulers use random assignments z := ? to represent the unbounded nondeterminism induced by fairness. Concrete schedulers are derived by suitably refining the ?. The transformations are then obtained by embedding the abstract schedulers into the parallel programs. This embedding is proved correct on the basis of a simple transition semantics. Since the parallel structure of the original program is preserved, the transformations also provide a basis for syntax-directed proofs of total correctness under the fairness assumption. These proofs make use of infinite ordinals.
20
An axiomatic proof technique for parallel programs I
Susan Owicki, David Gries · Acta Informatica · 1976 · 1K citations
The temporal semantics of concurrent programs
Amir Pnueli · Theoretical Computer Science · 1981 · 701 citations