Academia.eduAcademia.edu

An Operational Semantics including ‘Volatile’ for Safe Concurrency

2009, The Journal of Object Technology

Abstract

In this paper, we define a novel "write-key" operational semantics for a kernel language with fork-join parallelism, synchronization and "volatile" fields. We prove that programs that never suffer write-key errors are exactly those that are "data race free" and also those that are "correctly synchronized" in the Java memory model. This 3-way equivalence is proved using Twelf.