The essence of parallel Algol

We consider a parallel Algol-like language, combining the /spl lambda/-calculus with shared-variable parallelism. We provide a denotational semantics for this language, simultaneously adapting the possible worlds model of Reynolds and Oles (1981, 1982) to the parallel setting and generalizing the "transition traces" model to the procedural setting. This semantics supports reasoning about safety and liveness properties of parallel programs, and validates a number of natural laws of program equivalence based on noninterference properties of local variables. We also provide a relationally parametric semantics, to permit reasoning about relation-preserving properties of programs, and adapting work of O'Hearn and Tennent (1995) to the parallel setting. This semantics supports standard methods of reasoning about representational independence. The clean design of the programming language and its semantics supports the orthogonality of procedures and shared-variable parallelism.

[1]  Robert D. Tennent Semantics of Interference Control , 1983, Theor. Comput. Sci..

[2]  John C. Reynolds,et al.  Types, Abstraction and Parametric Polymorphism , 1983, IFIP Congress.

[3]  John C. Mitchell,et al.  Notes on Sconing and Relators , 1992, CSL.

[4]  Frank J. Oles,et al.  A category-theoretic approach to the semantics of programming languages , 1982 .

[5]  John C. Reynolds,et al.  The essence of ALGOL , 1997 .

[6]  Samson Abramsky,et al.  A relational approach to strictness analysis for higher-order polymorphic functions , 1991, POPL '91.

[7]  R. V. Book Algol-like Languages , 1997, Progress in Theoretical Computer Science.

[8]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[9]  David Michael Ritchie Park,et al.  On the Semantics of Fair Parallelism , 1979, Abstract Software Specifications.

[10]  Giorgio Ausiello,et al.  Proceedings of the 16th International Colloquium on Automata, Languages and Programming , 1989 .

[11]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[12]  Stephen D. Brookes Full Abstraction for a Shared-Variable Parallel Language , 1996, Inf. Comput..

[13]  John C. Reynolds,et al.  Syntactic control of interference , 1978, POPL.

[14]  Joseph Y. Halpern,et al.  The semantics of local storage, or what makes the free-list free?(Preliminary Report) , 1984, POPL '84.

[15]  Peter W. O'Hearn,et al.  Parametricity and local variables , 1995, JACM.

[16]  Gregory R. Andrews,et al.  Concurrent programming - principles and practice , 1991 .

[17]  Peter W. O'Hearn A Model for Syntactic Control of Interference , 1993, Math. Struct. Comput. Sci..