Skip to main content

The Cooperation Test : a syntax-directed verification method

  • Conference paper
Logics and Models of Concurrent Systems

Part of the book series: NATO ASI Series ((NATO ASI F,volume 13))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ADA, The Programming Language ADA Reference Manual, LNCS 155 (1983).

    Google Scholar 

  2. Apt, K.R., Ten Years of Hoare’s Logic–Part I, Toplas 3 (1981), 431–484.

    Article  MATH  Google Scholar 

  3. Apt, K.R., Formal Justification of a proof system for Communicating Sequential Processes, JACM 30 (1983), 197–216.

    Article  MATH  MathSciNet  Google Scholar 

  4. Apt, K.R., Proving correctness of CSP Programs - a tutorial, Technical report 84–24, LITP, Université Paris 7 (1984).

    Google Scholar 

  5. Apt, K.R., Francez, N., and de Roever, W.P., A proof system for communicating sequential processes, Toplas 2 (1980), 359–385.

    Article  MATH  Google Scholar 

  6. Andrews, G.R., and Schneider, F., Concepts and notations for concurrent programming, ACM Comp. Surveys 15 (1983), 3–43.

    Article  MATH  Google Scholar 

  7. Ashcroft, E., Proving assertions about parallel programs, JCSS 10 (1975), 110–135.

    MATH  MathSciNet  Google Scholar 

  8. Brinch Hansen, P., Distributed Processes: A concurrent programming concept, CACM 21 (1978), 934–941.

    MATH  Google Scholar 

  9. Brinch Hansen, P., The programming language concurrent Pascal, IEEE Trans.S.E. 1 (1975), 99–207.

    Google Scholar 

  10. Dijkstra, E.W., An exercise inspired by the Dutch National Flag, EWD608, Burroughs, Nuenen, the Netherlands, 1977.

    Google Scholar 

  11. Francez, N., Extended naming conventions for communicating sequential processes, in Proc. POPL 1982, ACM, New York, pp 40–45.

    Google Scholar 

  12. Gerth, R.T., A sound and complete Hoare axiomatization of the ADA rendezvous, Technical Report, Univ. of Utrecht (1984).

    Google Scholar 

  13. Gerth, R.T., and de Roever, W.P., A proof system for Concurrent ADA Programs, SCP 4 (1984), 159–204.

    MATH  MathSciNet  Google Scholar 

  14. 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.

    Google Scholar 

  15. 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).

    Google Scholar 

  16. 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.

    Google Scholar 

  17. Hoare, C.A.R., Communicating Sequential Processes, CACM 21 (1978), 666–677.

    MATH  Google Scholar 

  18. Howard, J.H., Proving monitors, CACM 19 (1976), 273–279.

    MATH  Google Scholar 

  19. Lamport, L., and Schneider, F.B., The “Hoare Logic” of CSP, and all that, Toplas 6 (1984), 281–296.

    Article  MATH  Google Scholar 

  20. Levin, G.M., and Gries, D., A proof technique for communicating sequential processes, Acta 15 (1981), 281–302.

    MATH  MathSciNet  Google Scholar 

  21. Mitchell, J.G., Maybury, W., and Sweet, R., Mesa Language Manual, XEROX, Palo Alto Research Center (1979).

    Google Scholar 

  22. Owicki, S.S., and Gries, D., An axiomatic proof technique for parallel programs, Acta 6 (1976), 319–340.

    MATH  MathSciNet  Google Scholar 

  23. Pnueli, A., and de Roever, W.P., Rendezvous with ADA - a proof theoretical view, Proc. ACM ADA-TEC Conference (1982).

    Google Scholar 

  24. 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).

    Google Scholar 

  25. 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).

    Google Scholar 

  26. Schlichting, R.D., and Schneider, F.B., Using Message Passing for Distributed Programming: Proof rules and Disciplines, Toplas 6 (1984), pp 402–432.

    Article  MATH  Google Scholar 

  27. Wirth, N., Programming in Modula-2, Springer-Verlag, 1982.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics