Degree Name

Doctor of Philosophy


Department of Computer Science


This thesis is about scheduling in object-oriented distributed systems that support nested transactions. Novel linguistic constructs are introduced that allow the specification of transaction and thread semantics over messages independently. This so-called "generalized message scheme" provides a richer set of useful programming abstractions than does the traditional nested transaction model. For this reason, the scheduling semantics of the traditional nested transaction model are extended to cover all abstractions provided by the generalized message scheme. An implementation-independent scheduling mechanism is presented that satisfies these scheduling semantics. Also, an efficient implementation of this scheduling mechanism is described.

The mechanisms presented in this thesis have a number of advantages over existing approaches. Separation of transaction and thread semantics achieve more flexibility during system development and more efficiency during system execution. Typical features of object-orientation like reusability, extendibility and maintainability are supported. Programmers can fine-tune the performance of their applications without having to change the structure or semantics of the code. It is shown that the proposed mechanisms, though more general than traditional mechanisms, can be implemented as efficiently as traditional mechanisms.