Theory of Computing Systems

, Volume 43, Issue 3–4, pp 322–361 | Cite as

Abstract Interface Behavior of Object-Oriented Languages with Monitors

Article

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.

Keywords

Formal semantics Object oriented languages Thread-based concurrency Monitors Open systems Observable interface behavior 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abadi, M., Cardelli, L.: A Theory of Objects. Monographs in Computer Science. Springer, New York (1996) MATHGoogle Scholar
  2. 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. 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) CrossRefGoogle Scholar
  4. 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 Google Scholar
  5. 5.
    America, P.: Issues in the design of a parallel object-oriented language. Formal Aspects Comput. 1(4), 366–411 (1989) CrossRefGoogle Scholar
  6. 6.
    Brinch Hansen, P.: Operating System Principles. Prentice-Hall, Englewood Cliffs (1973) MATHGoogle Scholar
  7. 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) Google Scholar
  8. 8.
    de Nicola, R., Hennessy, M.: Testing equivalences for processes. Theor. Comput. Sci. 34, 83–133 (1984) MATHCrossRefGoogle Scholar
  9. 9.
    ECMA International Standardizing Information and Communication Systems: C# Language Specification, 2nd edn. (Dec. 2002). Standard ECMA-334 Google Scholar
  10. 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. 11.
    Gosling, J., Joy, B., Steele, G.L., Bracha, G.: The Java Language Specification, 2nd edn. Addison-Wesley, Reading (2000) Google Scholar
  12. 12.
    Hoare, C.A.R.: Monitors: an operating system structuring concept. Commun. ACM 17(10), 549–557 (1974) MATHCrossRefGoogle Scholar
  13. 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) Google Scholar
  14. 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. 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) Google Scholar
  16. 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) Google Scholar
  17. 17.
    Koutavas, V., Wand, M.: Reasoning about class behavior. In: Informal Workshop Record of FOOL 2007 (Jan. 2007) Google Scholar
  18. 18.
    Milner, R.: Fully abstract models of typed λ-calculi. Theor. Comput. Sci. 4, 1–22 (1977) MATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Morris, J.H.: Lambda calculus models of programming languages. Ph.D. thesis, MIT (1968) Google Scholar
  20. 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 MATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Plotkin, G.D.: LCF considered as a programming language. Theor. Comput. Sci. 5, 223–255 (1977) CrossRefMathSciNetGoogle Scholar
  22. 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. 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. 24.
    Smith, G.P.: An object-oriented approach to formal specification. Ph.D. thesis, Department of Computer Science, University of Queensland (Oct. 1992) Google Scholar
  25. 25.
    Spivey, J.M.: The Z Notation: A Reference Manual. International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1989) MATHGoogle Scholar
  26. 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 Google Scholar
  27. 27.
    The Creol language. http:www.ifi.uio.no/~creol (2007)
  28. 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) Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  • Erika Ábrahám
    • 1
  • Andreas Grüner
    • 2
  • Martin Steffen
    • 3
  1. 1.Albert-Ludwigs-University FreiburgFreiburgGermany
  2. 2.Christian-Albrechts-University KielKielGermany
  3. 3.University of OsloOsloNorway

Personalised recommendations