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
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. Abadi and L. Cardelli. A Theory of Objects. Monographs in Computer Science. Springer, 1996.
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.
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.
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.
J. Alves-Foss, editor. Formal Syntax and Semantics of Java, volume 1523 of LNCS State-of-the-Art-Survey. Springer-Verlag, 1999.
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.
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.
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.
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.
J. Gosling, B. Joy, and G. L. Steele. The Java Language Specification. Addison-Wesley, 1996.
K. Havelund. Java Pathfinder User Manual. NASA, Aug. 1999. NASA Ames Technical Report, available at http://ase.arc.nasa.gov/havelund/jpf.html.
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.
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.
R. Stärk, J. Schmid, and E. Bürger. Java and the Java Virtual Machine: Definition, Verification, Validation. Springer-Verlag, 2001.
C. Wallace. The semantics of the Java programming language. Technical Report CSE-TR-355-97, University of Michigan, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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