“…Examples include (but are not limited to), consistency requirements (i.e., a method/transaction has to preserve a number of static integrity constraints) [4], the correctness of undo methods (i.e., for each method another method has to be specified which compensates the effects of the method) [9], and commutativity tables (i.e., for each method pair, it has to be specified when two methods commute) [17]. Such knowledge about the semantics of a schema is used by so-called advanced transaction models to provide more flexible mechanisms for concurrency control [12].…”