Initial algebra semantics and concurrency
The purpose of this paper is to show that initial algebra semantics has an immediate and useful application in the area of communicating computing systems. The major technical feature is a category of continuous many-sorted algebras ca led parallel-nondeterministic algebras. In this setting parallel and nondeterministic behaviors of communicating computing systems can be rigorously formulated as sequences of rewritings on abstract objects called parallel-nondeterministic terms or diamonds. It is shown that diamonds are free in the category of continuous parallel-nondeterministic algebras. (To demonstrate this fact, some results concerning categories of continuous algebras, which can be found in the work of the ADJ group, are presented in a self-contained form.)
Nondeterminism and parallelism are modeled explicitly by introducing a choice operator and a parallel operator, respectively.
In a companion paper  flow nets are introduced to describe parallel and nondeterministic behaviors of computing systems that communicate with each other, just as conventional flowcharts are used to describe sequential computations. In a continuous parallel-nondeterministic algebra a flow net is represented by its unfoldment — the solution of a finite system of recursive equations.
KeywordsOperator Domain Equational System Concurrent System Naming Equation Technical Debt
Unable to display preview. Download preview PDF.
- Boudol, G., Computational Semantics of Term Rewriting Systems. In M. Nivat and J.C. Reynolds (editor) Algebraic Methods in Semantics. Cambridge University Press, 1985.Google Scholar
- Peterson, J.L., Petri Net Theory and the Modelling of Systems. Prentice-Hall, 1981.Google Scholar
- Strachey, C., and Wadworth, C.P., Continuations — A Mathematical Semantic Model for Handling Full Jumps. Technical Monograph PRG-11, Programming Research Group, Oxford University, Computing Laboratory, 1974.Google Scholar
- Thatcher, J.W., Wagner, E.G., and Wright, J.B., Notes on Algebraic Fundamentals for Theoretical Computer Science. In J.B. De Bakker (editor), Foundations of Computer Science, Part 2: Languages, Logic, Semantics. Addison-Wesley, Amsterdam, 1979.Google Scholar
- Wirth, N., MODULA: A language for modular multiprogramming. Res. Rep. 18, Inst. fur Informatik, Zurich, Switzerland, 1975.Google Scholar
- Zamfir, M., On the Syntax and Semantics of Concurrent Computing. PhD Thesis, UCLA-CSD-820819, 1982.Google Scholar
- Zamfir, M. and Martin, D., On the Syntax and Semantics of Concurrent Computing. Proceedings, Conference on the Mathematical Foundation of Programming Languages, KSU, April 1985, LNCS 239.Google Scholar
- Zamfir, M., Algebraic Theories and Concurrency. KSU Technical Report TR-CS-87-6.Google Scholar