Abstract Interface Behavior of Object-Oriented Languages with Monitors

  • Erika Ábrahám
  • Andreas Grüner
  • Martin Steffen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4037)


We characterize the observable behavior of multi-threaded, object-oriented programs with re-entrant monitors. The observable uncertainty at the interface is captured by may- and must-approximations for potential resp. necessary lock ownership. The concepts are formalized in an object calculus. We show the soundness of the abstractions.


oo languages formal semantics thread-based concurrency monitors open systems observable behavior 


  1. 1.
    Abadi, M., Cardelli, L.: A Theory of Objects. Springer, Heidelberg (1996)CrossRefzbMATHGoogle Scholar
  2. 2.
    Ábrahám, E., de Boer, F.S., Bonsangue, M.M., Grüner, A., Steffen, M.: Observability, connectivity, and replay in a sequential calculus of classes. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2004. LNCS, vol. 3657, pp. 296–316. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Ábrahám, E., Grüner, A., Steffen, M.: Abstract interface behavior of object-oriented languages with monitors. Draft technical report, Institut für Informatik und Praktische Mathematik, Christian-Albrechts-Universität zu Kiel (January 2006)Google Scholar
  4. 4.
    Ábrahám, E., Grüner, A., Steffen, M.: Dynamic heap-abstraction for open, object-oriented systems with thread classes (extended abstract). In: Proceedings of CiE 2006. A longer version appeared as Technical Report 0601 of the Institute of Computer Science of the University Kiel, January 2006 (to appear, 2006)Google Scholar
  5. 5.
    Brinch Hansen, P.: Operating System Principles. Prentice-Hall, Englewood Cliffs (1973)zbMATHGoogle Scholar
  6. 6.
    ECMA International Standardizing Information and Communication Systems. C# Language Specification, 2nd edn. (December 2002) Standard ECMA-334Google Scholar
  7. 7.
    Gordon, A.D., Hankin, P.D.: A concurrent object calculus: Reduction and typing. In: Nestmann, U., Pierce, B.C. (eds.) Proceedings of HLCL 1998. ENTCS, vol. 16.3, p. 3. Elsevier Science Publishers, Amsterdam (1998)Google Scholar
  8. 8.
    Gosling, J., Joy, B., Steele, G.L., Bracha, G.: The Java Language Specification, 2nd edn. Addison-Wesley, Reading (2000)zbMATHGoogle Scholar
  9. 9.
    Hoare, C.A.R.: Monitors: An operating system structuring concept. Communications of the ACM 17(10), 549–557 (1974)CrossRefzbMATHGoogle Scholar
  10. 10.
    Jeffrey, A., Rathke, J.: A fully abstract testing semantics for concurrent objects. In: Proceedings of LICS 2002, IEEE, Computer Society Press, Los Alamitos (2002)Google Scholar
  11. 11.
    Jeffrey, A., Rathke, J.: Java Jr.: A fully abstract trace semantics for a core Java language. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 423–438. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Manson, J., Pugh, W., Adve, S.V.: The Java memory memory. In: Proceedings of POPL 2005, ACM, New York (2005)Google Scholar
  13. 13.
    Viswanathan, R.: Full abstraction for first-order objects with recursive types and subtyping. In: Proceedings of LICS 1998, IEEE, Computer Society Press, Los Alamitos (1998)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2006

Authors and Affiliations

  • Erika Ábrahám
    • 1
  • Andreas Grüner
    • 2
  • Martin Steffen
    • 2
  1. 1.Albert-Ludwigs-University FreiburgGermany
  2. 2.Christian-Albrechts-University KielGermany

Personalised recommendations