Denotational semantics of parallelism
This paper studies the denotational semantics of programming language constructs whose operational semantics require interleaving of computations. In particular a semantics is given for recursion equations with a convergence test. A convergence test is a nondeterministic construct which selects among expressions according to which one converges (i.e. takes on a value) first. This denotational semantics is shown to be equivalent to an operational semantics.
This paper uses the powerdomain construction to handle nondeterminism. The new idea is the treatment of parallelism. It is neccessary to add new elements to the domains in order to be able to distinguish between nonterminating computations and partial values. This distinction cannot be used in writing semantic equations. It is only used in interpreting the meaning of complete computations in which case partial values can be ignored.
Unable to display preview. Download preview PDF.
- Chandra, A.  Computable nondeterministic functions, 19th Symp. on Foundations of Computer Science, Ann ArborGoogle Scholar
- Francez, N. & Hoare, C.A.R. & Lehmann, D & de Roever, W. P.  Semantics of nondeterminism, concurrency and communicationGoogle Scholar
- Friedman, D. & Wise, D.  A Note on conditional expressions, CACM 21, pp. 931–933Google Scholar
- Hennessy, M. C. B.  The semantics of call-by-value and call-by-name in a nondeterministic environment, Computer Science Dept. Univ. of Waterloo CS-77-13Google Scholar
- Hoare, C. A. R.  Communicating sequential processes, CACM 21, pp. 666–677Google Scholar
- Manna, Zohar  Mathematical Theory of Computation, McGraw-HillGoogle Scholar
- Milner, Robin  Synthesis of communicating behavior, in Mathematical foundations of computer science 1978, Springer-Verlag Lecture Notes in Computer Science No. 64Google Scholar
- Plotkin, G.  A powerdomain construction, SIAM Journal of Computing 5Google Scholar
- Smyth, M. B.  Power domains, Jour. of Comp. and System Sciences 16, pp. 23–36Google Scholar
- Stoy, J.  Denotational semantics of Programming Languages, MIT pressGoogle Scholar
- Tennent, R. D.  The denotational semantics of programming languages, CACM 19 pp. 437–453Google Scholar