An operational happens-before memory model
the java memory model : operationally , denotationally , axiomatically .