Object Connectivity and Full Abstraction for a Concurrent Calculus of Classes

Extended Abstract
  • Erika Ábrahám
  • Marcello M. Bonsangue
  • Frank S. de Boer
  • Martin Steffen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3407)


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.


multithreading class-based object-oriented languages formal semantics full abstraction 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, M., Cardelli, L.: A Theory of Objects. Monographs in Computer Science. Springer, Heidelberg (1996)Google Scholar
  2. 2.
    Á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)Google Scholar
  3. 3.
    Á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)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    Hennessy, M.: Algebraic Theory of Processes. MIT Press, Cambridge (1988)zbMATHGoogle Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    Jeffrey, A., Rathke, J.: Java Jr.: A fully abstract trace semantics for a core Java language (2005) (submitted for publication)Google Scholar
  9. 9.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, part I/II. Information and Computation 100, 1–77 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    Sangiorgi, D., Walker, D.: The π-calculus: a Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)Google Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    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 EdinburghGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Erika Ábrahám
    • 2
  • Marcello M. Bonsangue
    • 3
  • Frank S. de Boer
    • 4
  • Martin Steffen
    • 1
  1. 1.Christian-Albrechts-UniversityKielGermany
  2. 2.University FreiburgGermany
  3. 3.University LeidenThe Netherlands
  4. 4.CWIAmsterdamThe Netherlands

Personalised recommendations