Abstract
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.
Part of this work has been financially supported by the IST project Omega (IST-2001-33522) and the NWO/DFG project Mobi-J (RO 1122/9-1/2).
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abadi, M., Cardelli, L.: A Theory of Objects. Monographs in Computer Science. Springer, Heidelberg (1996)
Ábrahám, E., Bonsangue, M.M., de Boer, F.S., Steffen, M.: A structural operational semantics for a concurrent class calculus. Technical Report 0307, Institut für Informatik und Praktische Mathematik, Christian-Albrechts-Universität zu Kiel (August 2003)
Ábrahám, E., Bonsangue, M.M., de Boer, F.S., Steffen, M.: Object connectivity and full abstraction for a concurrent calculus of classes. Preliminary technical report, Institut für Informatik und Praktische Mathematik, Christian-Albrechts-Universität zu Kiel (January 2005)
Fiore, M., Moggi, E., Sangiorgi, D.: A fully-abstract model for the π-calculus (extended abstract). In: Proceedings of LICS 1996, July 1996, pp. 43–54. IEEE Computer Society Press, Los Alamitos (1996)
Gordon, A.D., Hankin, P.D.: A concurrent object calculus: Reduction and typing. In: Nestmann, U., Pierce, B.C. (eds.) Proceedings of HLCL 1998. Electronic Notes in Theoretical Computer Science, vol. 16.3. Elsevier Science Publishers, Amsterdam (1998)
Hennessy, M.: Algebraic Theory of Processes. MIT Press, Cambridge (1988)
Jeffrey, A., Rathke, J.: A fully abstract may testing semantics for concurrent objects. In: Proceedings of LICS 2002, July 2002. IEEE Computer Society Press, Los Alamitos (2002)
Jeffrey, A., Rathke, J.: Java Jr.: A fully abstract trace semantics for a core Java language (2005) (submitted for publication)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, part I/II. Information and Computation 100, 1–77 (1992)
Pitts, A.M., Stark, D.B.: Observable properties of higher-order functions that dynamically create local names, or: What’s new. In: Borzyszkowski, A.M., Sokolowski, S. (eds.) MFCS 1993. LNCS, vol. 711, pp. 122–141. Springer, Heidelberg (1993)
Sangiorgi, D., Walker, D.: The π-calculus: a Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)
Viswanathan, R.: Full abstraction for first-order objects with recursive types and subtyping. In: Proceedings of LICS 1998, July 1998. IEEE Computer Society Press, Los Alamitos (1998)
Yoshida, N.: Graph types for monadic mobile processes. In: Chandru, V., Vinay, V. (eds.) FSTTCS 1996. LNCS, vol. 1180. Springer, Heidelberg (1996); Full version as Technical Report ECS-LFCS-96-350, University of Edinburgh
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ábrahám, E., Bonsangue, M.M., de Boer, F.S., Steffen, M. (2005). Object Connectivity and Full Abstraction for a Concurrent Calculus of Classes. In: Liu, Z., Araki, K. (eds) Theoretical Aspects of Computing - ICTAC 2004. ICTAC 2004. Lecture Notes in Computer Science, vol 3407. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31862-0_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-31862-0_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25304-4
Online ISBN: 978-3-540-31862-0
eBook Packages: Computer ScienceComputer Science (R0)