Summary: Towards a Grainless Semantics
for Shared Variable Concurrency
John C. Reynolds
Carnegie Mellon University
Queen Mary, University of London
December 14, 2010
This is a preliminary draft describing
work in progress
What is the meaning of
x := x × x x := x + 1 ?
Are the assignment commands atomic, so that it is either
x := x × x ; x := x + 1 or x := x + 1 ; x := x × x ?
or are evaluation and store operations atomic:
(t1 := x × x ; x := t1) (t2 := x + 1 ; x := t2) ?
or is each lookup and store atomic:
(t1 := x ; t2 := x ; x := t1 × t2) (t3 := x ; x := t3 + 1) ?
or is the granularity even finer: