Advertisement

An Equational Theory for Transactions

  • Andrew P. Black
  • Vincent Cremet
  • Rachid Guerraoui
  • Martin Odersky
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2914)

Abstract

Transactions are commonly described as being ACID: All-or-nothing, Consistent, Isolated and Durable. However, although these words convey a powerful intuition, the ACID properties have never been given a precise semantics in a way that disentangles each property from the others. Among the benefits of such a semantics would be the ability to trade-off the value of a property against the cost of its implementation. This paper gives a sound equational semantics for the transaction properties. We define three categories of actions, A-actions, I-actions and D-actions, while we view Consistency as an induction rule that enables us to derive system-wide consistency from local consistency. The three kinds of action can be nested, leading to different forms of transactions, each with a well-defined semantics. Conventional transactions are then simply obtained as ADI-actions. From the equational semantics we develop a formal proof principle for transactional programs, from which we derive the induction rule for Consistency.

Keywords

Canonical Form Equational Theory Parallel Composition Concurrency Control Atomic Action 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Lomet, D.B.: Process structuring, synchronization, and recovery using atomic actions. In: Proceedings of the ACM Conference on Language Design for Reliable Software, SIGPLAN Notices, vol. 12, pp. 128–137 (1977)Google Scholar
  2. 2.
    Haerder, T., Reuter, A.: Principles of transaction-oriented database recovery. COMPSUR 15(4), 287–317 (1983)MathSciNetGoogle Scholar
  3. 3.
    Moss, J.E.B.: Nested transactions: An approach to reliable distributed computing, March 1985. MIT Press, Cambridge (1985)Google Scholar
  4. 4.
    Bernstein, P., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Database Systems. Addison-Wesley, Reading (1987)Google Scholar
  5. 5.
    Black, A.P.: Understanding transactions in the operating system context. Record of the Fourth ACM SIGOPS European Workshop, Operating Systems Review 25(1), 73–76 (1991); Workshop held in Bologna, Italy (September 1990)CrossRefMathSciNetGoogle Scholar
  6. 6.
    Gray, J., Reuter, A.: Transaction Processing: Techniques and Concepts. Morgan Kaufmann, San Francisco (1992)Google Scholar
  7. 7.
    Spector, A.Z., et al.: Support for distributed transactions in the TABS prototype. IEEE Transactions on Software Engineering 11(6) (June 1985)Google Scholar
  8. 8.
    Eppinger, J., Mummert, L., Spector, A.: Camelot and Avalon: A Distributed Transaction Facility. Morgan Kaufmann Publishers, San Francisco (1991)Google Scholar
  9. 9.
    Liskov, B., Scheifler, R.: Guardians and actions: Linguistic support distributed programs. ACM Transactions on Programming Languages and Systems (July 1993)Google Scholar
  10. 10.
    Parrington, G., Schrivastava, S.: Implementing concurrency control in reliable distributed object-oriented systems. In: Gjessing, S., Nygaard, K. (eds.) ECOOP 1988. LNCS, vol. 322, pp. 233–249. Springer, Heidelberg (1988)CrossRefGoogle Scholar
  11. 11.
    Detlefs, D., Herlihy, M., Wing, J.: Inheritance of synchronization and recovery properties in Avalon/C++. IEEE Computer (December 1988)Google Scholar
  12. 12.
    Guerraoui, R., Capobianchi, R., Lanusse, A., Roux, P.: Nesting Actions through Asynchronous Message Passing: the ACS protocol. In: Proceedings of the European Conference on Object-Oriented Programming. LNCS, Springer, Heidelberg (1992)Google Scholar
  13. 13.
    Wing, J.: Decomposing and Recomposing Transactional Concepts. In: Guerraoui, R., Riveill, M., Nierstrasz, O. (eds.) ECOOP-WS 1993. J. Wing, vol. 791, Springer, Heidelberg (1994)CrossRefGoogle Scholar
  14. 14.
    Chrysantis, P., Ramamritham, K.: ACTA: A Framework for Specifying and Reasoning about Transaction Structure and Behavior. In: ACM SIGMOD International Conference on Management of Data (1990)Google Scholar
  15. 15.
  16. 16.
  17. 17.
  18. 18.
  19. 19.
  20. 20.
    Berger, M., Honda, K.: The Two-phase Commitment Protocol in an Extended Pi-calculus. In: Proceedings of EXPRESS 2000, ENTCS (2000)Google Scholar
  21. 21.
    Bernstein, A., Lewis, P., Lu, S.: Semantic Conditions for Correctness at Different Isolation Levels. In: 16th Int’l Conf. on Data Engineering (2000)Google Scholar
  22. 22.
    Black, A.P., Cremet, V., Guerraoui, R., Odersky, M.: An Equational Theory for Transactions. EPFL Technical Report IC/2003/26 (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Andrew P. Black
    • 1
  • Vincent Cremet
    • 2
  • Rachid Guerraoui
    • 2
  • Martin Odersky
    • 2
  1. 1.OGI School of Science & EngineeringOregon Health and Science University 
  2. 2.Ecole polytechnique Federale de Lausanne (EPFL) 

Personalised recommendations