Abstract
A structural operational semantics of a non trivial sublanguage of Java is presented. This language includes dynamic creation of objects, blocks, and synchronization of threads. First we introduce a simple operational description of the sequential part of the language, where the memory is treated as an algebra with suitably axiomatized operations. Then, the interaction between threads via a shared memory is described in terms of structures, called “event spaces,” whose wellformedness conditions formalize directly the rules given in the Java language specification. Event spaces are included in the operational judgements to develop the semantics of the full multi-threaded sublanguage, which is shown to extend the one for sequential Java conservatively. The result allows sequential programs to be reasoned about in a simplified computational framework without loss of generality.
Preview
Unable to display preview. Download preview PDF.
References
Ken Arnold and James Gosling. The Java Programming Language. Addison-Wesley, Reading, Mass., 1996.
Sophia Drossopoulou and Susan Eisenbach. Java is Type Safe — Probably. In Mehmet Aksit, editor, Proc. 11 th Europ. Conf. Object-Oriented Programming, volume 1241 of Lect. Notes Comp. Sci., pages 389–418, Berlin, 1997. Springer.
James Gosling, Bill Joy, and Guy Steele. The Java Language Specification. Addison-Wesley, Reading, Mass., 1996.
Doug Lea. Concurrent Programming in Java. Addison-Wesley, Reading, Mass., 1997.
Wei Li. An Operational Semantics of Multitasking and Exception Handling in Ada. In Proc. AdaTEC Conf. Ada, pages 138–151, New York, 1982. ACM SIGAda.
Robin Milner, Mads Tofte, Robert Harper, and David MacQueen. The Definition of Standard ML (Revised). MIT Press, Cambridge, Mass., 1997.
Gordon D. Plotkin. Structural Operational Semantics (Lecture notes). Technical Report DAIMI FN-19, Aarhus University, 1981 (repr. 1991).
Glynn Winskel. An Introduction to Event Structures. In Jacobus W. de Bakker, editor, Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, volume 354 of Lect. Notes Comp. Sci., Berlin, 1988. Springer.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cenciarelli, P., Knapp, A., Reus, B., Wirsing, M. (1997). From sequential to multi-threaded Java: An event-based operational semantics. In: Johnson, M. (eds) Algebraic Methodology and Software Technology. AMAST 1997. Lecture Notes in Computer Science, vol 1349. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0000464
Download citation
DOI: https://doi.org/10.1007/BFb0000464
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63888-9
Online ISBN: 978-3-540-69661-2
eBook Packages: Springer Book Archive