Skip to main content
Log in

Abstract Interface Behavior of Object-Oriented Languages with Monitors

  • Published:
Theory of Computing Systems Aims and scope Submit manuscript

Abstract

We characterize the observable behavior of multi-threaded, object-oriented components with re-entrant monitors. We show that a compositional approach leads to observable uncertainty wrt. monitor operations at the interface which we capture 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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abadi, M., Cardelli, L.: A Theory of Objects. Monographs in Computer Science. Springer, New York (1996)

    MATH  Google Scholar 

  2. Ábrahám, E., Bonsangue, M.M., de Boer, F.S., Steffen, M.: Object connectivity and full abstraction for a concurrent calculus of classes. In: Li, Z., Araki, K. (eds.) ICTAC’04. Lecture Notes in Computer Science, vol. 3407, pp. 37–51. Springer, New York (2004)

    Google Scholar 

  3. Á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: Bonsangue, M., de Boer, F.S., de Roever, W.-P., Graf, S. (eds.) Proceedings of the Third International Symposium on Formal Methods for Components and Objects (FMCO 2004). Lecture Notes in Computer Science, vol. 3657, pp. 296–316. Springer, New York (2005)

    Chapter  Google Scholar 

  4. Ábrahám, E., Grüner, A., Steffen, M.: Dynamic heap-abstraction for open, object-oriented systems with thread classes. SoSYM J. (2007, accepted). This is a reworked version of the Institut für Informatik und Praktische Mathematik, Christian-Albrechts-Universität zu Kiel technical report nr. 0601 and an extended version of the CiE’06 extended abstract

  5. America, P.: Issues in the design of a parallel object-oriented language. Formal Aspects Comput. 1(4), 366–411 (1989)

    Article  Google Scholar 

  6. Brinch Hansen, P.: Operating System Principles. Prentice-Hall, Englewood Cliffs (1973)

    MATH  Google Scholar 

  7. de Boer, F.S., Clarke, D., Johnsen, E.B.: A complete guide to the future. In: de Nicola, R. (ed.) Proceedings of Programming Languages and Systems, 16th European Symposium on Programming, ESOP 2007, Vienna, Austria. Lecture Notes in Computer Science, vol. 4421, pp. 316–330 (2007)

  8. de Nicola, R., Hennessy, M.: Testing equivalences for processes. Theor. Comput. Sci. 34, 83–133 (1984)

    Article  MATH  Google Scholar 

  9. ECMA International Standardizing Information and Communication Systems: C# Language Specification, 2nd edn. (Dec. 2002). Standard ECMA-334

  10. Gordon, A.D., Hankin, P.D.: A concurrent object calculus: reduction and typing. In: Nestmann, U., Pierce, B.C. (eds.) Proceedings of HLCL ’98. Electronic Notes in Theoretical Computer Science, vol. 16.3. Elsevier, Amsterdam (1998)

    Google Scholar 

  11. Gosling, J., Joy, B., Steele, G.L., Bracha, G.: The Java Language Specification, 2nd edn. Addison-Wesley, Reading (2000)

    Google Scholar 

  12. Hoare, C.A.R.: Monitors: an operating system structuring concept. Commun. ACM 17(10), 549–557 (1974)

    Article  MATH  Google Scholar 

  13. Jeffrey, A., Rathke, J.: A fully abstract may testing semantics for concurrent objects. In: Proceedings of LICS ’02. IEEE Computer Society Press (July 2002)

  14. Jeffrey, A., Rathke, J.: Java Jr.: a fully abstract trace semantics for a core Java language. In: Sagiv, M. (ed.) Proceedings of ESOP 2005. Lecture Notes in Computer Science, vol. 3444, pp. 423–438. Springer, New York (2005)

    Google Scholar 

  15. Koutavas, V., Wand, M.: Bisimulations for untyped imperative objects. In: Sestoft, P. (ed.) Proceedings of Programming Languages and Systems, 15th European Symposium on Programming, ESOP 2005, Vienna, Austria. Lecture Notes in Computer Science, vol. 3924, pp. 146–161. Springer (2005)

  16. Koutavas, V., Wand, M.: Small bisimulations for reasoning about higher-order imperative programs. In: Proceedings of POPL ’06, pp. 141–152. ACM (Jan. 2006)

  17. Koutavas, V., Wand, M.: Reasoning about class behavior. In: Informal Workshop Record of FOOL 2007 (Jan. 2007)

  18. Milner, R.: Fully abstract models of typed λ-calculi. Theor. Comput. Sci. 4, 1–22 (1977)

    Article  MATH  MathSciNet  Google Scholar 

  19. Morris, J.H.: Lambda calculus models of programming languages. Ph.D. thesis, MIT (1968)

  20. Olderog, E.-R., Hoare, C.A.R.: Specification-oriented semantics of communicating processes. Acta Inf. 23(1), 9–66 (1986). A preliminary version appeared under the same title in the proceedings of the 10th ICALP 1983, volume 154 of LNCS

    Article  MATH  MathSciNet  Google Scholar 

  21. Plotkin, G.D.: LCF considered as a programming language. Theor. Comput. Sci. 5, 223–255 (1977)

    Article  MathSciNet  Google Scholar 

  22. Poetzsch-Heffter, A., Schäfer, J.: A representation-independent behavioral semantics for object-oriented components. In: Bonsangue, M.M., Johnsen, E.B. (eds.) FMOODS ’07. Lecture Notes in Computer Science, vol. 4468. Springer, New York (2007)

    Google Scholar 

  23. Potter, B.F., Sinclair, J.E., Till, D.: An Introduction to Formal Specification and Z. Series in Computer Science. Prentice-Hall, Englewood Cliffs (1990)

    Google Scholar 

  24. Smith, G.P.: An object-oriented approach to formal specification. Ph.D. thesis, Department of Computer Science, University of Queensland (Oct. 1992)

  25. Spivey, J.M.: The Z Notation: A Reference Manual. International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  26. Steffen, M.: Object-connectivity and observability for class-based, object-oriented languages. Habilitation thesis, Technische Faktultät der Christian-Albrechts-Universität zu Kiel (2006), submitted 4th July, accepted 7 February 2007

  27. The Creol language. http:www.ifi.uio.no/~creol (2007)

  28. Viswanathan, R.: Full abstraction for first-order objects with recursive types and subtyping. In: Proceedings of LICS ’98. IEEE Computer Society Press (July 1998)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Martin Steffen.

About this article

Cite this article

Ábrahám, E., Grüner, A. & Steffen, M. Abstract Interface Behavior of Object-Oriented Languages with Monitors. Theory Comput Syst 43, 322–361 (2008). https://doi.org/10.1007/s00224-007-9047-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00224-007-9047-0

Keywords

Navigation