  In this paper we develop a theory for correctness of concurrent objects under
weak memory models. Central to our definitions is the concept of observations
which determine when effects of operations become visible, and hence determine
the semantics of objects, under a given memory model. The resulting notion of
correctness, called object refinement, is generic as it is parameterised by the
memory model under consideration. Our theory enforces the minimal constraints
on the placing of observations and on the semantics of objects that underlie
object refinement. Object refinement is suitable as a reference for correctness
when proving new proof methods for objects under weak memory models to be sound
and complete.
