A review of specification and verification methods for parallel programs including the dataflow approach

Parallel programs are usually described informally, and these descriptions are implemented on parallel computer systems. When a program does not run correctly, it is often very difficult to determine whether the program description or the implementation is incorrect. This has led to a search for more formal descriptions of parallel programs and to proof systems for the verification of the implementations. Formal methods for the specification and verification of parallel programs are reviewed, and a new method that is based on dataflow graphs is described. >

[1]  Carl Hewitt,et al.  Laws for Communicating Parallel Processes , 1977, IFIP Congress.

[2]  Krishna M. Kavi,et al.  A Formal Definition of Data Flow Graph Models , 1986, IEEE Transactions on Computers.

[3]  K. Mani Chandy,et al.  Proofs of Networks of Processes , 1981, IEEE Transactions on Software Engineering.

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

[5]  Zohar Manna,et al.  Verification of concurrent programs, Part I: The temporal framework , 1981 .

[6]  Stephen D. Brookes,et al.  A Semantics and Proof System for Communicating Processes , 1983, Logic of Programs.

[7]  Vaughan R. Pratt,et al.  On the composition of processes , 1982, POPL '82.

[8]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[9]  J. Dean Brock,et al.  A formal model of non-determinate dataflow computation , 1983 .

[10]  Gilles Kahn,et al.  Coroutines and Networks of Parallel Processes , 1977, IFIP Congress.

[11]  Zohar Manna,et al.  Verification of Concurrent Programs: Temporal Proof Principles , 1981, Logic of Programs.

[12]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[13]  William B. Ackerman,et al.  Scenarios: A Model of Non-Determinate Computation , 1981, ICFPC.

[14]  Van Nguyen,et al.  A model and temporal proof system for networks of processes , 1985, POPL '85.

[15]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.