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
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)