The University of Southampton
University of Southampton Institutional Repository

A trace semantics for long-running transactions

A trace semantics for long-running transactions
A trace semantics for long-running transactions
A long-running transaction is an interactive component of a distributed system which must be executed as if it were a single atomic action. In principle, it should not be interrupted or fail in the middle, and it must not be interleaved with other atomic actions of other concurrently executing components of the system. In practice, the illusion of atomicity for a long-running transaction is achieved with the aid of compensation actions supplied by the original programmer: because the transaction is interactive, familiar automatic techniques of check-pointing and roll-back are no longer adequate. This paper constructs a model of long-running transactions within the framework of the CSP process algebra, showing how the compensations are orchestrated to achieve the illusion of atomicity. It introduces a method for declaring that a process is a transaction, and for declaring a compensation for it in case it needs to be rolled back after it has committed. The familiar operator of sequential composition is redefined to ensure that all necessary compensations will be called in the right order if a later failure makes this necessary. The techniques are designed to work well in a highly concurrent and distributed setting. In addition we define an angelic choice operation, implemented by speculative execution of alternatives; its judicious use can improve responsiveness of a system in the face of the unpredictable latencies of remote communication. Many of the familiar properties of process algebra are preserved by these new definitions, on reasonable assumptions of the correctness and independence of the programmer-declared compensations.
3-540-25813-2
133-150
Butler, Michael
54b9c2c7-2574-438e-9a36-6842a3d53ed0
Hoare, C.A.R.
c8f54d7c-1c90-472c-ad9c-43cdb561e378
Ferreira, Carla
d9349b51-8ea9-491f-b31c-e54df2cdb38f
Abdallah, A.E.
32298b69-66a3-4f60-9d6f-8f30c68bad5c
Jones, C.B.
03e4aa08-a77d-4c8f-9466-196481de69c4
Sanders, J.W.
48b22f43-a5ff-46db-9f4b-90ff140be4d6
Butler, Michael
54b9c2c7-2574-438e-9a36-6842a3d53ed0
Hoare, C.A.R.
c8f54d7c-1c90-472c-ad9c-43cdb561e378
Ferreira, Carla
d9349b51-8ea9-491f-b31c-e54df2cdb38f
Abdallah, A.E.
32298b69-66a3-4f60-9d6f-8f30c68bad5c
Jones, C.B.
03e4aa08-a77d-4c8f-9466-196481de69c4
Sanders, J.W.
48b22f43-a5ff-46db-9f4b-90ff140be4d6

Butler, Michael, Hoare, C.A.R. and Ferreira, Carla (2005) A trace semantics for long-running transactions. Abdallah, A.E., Jones, C.B. and Sanders, J.W. (eds.) 25 Years of CSP, London. pp. 133-150 .

Record type: Conference or Workshop Item (Paper)

Abstract

A long-running transaction is an interactive component of a distributed system which must be executed as if it were a single atomic action. In principle, it should not be interrupted or fail in the middle, and it must not be interleaved with other atomic actions of other concurrently executing components of the system. In practice, the illusion of atomicity for a long-running transaction is achieved with the aid of compensation actions supplied by the original programmer: because the transaction is interactive, familiar automatic techniques of check-pointing and roll-back are no longer adequate. This paper constructs a model of long-running transactions within the framework of the CSP process algebra, showing how the compensations are orchestrated to achieve the illusion of atomicity. It introduces a method for declaring that a process is a transaction, and for declaring a compensation for it in case it needs to be rolled back after it has committed. The familiar operator of sequential composition is redefined to ensure that all necessary compensations will be called in the right order if a later failure makes this necessary. The techniques are designed to work well in a highly concurrent and distributed setting. In addition we define an angelic choice operation, implemented by speculative execution of alternatives; its judicious use can improve responsiveness of a system in the face of the unpredictable latencies of remote communication. Many of the familiar properties of process algebra are preserved by these new definitions, on reasonable assumptions of the correctness and independence of the programmer-declared compensations.

Text
comptraces.pdf - Other
Download (201kB)

More information

Published date: October 2005
Additional Information: Event Dates: July 2004
Venue - Dates: 25 Years of CSP, London, 2004-07-01
Organisations: Electronic & Software Systems

Identifiers

Local EPrints ID: 260080
URI: http://eprints.soton.ac.uk/id/eprint/260080
ISBN: 3-540-25813-2
PURE UUID: 0c942b6e-05c5-4475-93c4-d63d1af92809
ORCID for Michael Butler: ORCID iD orcid.org/0000-0003-4642-5373

Catalogue record

Date deposited: 27 Jan 2005
Last modified: 15 Mar 2024 02:50

Export record

Contributors

Author: Michael Butler ORCID iD
Author: C.A.R. Hoare
Author: Carla Ferreira
Editor: A.E. Abdallah
Editor: C.B. Jones
Editor: J.W. Sanders

Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×