TransLib: an Ada 95 object oriented framework for building transactional applications

Citation
R. Jimenez-peris et al., TransLib: an Ada 95 object oriented framework for building transactional applications, COMP SYS SC, 15(1), 2000, pp. 7-18
Citations number
37
Categorie Soggetti
Computer Science & Engineering
Journal title
COMPUTER SYSTEMS SCIENCE AND ENGINEERING
ISSN journal
02676192 → ACNP
Volume
15
Issue
1
Year of publication
2000
Pages
7 - 18
Database
ISI
SICI code
0267-6192(200001)15:1<7:TAA9OO>2.0.ZU;2-U
Abstract
TransLib is an Ada 95 object oriented framework to program fault-tolerant a pplications, more concretely, it allows to program transactional distribute d applications. Transactions are one of the most widely used fault-toleranc e mechanisms. They provide data consistency in the presence of failures and concurrent ac tivities. One of the novelties of TransLib is that it uncouples concurrency control and recovery code from the code of data objects used by transactio ns. This feature enables to use regular objects in a transactional setting and vice versa what greatly improves reusability. TransLib provides commuta tivity-based locking, and different kinds of recovery, It also allows users to define their own recovery and concurrency control algorithms. Transacti ons and exceptions have been integrated in TransLib, that is, backward and forward recovery. In this integration, exceptions that cross transaction bo undaries cause transaction abortion and transaction abortions are notified as exceptions. TransLib implements a new transactional model, Group Transac tions, which integrates two existing fault tolerance techniques: transactio ns and process groups. In this transactional model transactions can be mult itask and/or multi-process. A set of design patterns documents TransLib. Ea ch one describes a component of TransLib architecture, such as recovery and concurrency control mechanisms. In this paper we describe the overall arch itecture of TransLib, as well as the design patterns that document it. Addi tionally, some aspects of the Ada 95 implementation are also discussed.