Abstract
The Software Transactional Memory (STM) model is an original approach for controlling concurrent accesses to resources 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. 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.
This work was partially supported by the French ANR ARASSIA project COPS and the EU FET-GC2 initiative, project SENSORIA.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Acciai, L., Boreale, M., Dal Zilio, S.: A Concurrent Calculus with Atomic Transactions (long version), http://arxiv.org/abs/cs.LO/0610137
Amadio, R., Castellani, I., Sangiorgi, D.: On Bisimulations for the Asynchronous π-Calculus. Th. Comp. Sci. 195(2), 291–324 (1998)
Berardi, D., et al.: Automatic Composition of Transition-Based Web Services with Messaging. In: Proc. of VLDB (2005)
Bergstra, J.A., Ponse, A., van Wamel, J.J.: Process Algebra with Backtracking. In: de Bakker, J.W., de Roever, W.-P., Rozenberg, G. (eds.) REX 1993. LNCS, vol. 803, Springer, Heidelberg (1994)
Bhiri, S., Perrin, O., Godart, C.: Ensuring Required Failure Atomicity of Composite Web Services. In: Proc. of WWW, ACM Press, New York (2005)
Odersky, M., et al.: An Equational Theory for Transactions. In: Pandya, P.K., Radhakrishnan, J. (eds.) FSTTCS 2003. LNCS, vol. 2914, pp. 38–49. Springer, Heidelberg (2003)
Zavattaro, G., Laneve, C., Bocchi, L.: A Calculus for Long-Running Transactions. In: Najm, E., Nestmann, U., Stevens, P. (eds.) FMOODS 2003. LNCS, vol. 2884, pp. 124–138. Springer, Heidelberg (2003)
Bruni, R., Melgratti, H.C., Montanari, U.: Nested Commits for Mobile Calculi: extending Join. In: Proc. of IFIP TCS, pp. 563–576 (2004)
Bruni, R., Melgratti, H.C., Montanari, U.: Theoretical Foundations for Compensations in Flow Composition Languages. In: Proc. of POPL, pp. 209–220. ACM Press, New York (2005)
Busi, N., Gorrieri, R., Zavattaro, G.: A Process Algebraic View of Linda Coordination Primitives. Th. Comp. Sci. 192(2), 167–199 (1998)
Butler, M.J., Ferreira, C., Ng, M.Y.: Precise Modeling of Compensating Business Transactions and its Application to BPEL. J. UCS 11, 712–743 (2005)
Chothia, T., Duggan, D.: Abstractions for Fault-Tolerant Global Computing. Th. Comp. Sci. 322(3), 567–613 (2004)
Danos, V., Krivine, J.: Reversible Communicating Systems. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 292–307. Springer, Heidelberg (2004)
Danos, V., Krivine, J.: Transactions in RCCS. In: Abadi, M., de Alfaro, L. (eds.) CONCUR 2005. LNCS, vol. 3653, pp. 398–412. Springer, Heidelberg (2005)
De Nicola, R., Hennessy, M.C.B.: Testing Equivalence for Processes. Th. Comp. Sci. 34, 83–133 (1984)
Gorrieri, R., Marchetti, S., Montanari, U.: A2CCS: Atomic Actions for CCS. Th. Comp. Sci. 72(2-3), 203–223 (1990)
Harris, T., et al.: Composable Memory Transactions. In: Proc. of PPOPP, pp. 48–60. ACM Press, New York (2005)
Herlihy, M., Moss, J.E.: Transactional Memory: Architectural Support for Lock-Free Data Structures. In: Proc. of International Symposium on Computer Architecture (1993)
Zavattaro, G., Laneve, C.: Foundations of Web Transactions. In: Sassone, V. (ed.) FOSSACS 2005. LNCS, vol. 3441, pp. 282–298. Springer, Heidelberg (2005)
Milner, R.: Calculi for Synchrony and Asynchrony. Th. Comp. Sci. 25, 267–310 (1983)
Palamidessi, C.: Comparing the Expressive Power of the Synchronous and the Asynchronous pi-calculus. Math. Struct. in Comp. Sci. 13(5) (2003)
Shavit, N., Touitou, D.: Software Transactional Memory. In: Proc. of Principles of Distributed Computing, ACM Press, New York (1995)
Vitek, J., et al.: A Semantic Framework for Designer Transactions. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986, pp. 249–263. Springer, Heidelberg (2004)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Acciai, L., Boreale, M., Dal Zilio, S. (2007). A Concurrent Calculus with Atomic Transactions. In: De Nicola, R. (eds) Programming Languages and Systems. ESOP 2007. Lecture Notes in Computer Science, vol 4421. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71316-6_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-71316-6_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-71314-2
Online ISBN: 978-3-540-71316-6
eBook Packages: Computer ScienceComputer Science (R0)