# Initial algebra semantics and concurrency

## Abstract

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 [10] *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.

## Keywords

Operator Domain Equational System Concurrent System Naming Equation Technical Debt## Preview

Unable to display preview. Download preview PDF.

## References

- [1]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 - [2]Goguen, J.A., Thatcher, J.W., Wagner, E.G., and Wright, J.B.,
*Initial Algebra Semantics and Continuous Algebras*. Jour. ACM 24(1), 68–95, 1977.CrossRefGoogle Scholar - [3]Hoare, C.A.R.,
*Communicating Sequential Processes*. Comm. ACM 21(8), 666–677, Aug. 1978.CrossRefGoogle Scholar - [4]Milne, G., and Milner, R.,
*Concurrent Processes and their Syntax*. Jour. ACM 26(2), 302–321, April, 1979.CrossRefGoogle Scholar - [5]Peterson, J.L.,
*Petri Net Theory and the Modelling of Systems*. Prentice-Hall, 1981.Google Scholar - [6]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 - [7]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 - [8]Wirth, N.,
*MODULA: A language for modular multiprogramming*. Res. Rep. 18, Inst. fur Informatik, Zurich, Switzerland, 1975.Google Scholar - [9]Zamfir, M.,
*On the Syntax and Semantics of Concurrent Computing*. PhD Thesis, UCLA-CSD-820819, 1982.Google Scholar - [10]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 - [11]Zamfir, M.,
*Algebraic Theories and Concurrency*. KSU Technical Report TR-CS-87-6.Google Scholar