DISCIPLINED OBJECT-ORIENTED CONCURRENCY CONTROL
This thesis investigates the applicability of object-oriented programming to the domain of concurrency control. Approaches to object-oriented concurrency control are described and evaluated, revealing that many do not distinguish between different concurrency control problems and do not recognize the dependencies these problems have on object interfaces and implementations. This thesis shows that such omissions make inheritance of concurrency policies complicated and error-prone, and develops an approach to object concurrency control that avoids both failings. A separation of the typing and code reuse hierarchies allows subtyping principles to be applied to the inheritance of synchronization, concurrent access control, priority and active object properties, resulting in concurrency control policies that are easily inheritable and incrementally modifiable. Automated tools are shown to play a large role in this process. The feasibility of verifying the system using a process calculus is discussed.