Acta Informatica

, Volume 12, Issue 2, pp 109–158 | Cite as

COSY — a system specification language based on paths and processes

  • P. E. Lauer
  • P. R. Torrigiani
  • M. W. Shields


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.


Operating System Data Structure Communication Network Management Strategy Resource Management 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Agerwala, T.: Some Extended Semaphore Primitives. Acta Informatica 8, 201–220 (1977)Google Scholar
  2. 2.
    Campbell, R.H.: Path Expressions: a technique for process synchronization. Ph.D. Thesis. University of Newcastle upon Tyne, 1976Google Scholar
  3. 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 1974Google Scholar
  4. 4.
    Courtois, P.J., Georges, J.: On starvation prevention. R.A.I.R.O. Informatique/Computer Science 11, 127–141 (1977)Google Scholar
  5. 5.
    Courtois, P.J., Heymans, F., Parnas, D.L.: Concurrent Control with “Readers” and “Writers”. 10, 667–668 (1971)Google Scholar
  6. 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. 7.
    Dijkstra, E.W.: Co-operating Sequential Processes. In: Programming Languages (Gennys, Ed.), New York: Academic Press, 1968Google Scholar
  8. 8.
    Habermann, A.N.: Synchronization of Communicating Processes. CACM 14, 171–176 (1972)Google Scholar
  9. 9.
    Holt, A.W., Commoner, P.: Events and Conditions. Applied Data Research, New York, 1970Google Scholar
  10. 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, 1977Google Scholar
  11. 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. 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, 1977Google Scholar
  13. 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 appearGoogle Scholar
  14. 14.
    Lautenbach, K.: Ein kombinatorischer Ansatz zur Beschreibung und Erreichung von Fairness in Scheduling-Problemen, Applied Computer Science, München: Hanser Verlag 1977Google Scholar
  15. 15.
    Liskov, B., Zilles, S.: Programming with abstract data types. Sigplan Notices, 9, 50–59 (1974)Google Scholar
  16. 16.
    Parnas, D.L.: Information distribution aspects of design methodology. Proc. IFIP Congress, pp.TA256–60, 1971Google Scholar
  17. 17.
    Petri, C.A.: Concepts of Net Theory. In: Proc. of MFCS, High Tatras, Math. Inst. of the Slovak Academy of Sciences, 1973Google Scholar
  18. 18.
    Petri, C.A.: Non-Sequential Processes. GMD — internal report, Bonn, 1976Google Scholar
  19. 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, 1978Google Scholar
  20. 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: SpringerGoogle Scholar
  21. 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, 1977Google Scholar
  22. 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 1978Google Scholar
  23. 23.
    Wulf, W.A.: ALPHARD: Toward a language to supported structured programs. Carnegie-Mellon University, privately circulatedGoogle Scholar

Copyright information

© Springer-Verlag 1979

Authors and Affiliations

  • P. E. Lauer
    • 1
  • P. R. Torrigiani
    • 2
  • M. W. Shields
    • 1
  1. 1.Computing Laboratory, Claremont TowerUniversity of Newcastle upon TyneNewcastle upon TyneGreat Britain
  2. 2.Gesellschaft für Mathematik und DatenverarbeitungInstitut für InformationssystemforschungBonnGermany (Fed. Rep.)

Personalised recommendations