Towards a Semantics of Emerald Expressed in Map Theory

Klaus Grue


Preseented at the ECOOP'94 workshop on logical foundations of object oriented programming, Bologna, Italy, 1994.


This paper presents a semantics for a subset of an object oriented, concurrent and distributed language with Emerald as the chosen example. The concurrent and distributed aspects posses particular problems, and the paper focuses on these aspects. In particular the paper covers parallelism in which a created process can continue to run after the creating process halts. The semantics is presented in a continuation passing style in map theory.

Map theory is a foundation of mathematics with the same expressive power (w.r.t.\ consistency) as set theory, but it builds upon $\lambda$-calculus and functions instead of logic and sets. It allows unlimited recursion which, combined with its expressive power, makes it ideal for expressing semantics of programming languages.

The paper serves three purposes: First, it gives a semantics for a subset of Emerald, which can be scaled up to cover all of Emerald. Second, it shows how map theory can be used in definitions of semantics. Third, it shows how distribution and parallelism can be modelled.

Klaus Grue, August 27, 1996