A Concurrent Calculus with Atomic Transactions - Archive ouverte HAL Accéder directement au contenu
Pré-Publication, Document De Travail Année : 2006

A Concurrent Calculus with Atomic Transactions

Résumé

The Software Transactional Memory (STM) model is an original approach for controlling concurrent accesses to ressources without the need for explicit lock-based synchronization mechanisms. A key feature of STM is to provide a way to group sequences of read and write actions inside atomic blocks, similar to database transactions, whose whole effect should occur atomically. In this paper, we investigate STM from a process algebra perspective and define an extension of asynchronous CCS with atomic blocks of actions. Our goal is not only to set a formal ground for reasoning on STM implementations but also to understand how this model fits with other concurrency control mechanisms. We also view this calculus as a test bed for extending process calculi with atomic transactions. This is an interesting direction for investigation since, for the most part, actual works that mix transactions with process calculi consider compensating transactions, a model that lacks all the well-known ACID properties. We show that the addition of atomic transactions results in a very expressive calculus, enough to easily encode other concurrent primitives such as guarded choice and multiset-synchronization (à la join-calculus). The correctness of our encodings is proved using a suitable notion of bisimulation equivalence. The equivalence is then applied to prove interesting ``laws of transactions'' and to obtain a simple normal form for transactions.
Fichier principal
Vignette du fichier
AtCCS_full.pdf (227.01 Ko) Télécharger le fichier
Loading...

Dates et versions

hal-00109264 , version 1 (24-10-2006)

Identifiants

Citer

Lucia Acciai, Michele Boreale, Silvano Dal Zilio. A Concurrent Calculus with Atomic Transactions. 2006. ⟨hal-00109264⟩
75 Consultations
111 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More