Combining tasking and transactions, part II: open multithreaded transactions

This position paper is a follow-up paper of [1], presented at the last IRTAW workshop. The paper describes a model for providing transaction support for concurrent programming languages such as Ada 95. In order to achieve smooth integration, the use of the concurrency features provided by the Ada language should not be restricted inside a transaction. A transaction model that meets this requirement is presented. Tasks inside such a transaction may spawn new tasks, but also external tasks are allowed to join an ongoing transaction. A blocking commit protocol ensures that no task leaves the transaction before its outcome has been determined. Exceptions are used to inform all participants in case a transaction aborts. Possible interfaces for the Ada programmer are discussed.

[1]  Alexander Romanovsky A study of atomic action schemes intended for standard Ada , 1998, J. Syst. Softw..

[2]  Andy J. Wellings,et al.  On Programming Atomic Actions in Ada 95 , 1997, Ada-Europe.

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

[4]  Cecília M. F. Rubira,et al.  Fault tolerance in concurrent object-oriented software through coordinated error recovery , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[5]  David W. Stemple,et al.  Recoverable Actions in Gutenberg , 1986, ICDCS.

[6]  Jörg Kienzle,et al.  Transaction Support for Ada , 2001, Ada-Europe.

[7]  Brian Randell System structure for software fault tolerance , 1975 .

[8]  Brian Randell,et al.  Error recovery in asynchronous systems , 1986, IEEE Transactions on Software Engineering.

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

[10]  Santosh K. Shrivastava,et al.  The Design and Implementation of Arjuna , 1995, Comput. Syst..

[11]  Alan Burns,et al.  Implementing Atomic Actions in Ada 95 , 1997, IEEE Trans. Software Eng..

[12]  Calton Pu,et al.  Split-Transactions for Open-Ended Activities , 1988, VLDB.

[13]  J. Gregory Morrisett,et al.  Composing first-class transactions , 1994, TOPL.

[14]  Won Kim,et al.  On Long-Duration CAD Transactions , 1989, Inf. Sci..

[15]  Hermann Kopetz,et al.  Fault tolerance, principles and practice , 1990 .

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

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