Technical Report CS0922

Title: Java Consistency = Causality + Coherency. Non-Operational Characterizations for the Java Me mory Behavior.
Authors: Alex Gontmakher and Assaf Schuster
PDF - RevisedCS0922.revised.pdf
Abstract: We provide non-operational, declarative characterizations of the Java memory coherency model (Java Consistency, or simply Java). The work is based on the operational, imperative definiti on of the Java memory consistency as given in the Java Language Spe cification \cite{JLS}. We first compare the memory behavior to that of some prev iously studied models, proving that Java is incomparable to PRAM Consist ency and to both versions of Processor Consistency. We show that a programmer can rely on Coherence for regul ar variables, Sequential Consistency for volatile variables, and Releas e Consistency when locks are employed. We then present two non-operational definitions, and show their equivalence to the memory behavior of the Java Virtual Machine (which determines the implementor view of Java). We proceed to give two non-operational definitions and show their equivalence to Java Consistency (which determines the Java programmer view). This work is part of an on-going effort for the design of a distributed Java environment on top of the Millipede virtual parallel machine (see in a correct and efficient way.
CopyrightThe above paper is copyright by the Technion, Author(s), or others. Please contact the author(s) for more information

Remark: Any link to this technical report should be to this page (, rather than to the URL of the PDF files directly. The latter URLs may change without notice.

To the list of the CS technical reports of 1997
To the main CS technical reports page

Computer science department, Technion