Specification of Concurrency Control in Persistent Programming Languages

This paper proposes a mechanism for object-oriented database languages which allows the specification of as much concurrency among method executions as a user needs. This proposal goes towards the use of semantic information about methods and it allows a user to specify some kind of observational independence among methods by means of a construct called concurrent behaviour. It is shown that, as far as such method commutativity is concerned, there is no direct relation between super-types and sub-types, that is, a sub-type can be either “less concurrent” or “more concurrent” than its super-type. The notion of correctness for interleaved executions of transactions is presented taking into account the concurrent behaviour of objects, and a possible implementation of the proposed construct is outlined.