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 transaction 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 transaction mechanism that permits the study of different transaction models.
Finally, a framework for specifying the semantics of transactions in an object calculus is given in REF .
A Semantic Framework for Designer Transactions
In Proceedings of the European Symposium on Programming
Computer Science