Skip to main content

Verifying concurrent system specifications in COSY

  • Communications
  • Conference paper
  • First Online:
Mathematical Foundations of Computer Science 1980 (MFCS 1980)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 88))

Abstract

In this paper we illustrate the use of the COSY formalism [LTS79] for specifying, analysing and verifying highly parallel and distributed systems. We shall do this through a non-trivial example, the concurrent resource release mechanism which forms the central part of a novel, non-computational, concurrent and distributed solution to the problem of allocating reusable resources from a limited pool among a large number of concurrent users, the so-called COSY banker [LTD80]. After a brief overview of the COSY approach, we formally define a behavioural semantics for COSY programs in terms of vectors of strings — the vector firing sequences — which generalise the well-known notion of firing sequence to permit the explicit representation of concurrency in an algebraic manner and which may be manipulated in the same manner as strings except in cases where strings are inappropriate for the modelling of concurrent behaviour. Behavioural properties may be formally defined in terms of vector firing sequences. In particular, an analysis of the vector firing sequences of a given program allows one to determine whether a system specified by the program possesses desirable properties, whether these be general such as absense of deadlock or starvation, or specific, that is relating to particular properties required of a particular mechanism. We shall mainly be concerned with the latter form of analysis in our investigation of the concurrent resource release mechanism. More precisely, we demonstrate: firstly, a full characterisation of the behaviours of the mechanism; secondly, the correctness of the mechanism with respect to its desired properties and a functional interpretation of the operations it involves and thirdly, as a consequence of these, its absense of partial system deadlock. Full references to the copious work on other aspects of the notation are given in a conclusion.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  1. Lauer, P.E., Campbell, R.H.: Formal Semantics for a Class of High Level Primitives for Coordinating Concurrent Processes. Acta Informatica 5, pp. 247–332, 1975.

    Google Scholar 

  2. Lauer, P.E., Torrigiani, P.R., Shields, M.W.: COSY: a system specification language based on paths and processes. Acta Informatica, Vol. 12, pp. 109–158, 1979.

    Google Scholar 

  3. Dijkstra, E.W.: A discipline of programming. Prentice Hall, 1976.

    Google Scholar 

  4. Hoare, C.A.R.: Communicating sequential processes. CACM Vol. 21, No. 8, August, 1978.

    Google Scholar 

  5. Cambell, R.H., Habermann, A.H.: The specification of process synchronization by path expressions. Lecture Notes in Computer Science Vol. 16 Springer Verlag, pp. 89–102.

    Google Scholar 

  6. Lauer, P.E., Shields, M.W., Best, E.: The design and certification of asynchronous systems of processes. Proc. of EEC Advanced Course on Abstract Software Specification, Lyngby, Jan. 22–Feb. 2, 1979. Lecture Notes in Computer Science (to appear).

    Google Scholar 

  7. Shields, M.W.: Adequate path expressions. Proc. Symp. on the Semantics of concurrent computation, Evian-les-Bains, July 2–4, 1979. Springer Lecture Notes in Computer Science Vol. 70, 1979.

    Google Scholar 

  8. Shields, M.W., Lauer, P.E.: On the abstract specification and formal analysis of synchronization properties of concurrent systems. Proc. of Int. Conf. on Mathematical Studies of Information Processing, Aug. 23–26, Kyoto, 1978. Lecture Notes in Computer Science 75, Springer Verlag 1979, pp. 1–32.

    Google Scholar 

  9. Dijkstra, E.W.: Co-operating sequential processes. In: Programming Languages, ed. Genuys, Academic Press 1968.

    Google Scholar 

  10. Lauer, P.E., Torrigiani, P.R., Devillers, R.: A COSY Banker: Specification of highly parallel and distributed resource management. Proc. 4th International Symposium on Programming, Paris April 22–24, 1980 Lecture Notes in Computer Science Vol. 83 (ed. B. Robinet), Springer Verlag, 1980.

    Google Scholar 

  11. Lauer, P.E., Shields, M.W., Best, E.: Formal Theory of the Basic COSY Notation. The Computing Laboratory, University of Newcastle upon Tyne, Technical Report Series No. 143, Nov. 1979.

    Google Scholar 

  12. Shields, M.W., Lauer, P.E.: Programming and verifying concurrent systems in COSY. University of Newcastle upon Tyne, Computing Laboratory, ASM/68, January 1980.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

P. Dembiński

Rights and permissions

Reprints and permissions

Copyright information

© 1980 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shields, M.W., Lauer, P.E. (1980). Verifying concurrent system specifications in COSY. In: Dembiński, P. (eds) Mathematical Foundations of Computer Science 1980. MFCS 1980. Lecture Notes in Computer Science, vol 88. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022534

Download citation

  • DOI: https://doi.org/10.1007/BFb0022534

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-10027-0

  • Online ISBN: 978-3-540-38194-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics