Abstract
The cooperation test was originally conceived to capture the proof theoretical analogue of distributed message passing between disjoint processes, as opposed to the interference test, being the proof theoretical analogue of concurrency based on interference by jointly shared variables. Since then the cooperation test has been applied to characterize concurrent communication in Hoare’s Communicating Sequential Processes, Ichbiah’s ADA, and Brinch Hansen’s Distributed Processes, supported by soundness and completeness proofs. An overview is given of the rationale underlying this characterization, culminating in the development of proof systems for monitor based programming languages for concurrency which combine distributed message passing between processes with interference through local variables of a process which are shared between its subprocesses.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
ADA, The Programming Language ADA Reference Manual, LNCS 155 (1983).
Apt, K.R., Ten Years of Hoare’s Logic–Part I, Toplas 3 (1981), 431–484.
Apt, K.R., Formal Justification of a proof system for Communicating Sequential Processes, JACM 30 (1983), 197–216.
Apt, K.R., Proving correctness of CSP Programs - a tutorial, Technical report 84–24, LITP, Université Paris 7 (1984).
Apt, K.R., Francez, N., and de Roever, W.P., A proof system for communicating sequential processes, Toplas 2 (1980), 359–385.
Andrews, G.R., and Schneider, F., Concepts and notations for concurrent programming, ACM Comp. Surveys 15 (1983), 3–43.
Ashcroft, E., Proving assertions about parallel programs, JCSS 10 (1975), 110–135.
Brinch Hansen, P., Distributed Processes: A concurrent programming concept, CACM 21 (1978), 934–941.
Brinch Hansen, P., The programming language concurrent Pascal, IEEE Trans.S.E. 1 (1975), 99–207.
Dijkstra, E.W., An exercise inspired by the Dutch National Flag, EWD608, Burroughs, Nuenen, the Netherlands, 1977.
Francez, N., Extended naming conventions for communicating sequential processes, in Proc. POPL 1982, ACM, New York, pp 40–45.
Gerth, R.T., A sound and complete Hoare axiomatization of the ADA rendezvous, Technical Report, Univ. of Utrecht (1984).
Gerth, R.T., and de Roever, W.P., A proof system for Concurrent ADA Programs, SCP 4 (1984), 159–204.
Gerth, R.T., de Roever, W.P., and Roncken, M., Procedures and Concurrency: A study in proof, Proc. 5th ISOP, LNCS 137 (1982), 132–163.
Gerth, R.T., de Roever, W.P., and Roncken, M., A study in Distributed Systems and Dutch Patriotism, Proc. of the 2nd conf. on Foundations of Software Technology and Theoretical Computer Science, Bangalore, India, 13–15 Dec. 1982, M. Joseph (Ed.), NCSDCT, Tata Research Institute, Bombay (1982).
Hoare1] Hoare, C.A.R., Procedures and Parameters: an axiomatic approach, in: Symposium on Semantics of Algorithmic Languages, Lecture Notes in Mathematics 188, Springer (1971), 102–116.
Hoare, C.A.R., Communicating Sequential Processes, CACM 21 (1978), 666–677.
Howard, J.H., Proving monitors, CACM 19 (1976), 273–279.
Lamport, L., and Schneider, F.B., The “Hoare Logic” of CSP, and all that, Toplas 6 (1984), 281–296.
Levin, G.M., and Gries, D., A proof technique for communicating sequential processes, Acta 15 (1981), 281–302.
Mitchell, J.G., Maybury, W., and Sweet, R., Mesa Language Manual, XEROX, Palo Alto Research Center (1979).
Owicki, S.S., and Gries, D., An axiomatic proof technique for parallel programs, Acta 6 (1976), 319–340.
Pnueli, A., and de Roever, W.P., Rendezvous with ADA - a proof theoretical view, Proc. ACM ADA-TEC Conference (1982).
de Roever, W.P., The quest for compositionality - a survey of assertionbased proof systems for concurrent programs, Part I: Concurrency based on shared variables, to appear in: Proc. of the IFIP Working Conference 1985: ’“The role of abstract models in computer science”, E.J. Neuhold (Ed.), North-Holland; also as Technical Report, Univ. of Utrecht (1985).
Roncken, M., van Diepen, N., Kramer, M., and de Roever, W.P., A proof system for Brinch Hansen’s distributed processes, Technical Report RUU-CS-81–5, Univ. of Utrecht (1981).
Schlichting, R.D., and Schneider, F.B., Using Message Passing for Distributed Programming: Proof rules and Disciplines, Toplas 6 (1984), pp 402–432.
Wirth, N., Programming in Modula-2, Springer-Verlag, 1982.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1985 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
de Roever, W.P. (1985). The Cooperation Test : a syntax-directed verification method. In: Apt, K.R. (eds) Logics and Models of Concurrent Systems. NATO ASI Series, vol 13. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-82453-1_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-82453-1_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-82455-5
Online ISBN: 978-3-642-82453-1
eBook Packages: Springer Book Archive