Abstract
A transaction defines a locus of computation that satisfies important concurrency and failure properties; these so-called ACID properties provide strong serialization guarantees that allow us to reason about concurrent and distributed programs in terms of higher-level units of computation (e.g., transactions) rather than lower-level data structures (e.g., mutual-exclusion locks). This paper presents a framework for specifying the semantics of a transactional facility integrated within a host programming language. The TFJ calculus supports nested and multi-threaded transactions. We give a semantics to TFJ that is parameterized by the definition of the transactional mechanism that permits the study of different transaction models.
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
Black, A., Cremet, V., Guerraoui, R., Odersky, M.: An Equational Theory for Transactions. Technical Report CSE 03-007, Department of Computer Science, OGI School of Science and Engineering (2003)
Bruni, R., Laneve, C., Montanari, U.: Orchestrating Transactions in Join Calculus. In: Brim, L., Jančar, P., Křetínský, M., Kucera, A. (eds.) CONCUR 2002. LNCS, vol. 2421, p. 321. Springer, Heidelberg (2002)
Busi, N., Gorrieri, R., Zavattaro, G.: On the Serializability of Transactions in JavaSpaces. In: ConCoord 2001, International Workshop on Concurrency and Coordination (2001)
Chothia, T., Duggan, D.: Abstractions for Fault-Tolerant Computing. Technical Report 2003-3, Department of Computer Science, Stevens Institute of Technology (2003)
Chrysanthis, P., Ramamritham, K.: Synthesis of Extended Transaction Models Using ACTA. ACM Transactions on Database Systems 19(3), 450–491 (1994)
Daynès, L.: Implementation of automated fine-granularity locking in a persistent programming language. Software—Practice and Experience 30(4), 325–361 (2000)
Daynès, L., Czajkowski, G.: High-performance, space-efficient, automated object locking. In: Proceedings of the International Conference on Data Engineering, pp. 163–172. IEEE Computer Society, Los Alamitos (2001)
Daynès, L., Czajkowski, G.: Lightweight flexible isolation for language-based extensible systems. In: Proceedings of the International Conference on Very Large Data Bases (2002)
Detlefs, D.D., Herlihy, M.P., Wing, J.M.: Inheritance of synchronization and recovery in Avalon/C++. IEEE Computer 21(12), 57–69 (1988)
Eppinger, J.L., Mummert, L.B., Spector, A.Z. (eds.): Camelot and Avalon: A Distributed Transaction Facility. Morgan Kaufmann, San Francisco (1991)
Garthwaite, A., Nettles, S.: Transactions for Java. In: Atkinson, M.P., Jordan, M.J. (eds.) Proceedings of the First International Workshop on Persistence and Java, pp. 6–14. Sun Microsystems Laboratories Technical Report 96-58 (November 1996)
Gray, J., Reuter, A.: Transaction Processing. Morgan-Kaufmann, San Francisco (1993)
Haines, N., Kindred, D., Gregory Morrisett, J., Nettles, S.M., Wing, J.M.: Composing first-class transactions. ACM Transactions on Programming Languages and Systems 16(6), 1719–1736 (1994)
Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight Java: a minimal core calculus for Java and GJ. ACM Transactions on Programming Languages and Systems 23(3), 396–450 (2001)
Liskov, B., Scheifler, R.: Guardians and actions: Linguistic support for robust distributed programs. ACM Transactions on Programming Languages and Systems 5(3), 381–404 (1983)
Lynch, N., Merritt, M., Weihl, W., Fekete, A.: Atomic Transactions. Morgan-Kaufmann, San Francisco (1994)
Eliot, J., Moss, B.: Nested transactions: An approach to reliable distributed computing. In: Proceedings of the Second Symposium on Reliability in Distributed Software and Database Systems, pp. 33–39. IEEE Computer Society, Los Alamitos (1982)
Eliot, J., Moss, B.: Nested Transactions: An Approach to Reliable Distributed Computing. MIT Press, Cambridge (1985)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Vitek, J., Jagannathan, S., Welc, A., Hosking, A.L. (2004). A Semantic Framework for Designer Transactions. In: Schmidt, D. (eds) Programming Languages and Systems. ESOP 2004. Lecture Notes in Computer Science, vol 2986. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24725-8_18
Download citation
DOI: https://doi.org/10.1007/978-3-540-24725-8_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21313-0
Online ISBN: 978-3-540-24725-8
eBook Packages: Springer Book Archive