Skip to main content
Log in

COSY — a system specification language based on paths and processes

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

A new notation for specifying systems of concurrent processes sharing distributed systems of resources is introduced and the utility of the notation is demonstrated by defining novel, highly concurrent and distributed algorithms performing important operating system functions. The notation permits a clear and logical development of the algorithms from an analysis of its component notions; such as various buffer types, as well as non-priority and priority resource management strategies; without any reference to implementation detail. This property of the notation facilitates both the validation of the algorithms as well as their novel, highly concurrent and distributed implementation.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Agerwala, T.: Some Extended Semaphore Primitives. Acta Informatica 8, 201–220 (1977)

    Google Scholar 

  2. Campbell, R.H.: Path Expressions: a technique for process synchronization. Ph.D. Thesis. University of Newcastle upon Tyne, 1976

  3. Campbell, R.H., Habermann, A.N.: The specification of process synchronization by path expressions. Lecture Notes in Computer Science (G. Goos and J. Hartmanis, Eds.) pp. 89–102, V.16. Berlin-Heidelberg-New York: Springer-Verlag 1974

    Google Scholar 

  4. Courtois, P.J., Georges, J.: On starvation prevention. R.A.I.R.O. Informatique/Computer Science 11, 127–141 (1977)

    Google Scholar 

  5. Courtois, P.J., Heymans, F., Parnas, D.L.: Concurrent Control with “Readers” and “Writers”. 10, 667–668 (1971)

    Google Scholar 

  6. Devillers, R.E., Lauer, P.E.: A general mechanism for avoiding starvation with distributed control. Information Processing Letters, 7, 156–158 (1978)

    Google Scholar 

  7. Dijkstra, E.W.: Co-operating Sequential Processes. In: Programming Languages (Gennys, Ed.), New York: Academic Press, 1968

    Google Scholar 

  8. Habermann, A.N.: Synchronization of Communicating Processes. CACM 14, 171–176 (1972)

    Google Scholar 

  9. Holt, A.W., Commoner, P.: Events and Conditions. Applied Data Research, New York, 1970

    Google Scholar 

  10. Lauer, P.E., Best, E., Shields, M.W.: On the problem of achieving adequacy of concurrent programs. In Proc. of a Working Conference on Formal Description of Programming Concepts, North Holland, pp. 301–334, 1977

  11. Lauer, P.E., Campbell, R.H.: Formal semantics for a class of high level primitives for coordinating concurrent processes. Acta Informatica 5, 247–332 (1975)

    Google Scholar 

  12. Lauer, P.E., Shields, M.W.: Abstract specification of resource accessing disciplines: adequacy, starvation, priority and interrupts. SIGPLAN Notices Vol. 13, No. 12, Dec, 1978 and Proc. of a Workshop on Global Description Methods for Synchronisation in Real-time Applications, AFCET, Paris, Nov. 3–4, 1977

    Google Scholar 

  13. Lauer, P.E., Shields, M.W., Best, E.: On the Design and Certification of Asynchronous Systems of Processes. Final Report 1976–77. Part 2: Formal Theory of the Basic COSY Notation. Computing Laboratory, University of Newcastle upon Tyne, ASM/45, March 1978. Technical Report to appear

  14. Lautenbach, K.: Ein kombinatorischer Ansatz zur Beschreibung und Erreichung von Fairness in Scheduling-Problemen, Applied Computer Science, München: Hanser Verlag 1977

    Google Scholar 

  15. Liskov, B., Zilles, S.: Programming with abstract data types. Sigplan Notices, 9, 50–59 (1974)

    Google Scholar 

  16. Parnas, D.L.: Information distribution aspects of design methodology. Proc. IFIP Congress, pp.TA256–60, 1971

  17. Petri, C.A.: Concepts of Net Theory. In: Proc. of MFCS, High Tatras, Math. Inst. of the Slovak Academy of Sciences, 1973

  18. Petri, C.A.: Non-Sequential Processes. GMD — internal report, Bonn, 1976

  19. Shields, M.W., Lauer, P.E.: On the abstract specification and formal analysis of synchronization properties of concurrent systems. Proceedings of Int. Conf. on Mathematical Studies of Information Processing, Aug. 23–26, RIMS, Kyoto, Japan, Lecture Notes in Computer Science, Berlin-Heidelberg-New York: Springer-Verlag, 1978

    Google Scholar 

  20. Shields, M.W., Lauer, P.E.: A Formal Semantics for Concurrent Systems, Proc. 6 International Colloquium on Automata Languages and Programming Graz, July 16–20, 1979. Lecture Notes in Computer Science, Vol. 71, pp. 571–584. Berlin-Heidelberg-New York: Springer

    Google Scholar 

  21. Torrigiani, P.R., Lauer, P.E.: An object oriented notation for path expressions. AICA 1977, Annual Conference, 3rd Vol. Software Methodologies, pp. 349–371, 12–14 October, 1977

  22. Torrigiani, P.R.: Synchronic aspects of data types: construction of a non-algorithmic solution of the Banker's problem. ECI 78. In: Informatic System Methodology, Lecture Notes in Computer Science, Vol. 65. Berlin-Heidelberg-New York: Springer-Verlag 1978

    Google Scholar 

  23. Wulf, W.A.: ALPHARD: Toward a language to supported structured programs. Carnegie-Mellon University, privately circulated

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lauer, P.E., Torrigiani, P.R. & Shields, M.W. COSY — a system specification language based on paths and processes. Acta Informatica 12, 109–158 (1979). https://doi.org/10.1007/BF00266047

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Keywords

Navigation