Abstract

Traditionally transactions have been singlethreaded. In such an environment the thread terminating the transaction is, by definition, the thread which performed the work. Therefore, transaction termination is implicitly synchronised with the completion of the transactional work. With the increased availability of both software and hardware multi-threading, transaction services are being required to allow multiple threads to be active within a transaction. In these systems it is important to guarantee that all threads have completed when a transaction is terminated, otherwise some work may not be performed transactionally.
In this paper we present a protocol for the enforcement of checked transactional behaviour within an asynchronous environment. We illustrate the use of the protocol within a proposed implementation for a CORBA-compliant Object Transaction Service intended for a soft real-time application which makes extensive use of concurrency and asynchronous message passing.

Checked Transactions in an Asynchronous Message Passing Environment
Caughey, S.J., Little, M.C. and Shrivastava, S.K.
In 1st IEEE International Symposium on Object-Oriented Real-time Distributed Computing (ISORC '98), Kyoto, Japan, 20-22 April 1998
pp 222-229
IEEE Computer Society Press, 1998ISBN 0-8186-8430-5