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.
Similar content being viewed by others
References
Agerwala, T.: Some Extended Semaphore Primitives. Acta Informatica 8, 201–220 (1977)
Campbell, R.H.: Path Expressions: a technique for process synchronization. Ph.D. Thesis. University of Newcastle upon Tyne, 1976
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
Courtois, P.J., Georges, J.: On starvation prevention. R.A.I.R.O. Informatique/Computer Science 11, 127–141 (1977)
Courtois, P.J., Heymans, F., Parnas, D.L.: Concurrent Control with “Readers” and “Writers”. 10, 667–668 (1971)
Devillers, R.E., Lauer, P.E.: A general mechanism for avoiding starvation with distributed control. Information Processing Letters, 7, 156–158 (1978)
Dijkstra, E.W.: Co-operating Sequential Processes. In: Programming Languages (Gennys, Ed.), New York: Academic Press, 1968
Habermann, A.N.: Synchronization of Communicating Processes. CACM 14, 171–176 (1972)
Holt, A.W., Commoner, P.: Events and Conditions. Applied Data Research, New York, 1970
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
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)
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
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
Lautenbach, K.: Ein kombinatorischer Ansatz zur Beschreibung und Erreichung von Fairness in Scheduling-Problemen, Applied Computer Science, München: Hanser Verlag 1977
Liskov, B., Zilles, S.: Programming with abstract data types. Sigplan Notices, 9, 50–59 (1974)
Parnas, D.L.: Information distribution aspects of design methodology. Proc. IFIP Congress, pp.TA256–60, 1971
Petri, C.A.: Concepts of Net Theory. In: Proc. of MFCS, High Tatras, Math. Inst. of the Slovak Academy of Sciences, 1973
Petri, C.A.: Non-Sequential Processes. GMD — internal report, Bonn, 1976
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
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
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
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
Wulf, W.A.: ALPHARD: Toward a language to supported structured programs. Carnegie-Mellon University, privately circulated
Author information
Authors and Affiliations
Rights 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
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF00266047