Transaction Support for Ada

This paper describes the transaction support framework OPTIMA and its implementation for Ada 95. First, a transaction model that fits concurrent programming languages is presented. Then the design of the framework is given. Applications from many different domains can benefit from using transactions; it is therefore important to provide means to customize the framework depending on the application requirements. This flexibility is achieved by using design patterns. Class hierarchies with classes implementing standard transactional behavior are provided, but a programmer is free to extend the hierarchies by implementing application-specific functionalities. An interface for Ada programmers is presented and its use demonstrated via a simple example.

[1]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[2]  Philip A. Bernstein,et al.  Concurrency Control in Distributed Database Systems , 1986, CSUR.

[3]  Jørgen Lindskov Knudsen,et al.  Advances in Exception Handling Techniques , 2001, Lecture Notes in Computer Science.

[5]  Hector Garcia-Molina,et al.  Using semantic knowledge for transaction processing in a distributed database , 1983, TODS.

[6]  Ricardo Jiménez-Peris,et al.  Integrating Groups and Transactions: A Fault-Tolerant Extension of Ada , 1998, Ada-Europe.

[7]  Jörg Kienzle Combining tasking and transaction , 1999 .

[8]  F. J. Ballesterosz Translib: an Ada 95 Object Oriented Framework for Building Transactional Applications , 2000 .

[9]  Hubert B. Keller,et al.  Reliable Software Technologies Ada-Europe 2000 , 2000, Lecture Notes in Computer Science.

[10]  Alfred Strohmeier,et al.  Fault Tolerance by Transparent Replication for Distributed Ada 95 , 1999, Ada-Europe.

[11]  Jörg Kienzle,et al.  Open Multithreaded Transactions: A Transaction Model for Concurrent Object-Oriented Programming , 2003 .

[12]  John B. Goodenough,et al.  Exception handling: issues and a proposed notation , 1975, CACM.

[13]  Jörg Kienzle Open Multithreaded Transactions , 2003, Springer Netherlands.

[14]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[15]  Jörg Kienzle,et al.  On Persistent and Reliable Streaming in Ada , 2000, Ada-Europe.

[16]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[17]  Jörg Kienzle Exception Handling in Open Multithreaded Transactions , 2000 .