Authors
Pietro Cenciarelli, Alexander Knapp, Bernhard Reus, Martin Wirsing
Publication date
1999
Journal
Formal syntax and semantics of Java
Pages
157-200
Publisher
Springer Berlin Heidelberg
Description
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.
Total citations
19981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023265111212777785221143132
Scholar articles
P Cenciarelli, A Knapp, B Reus, M Wirsing - Formal syntax and semantics of Java, 1999