106 articles – 48 references  [version française]
HAL: hal-00109264, version 1

Detailed view  Export this paper
A Concurrent Calculus with Atomic Transactions
Lucia Acciai 1, Michele Boreale 2, Silvano Dal Zilio 1
(2006-10-24)

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.
1:  Laboratoire d'informatique Fondamentale de Marseille (LIF)
CNRS : UMR6166 – Université de la Méditerranée - Aix-Marseille II – Université de Provence - Aix-Marseille I
2:  Dipartimento di Sistemi e Informatica (DSI)
Università degli studi di Firenze
Computer Science/Logic in Computer Science

Computer Science/Programming Languages

Computer Science/Distributed, Parallel, and Cluster Computing
transaction – software transactional memory – process calculus – concurrency
Attached file list to this document: 
PS
AtCCS_full.ps(267.7 KB)
PDF
AtCCS_full.pdf(227 KB)