An Event-Based Structural Operational Semantics of Multi-Threaded Java

  • Authors:
  • Pietro Cenciarelli;Alexander Knapp;Bernhard Reus;Martin Wirsing

  • Affiliations:
  • -;-;-;-

  • Venue:
  • Formal Syntax and Semantics of Java
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

A structural operational semantics of a significant sublanguage of Java is presented, including the running and stopping of threads, thread interaction via shared memory, synchronization by monitoring and notification, and sequential control mechanisms such as exception handling and return statements. The operational semantics is parametric in the notion of "event space" [6], which formalizes the rules that threads and memory must obey in their interaction. Different computational models are obtained by modifying the well-formedness conditions on event spaces while leaving the operational rules untouched. In particular, we implement the prescient stores described in [10, §17.8] which allow certain intermediate code optimizations, and prove that such stores do not affect the semantics of properly synchronized programs.