Specification and verification of liveness properties of cyclic, concurrent processes

A technique is described for software specification and verification of concurrent, distributed systems. The complete specification of a program is given in terms of a hierarchical structure of module specifications. Module external specifications are abstract; module internal specifications are descriptions of internal implementations, either in terms of submodules or actual code. The verification that an implementation satisfies its specification is language independent for the former and language dependent for the latter. Distinguishing the liveness properites provided by a module and the liveness properties required by a module (from its comodules) allows the specification and verification of a given module to be independent from the specification and verification of its comodules.

[1]  Marty Ossefort,et al.  Correctness Proofs of Communicating Processes: Three Illustrative Examples From the Literature , 1983, TOPL.

[2]  Leslie Lamport,et al.  Specifying Concurrent Program Modules , 1983, TOPL.

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

[4]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[5]  ReedJoylyn,et al.  Specification and verification of liveness properties of cyclic, concurrent processes , 1988 .

[6]  Neelam Soundararajan,et al.  Correctness Proofs of CSP Programs , 1983, Theor. Comput. Sci..

[7]  Edward A. Ashcroft,et al.  Proving Assertions about Parallel Programs , 1975, J. Comput. Syst. Sci..

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

[9]  Neelam Soundararajan,et al.  Axiomatic semantics of communicating sequential processes , 1984, ACM Trans. Program. Lang. Syst..

[10]  Zohar Manna,et al.  The Logic of Computer Programming , 1978, IEEE Transactions on Software Engineering.

[11]  C. A. R. Hoare A Calculus of Total Correctness for Communicating Processes , 1981, Sci. Comput. Program..

[12]  Willem P. de Roever,et al.  A Proof System for Communicating Sequential Processes , 1980, ACM Trans. Program. Lang. Syst..

[13]  Donald I. Good,et al.  Principles of proving concurrent programs in Gypsy , 1979, POPL '79.

[14]  Leslie Lamport,et al.  The ``Hoare Logic'' of CSP, and All That , 1984, TOPL.

[15]  Susan S. Owicki,et al.  Modular verification of concurrent programs , 1982, POPL '82.

[16]  David Lorge Parnas,et al.  The Use of Precise Specification in the Development of Software , 1977, IFIP Congress.