A Unified Conceptual Model for Distributed Transactions
Distributed transaction processing systems can be unnecessarily complex when crosscutting concerns, e.g. logging, concurrency controls, transaction management, and access controls, are scattered throughout the transaction processing logic or tangled into otherwise cohesive modules. Aspect orientation has the potential of reducing this kind of complexity with better modularization and encapsulation of crosscutting concerns, but currently aspect-oriented programming languages and frameworks only allow weaving of advice, i.e., the logic for crosscutting concerns, into contexts derived from traditional executable structures, such as method calls, constructors, and exceptions. This paper lays a foundation for weaving advice into distributed transactions by considering them to be target contexts and identifying interesting points in time, i.e., events, into which advice may be woven. To establish this foundation, we survey common approaches to transaction management, distribution, and execution; concurrency controls; and rollback. We then capture these ideas in a conceptual model, called Unified Model for Distributed Transactions (UMDT), and show that this model accurately describes all the common approaches. In the end, this model defines interesting point in time relative to transactions in general and what a transaction may know at those points in time, i.e., its context. A brief discussion of advice weaving and the potential for reducing complexity with transaction-specific aspects is provided, but the details of the actual weaving are left for another paper.
Alsobeh, Anas, "A Unified Conceptual Model for Distributed Transactions" (2014). Graduate Research Symposium. Paper 1.