Skip to main content

From sequential to multi-threaded Java: An event-based operational semantics

  • Conference paper
  • First Online:
Algebraic Methodology and Software Technology (AMAST 1997)

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

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.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ken Arnold and James Gosling. The Java Programming Language. Addison-Wesley, Reading, Mass., 1996.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. James Gosling, Bill Joy, and Guy Steele. The Java Language Specification. Addison-Wesley, Reading, Mass., 1996.

    Google Scholar 

  4. Doug Lea. Concurrent Programming in Java. Addison-Wesley, Reading, Mass., 1997.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. Robin Milner, Mads Tofte, Robert Harper, and David MacQueen. The Definition of Standard ML (Revised). MIT Press, Cambridge, Mass., 1997.

    Google Scholar 

  7. Gordon D. Plotkin. Structural Operational Semantics (Lecture notes). Technical Report DAIMI FN-19, Aarhus University, 1981 (repr. 1991).

    Google Scholar 

  8. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Michael Johnson

Rights and permissions

Reprints 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

Publish with us

Policies and ethics