zbMATH — the first resource for mathematics

Object connectivity and full abstraction for a concurrent calculus of classes. (English) Zbl 1108.68538
Liu, Zhiming (ed.) et al., Theoretical aspects of computing – ICTAC 2004. First international colloquium, Guiyang, China, September 20–24, 2004. Revised selected papers. Berlin: Springer (ISBN 3-540-25304-1/pbk). Lecture Notes in Computer Science 3407, 37-51 (2005).
Summary: The concurrent object calculus has been investigated as a core calculus for imperative, object-oriented languages with multithreading and heap-allocated objects. The combination of this form of concurrency with objects corresponds to features known from the popular language Java. One distinctive feature, however, of the concurrent object calculus is that it is object-based, whereas the mainstream of object-oriented languages is class-based.
This work explores the semantical consequences of introducing classes to the calculus. Considering classes as part of a component makes instantiation a possible interaction between component and environment. A striking consequence is that to characterize the observable behavior we must take connectivity information into account, i.e., the way objects may have knowledge of each other. In particular, unconnected environment objects can neither determine the absolute order of interaction and furthermore cannot exchange information to compare object identities.
We formulate an operational semantics that incorporates the connectivity information into the scoping mechanism of the calculus. As instantiation itself is unobservable, objects are instantiated only when accessed for the first time (“lazy instantiation”).
Furthermore we use a corresponding trace semantics for full abstraction wrt. a may-testing based notion of observability.
For the entire collection see [Zbl 1069.68010].

68Q85 Models and methods for concurrent and distributed computing (process algebras, bisimulation, transition nets, etc.)
Full Text: DOI