In this thesis, we present a new concurrency control scheme for long-lived transactions, named ALOT (Algorithm for scheduling LOng-lived Transactions), in order to coordinate concurrent design activities in collaborative design applications. ALOT consists of two complementary concurrency control schemes: ALOT/SCC (ALOT for Semantic Concurrency Control) and ALOT/CBL (ALOT for Conditional Blocking). ALOT/SCC weakens the usual notion of serializability with the semantics of target applications. On the other hand, ALOT/CBL guarantees to produce serializable executions and it does not depend on any application-specific semantics. ALOT allows to exploit the semantics of target applications with ALOT/SCC, and thus support more concurrent executions for long-lived transactions. Furthermore, with ALOT/CBL, ALOT is able to also support applications where their semantics are not well understood.
Unlike the previous approaches for coordinating design activities, in which each designer faces complexity of a design activity, ALOT/SCC encapsulates this complexity from designers. This is achieved by two notions: (1) transaction template that guides the designer not to produce incorrect design results due to misunderstanding of complex design activities, and (2) interleaving specification that enables the designer to cooperate with his group members in a consistent way. Transaction templates are usually predefined by expert designers and stored in the template database. Interleaving specification is generated automatically when a designer retrieves a transaction template and instantiates it. In ALOT/SCC, therefore, any designer does not need to know the details of his design activities, and also does not need to concern about the moment of release for his intermediate results.
ALOT/CBL extends the conventional 2PL on the basis of cycle detection to determine if conflicting lock modes could be hold on the same data. In order to guarantee the serializability, ALOT/CBL maintains...