Skip to main content

A Compositional Operational Semantics for Java MT

  • Chapter
Verification: Theory and Practice

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2772))

Abstract

Besides the features of a class-based object-oriented language, Java integrates concurrency via its thread-classes, allowing for a multithreaded flow of control. The concurrency model includes shared-variable concurrency via instance variables, coordination via reentrant synchronization monitors, synchronous message passing, and dynamic thread creation.

In this paper we propose a class-based compositional operational semantics for multithreaded Java which provides a semantic characterization and a formal basis for further semantic investigations involving inheritance, subtyping, and full abstraction, and a compositional proof system.

Part of this work has been financially supported by IST project Omega (IST-2001-33522) and NWO/DFG project Mobi-J (RO 1122/9-1, RO 1122/9-2). © All rights remain with the authors

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi and L. Cardelli. A Theory of Objects. Monographs in Computer Science. Springer, 1996.

    Google Scholar 

  2. E. Ábrahám, F. S. de Boer, W.-P. de Roever, and M. Steffen. Inductive proof-outlines for monitors in Java. In U. Nestmann and P. Stevens, editors, FMOODS’ 03, Lecture Notes in Computer Science. Springer-Verlag, Nov. 2003. To appear. A longer version appeared as Software Technologie technical report TR-ST-03-1, April 2003.

    Google Scholar 

  3. E. Ábrahám-Mumm, F. S. de Boer, W.-P. de Roever, and M. Steffen. A tool-supported proof system for monitors in Java. In Proceedings of the FM CO 2002, 2002. To appear.

    Google Scholar 

  4. E. Ábrahám-Mumm, F. S. de Boer, W.-P. de Roever, and M. Steffen. Verification for Java’s reentrant multithreading concept. In M. Nielsen and U. H. Engberg, editors, Proceedings of FoSSaCS 2002, volume 2303 of Lecture Notes in Computer Science, pages 4-20. Springer-Verlag, Apr. 2002. A longer version, including the proofs for soundness and completeness, appeared as Technical Report TR-ST-02-1, March 2002.

    Google Scholar 

  5. J. Alves-Foss, editor. Formal Syntax and Semantics of Java, volume 1523 of LNCS State-of-the-Art-Survey. Springer-Verlag, 1999.

    Google Scholar 

  6. P. Cenciarelli, A. Knapp, B. Reus, and M. Wirsing. From sequential to multithreaded Java: An event-based operational semantics. In M. Johnson, editor, Proceedings of AMAST’ 97, volume 1349 of Lecture Notes in Computer Science, pages 75-90. Springer-Verlag, Dec. 1997.

    Google Scholar 

  7. P. Cenciarelli, A. Knapp, B. Reus, and M. Wirsing. An event-based structural operational semantics of multi-threaded Java. In Alves-Foss [5], pages 157-200.

    Google Scholar 

  8. P. Di Blasio and K. Fisher. A concurrent object calculus. In U. Montanari and V. Sassone, editors, Proceedings of CONCUR’ 96, volume 1119 of Lecture Notes in Computer Science, pages 655-670. Springer-Verlag, 1996. An extended version appeared as Stanford University Technical Note STAN-CS-TN-96-36, 1996.

    Google Scholar 

  9. A. D. Gordon and P. D. Hankin. A concurrent object calculus: Reduction and typing. In U. Nestmann and B. C. Pierce, editors, Proceedings of HLCL’ 98, volume 16.3 of Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers, 1998.

    Google Scholar 

  10. J. Gosling, B. Joy, and G. L. Steele. The Java Language Specification. Addison-Wesley, 1996.

    Google Scholar 

  11. K. Havelund. Java Pathfinder User Manual. NASA, Aug. 1999. NASA Ames Technical Report, available at http://ase.arc.nasa.gov/havelund/jpf.html.

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

    Google Scholar 

  13. X. Leroy. Java bytecode verification: An overview. In G. Berry, H. Comon, and A. Finkel, editors, Proceedings of C AV’ 01, volume 2102 of Lecture Notes in Computer Science, pages 265-285. Springer-Verlag, 2001.

    Google Scholar 

  14. R. Stärk, J. Schmid, and E. Bürger. Java and the Java Virtual Machine: Definition, Verification, Validation. Springer-Verlag, 2001.

    Google Scholar 

  15. C. Wallace. The semantics of the Java programming language. Technical Report CSE-TR-355-97, University of Michigan, 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Ábrahám, E., de Boer, F.S., de Roever, WP., Steffen, M. (2003). A Compositional Operational Semantics for Java MT . In: Dershowitz, N. (eds) Verification: Theory and Practice. Lecture Notes in Computer Science, vol 2772. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39910-0_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39910-0_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21002-3

  • Online ISBN: 978-3-540-39910-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics