Skip to main content

A Logic for Programming Database Transactions

  • Chapter
Logics for Databases and Information Systems

Part of the book series: The Springer International Series in Engineering and Computer Science ((SECS,volume 436))

Abstract

We propose an extension of classical predicate calculus, called Transaction Logic, which provides a logical foundation for the phenomenon of state changes in logic programs and databases. Transaction Logic comes with a natural model theory and a sound and complete proof theory. The proof theory not only verifies programs, but also executes them, which makes this logic an ideal tool for declarative programming of database transactions and state-modifying logic programs. The semantics of Transaction Logic leads naturally to features whose amalgamation in a single logic has proved elusive in the past. These features include hypothetical and committed updates, dynamic constraints on transaction execution, non-determinism, and bulk updates. Finally, Transaction Logic holds promise as a logical model of hitherto non-logical phenomena, including so-called procedural knowledge in AI, and the behavior of object-oriented databases, especially methods with side effects. This paper presents the semantics of Transaction Logic and a sound and complete SLD-style proof theory for a Horn-like subset of the logic.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. Abiteboul. Updates, a New Frontier. In Intl. Conference on Database Theory, pp. 1–18, 1988.

    Google Scholar 

  2. K. Apt, H. Blair, and A. Walker. Towards a Theory of Declarative Knowledge. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pp. 89–148. Morgan Kaufmann, Los Altos, CA, 1988.

    Google Scholar 

  3. S. Abiteboul, R. Hull, and V. Vianu. Foundations of Databases. Addison-Wesley, 1995.

    Google Scholar 

  4. J. Allen. Towards a General Theory of Action and Time. Artificial Intelligence, 23:123–154, July 1984.

    Article  MATH  Google Scholar 

  5. A. Aho and J. Ullman. Universality of Data Retrieval Languages. In ACM Symposium on Principles of Programming Languages, pp. 110–120, 1979.

    Google Scholar 

  6. S. Abiteboul and V. Vianu. Procedural Languages for Database Queries and Updates. Journal of Computer and System Sciences, 41:181–229, 1990.

    Article  MathSciNet  MATH  Google Scholar 

  7. S. Abiteboul and V. Vianu. Datalog Extensions for Database Queries and Updates. Journal of Computer and System Sciences, 43:62–124, 1991.

    Article  MathSciNet  MATH  Google Scholar 

  8. F. Bancilhon. A Logic-Programming/Object-Oriented Cocktail. SIGMOD Record, 15(3):11–21, September 1986.

    Article  Google Scholar 

  9. C. Beeri. New Data Models and Languages—The Challenge. In ACM Symposium on Principles of Database Systems, pp. 1–15, New York, June 1992. ACM.

    Google Scholar 

  10. A. Bonner and M. Kifer. Reasoning about Action in Transaction Logic. In preparation. Presented at the Dagstuhl Seminar on Logic Databases and the Meaning of Change, September 23-27 1996, International Conference and Research Center for Computer Science, Schloss Dagstuhl, Wadern, Germany.

    Google Scholar 

  11. A. Bonner and M. Kifer. An Overview of Transaction Logic. Theoretical Computer Science, 133:205–265, October 1994.

    Article  MathSciNet  MATH  Google Scholar 

  12. A. Bonner and M. Kifer. Transaction Logic Programming (or A Logic of Declarative and Procedural Knowledge). Technical Report CSRI-323, University of Toronto, November 1995. http://www.cs.toronto.edu/~bonner/transaction-logic.html.

  13. A. Bonner and M. Kifer. Concurrency and Communication in Transaction Logic. In Joint Intl. Conference and Symposium on Logic Programming, pp. 142–156, Bonn, Germany, September 1996. MIT Press.

    Google Scholar 

  14. A. Bonner, M. Kifer, and M. Consens. Database Programming in Transaction Logic. In A.O.C. Beeri and D. Shasha, editors, Proceedings of the International Workshop on Database Programming Languages, Workshops in Computing, pp. 309–337. Springer-Verlag, February 1994. Workshop held on Aug 30-Sept 1, 1993, New York City, NY.

    Google Scholar 

  15. A. Bonner. The Power of Cooperating Transactions. Submitted for publication.

    Google Scholar 

  16. A. Bonner. Intuitionistic Deductive Databases and the Polynomial Time Hierarchy. Journal of Logic Programming, 33(1):1–47, October 1997.

    Article  MathSciNet  MATH  Google Scholar 

  17. A. Bonner. A Logical Semantics for Hypothetical Rulebases with Deletion. Journal of Logic Programming, 32(2):119–170, August 1997.

    Article  MathSciNet  MATH  Google Scholar 

  18. A. Bonner. Transaction Datalog: a Compositional Language for Transaction Programming. In Proceedings of the International Workshop on Database Programming Languages, Estes Park, Colorado, August 1997. Springer Verlag. Long version available at http://www.cs.toronto.edu/~bonner/papers.html#transaction-logic.

  19. A. Bonner, A. Shrufi, and S. Rozen. LabFlow-1: a Database Benchmark for High-Throughput Workflow Management. In Intl. Conference on Extending Database Technology, number 1057 in Lecture Notes in Computer Science, pp. 463–478, Avignon, France, March 25-29 1996. Springer-Verlag.

    Google Scholar 

  20. A. Chandra and D. Harel. Computable Queries for Relational Databases. Journal of Computer and System Sciences, 21(2):156–178, 1980.

    Article  MathSciNet  MATH  Google Scholar 

  21. W. Chen. Declarative Specification and Evaluation of Database Updates. In Intl. Conference on Deductive and Object-Oriented Databases, volume 566 of Lecture Notes in Computer Science, pp. 147–166. Springer-Verlag, December 1991.

    Google Scholar 

  22. H. Davulcu, M. Kifer, C. Ramakrishnan, and I. Ramakrishnan. Logic Based Modelling and Analysis of Workflows. in preparation, October 1997.

    Google Scholar 

  23. H. Enderton. A Mathematical Introduction to Logic. Academic Press, 1972.

    Google Scholar 

  24. J. Finger. Exploiting Constraints in Design Synthesis. PhD thesis, Stanford University, 1986.

    Google Scholar 

  25. M. Gelfond and V. Lifschitz. The Stable Model Semantics for Logic Programming. In Logic Programming: Proceedings of the Fifth Conference and Symposium, pp. 1070–1080, 1988.

    Google Scholar 

  26. G. Grahne and A. Mendelzon. Updates and Subjunctive Queries. Information and Computation, 116(2):241–252, February 1995.

    Article  MathSciNet  MATH  Google Scholar 

  27. N. Goodman, S. Rozen, and L. Stein. Requirements for a Deductive Query Language in the MapBase Genome-Mapping Database. In R. Ramakrishnan, editor, Applications of Logic Databases, pp. 259–278. Kluwer, 1994. ftp://genome.wi.mit.edu/pub/papers/Y1994/requirements.ps.

  28. D. Harel. First-Order Dynamic Logic, volume 68 of Lecture Notes in Computer Science. Springer-Verlag, 1979.

    Google Scholar 

  29. D. Harel, D. Kozen, and R. Parikh. Process Logic: Expressiveness, Decidability, Completeness. Journal of Computer and System Sciences, 25(2):144–170, October 1982.

    Article  MathSciNet  MATH  Google Scholar 

  30. M. Kifer. Deductive and Object-Oriented Data Languages: A Quest for Integration. In Intl. Conference on Deductive and Object-Oriented Databases, Lecture Notes in Computer Science, pp. 187–212, Singapore, December 1995. Springer-Verlag. Keynote address at the 3d Intl. Conference on Deductive and Object-Oriented databases.

    Google Scholar 

  31. M. Kifer and E. Lozinskii. A Logic for Reasoning with Inconsistency. Journal of Automated Reasoning, 9(2):179–215, November 1992.

    Article  MathSciNet  MATH  Google Scholar 

  32. M. Kifer, G. Lausen, and J. Wu. Logical Foundations of Object-Oriented and Frame-Based Languages. Journal of ACM, pp. 741–843, July 1995.

    Google Scholar 

  33. H. Katsuno and A. Mendelzon. On the Difference between Updating a Knowledge Base and Revising It. In P. Gardenfors, editor, Belief Revision, volume 29 of Cambridge Tracts in Theoretical Computer Science, pp. 183–203. Cambridge University Press, 1992.

    Google Scholar 

  34. R. Kowalski. Database Updates in Event Calculus. Journal of Logic Programming, 12(1&2):121–146, January 1992.

    Article  MathSciNet  Google Scholar 

  35. B. Ludäscher, U. Hamann, and G. Lausen. A Logical Framework for Active Rules. In Proceedings of the 7th Intl. Conference on Management of Data, Pune, India, December 1995. Tata McGrow-Hill.

    Google Scholar 

  36. Y. Lespérance, H. Levesque, F. Lin, D. Marcu, and R. Reiter. A Logical Approach to High-Level Robot Programming-A Progress Report. In Control of the Physical World by Intelligent Systems, Working Notes of the 1994 AAAI Fall Symposium. AAAI Press, New Orleans, LA, November 1994.

    Google Scholar 

  37. J. Lloyd. Foundations of Logic Programming (Second Edition). Springer-Verlag, 1987.

    Google Scholar 

  38. F. Lin and R. Reiter. How to Progress a Database (and Why) I. Logical Foundations. In J. Doyle, E. Sandewall, and P. Torasso, editors, Proceedings of the International Conference on Knowledge Representation and Reasoning, pp. 425–436, 1994.

    Google Scholar 

  39. H. Levesque, R. Reiter, Y. Lesperance, F. Lin, and R. Scherl. GOLOG: A Logic Programming Language for Dynamic Domains. Journal of Logic Programming, 1997. To appear.

    Google Scholar 

  40. J. Maksym, A. Bonner, C. Dent, and G. Hemphill. Machine Analysis of Acoustical Signals. Pattern Recognition, 16(6):615–625, 1983. Also appears in Proceedings of the Workshop on Issues in Acoustic Signal/Image Processing and Recognition, San Miniato, Italy, August 5-9 1982.

    Article  Google Scholar 

  41. J. McCarthy. Situations, Actions, and Clausal Laws, Memo 2. Stanford Artificial Intelligence Project, 1963.

    Google Scholar 

  42. L. McCarty. Permissions and Obligations. In Intl. Joint Conference on Artificial Intelligence, pp. 287–294, San Francisco, CA, 1983. Morgan Kaufmann.

    Google Scholar 

  43. J. McCarthy and P. Hayes. Some Philosophical Problems from the Standpoint of Artificial Intelligence. In B. Meltzer and D. Michie, editors, Machine Intelligence, volume 4, pp. 463–502. Edinburgh University Press, 1969. Reprinted in Readings in Artificial Intelligence, 1981, Tioga Publ. Co.

    Google Scholar 

  44. L. McCarty and R. van der Meyden. Reasoning About Indefinite Actions. In Proceedings of the International Conference on Knowledge

    Google Scholar 

  45. S. Manchanda and D. Warren. A Logic-Based Language for Database Updates. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pp. 363–394. Morgan-Kaufmann, Los Altos, CA, 1988.

    Google Scholar 

  46. S. Naqvi and R. Krishnamurthy. Database Updates in Logic Programming. In ACM Symposium on Principles of Database Systems, pp. 251–262, New York, March 1988. ACM.

    Google Scholar 

  47. S. Naqvi and S. Tsur. A Logical Language for Data and Knowledge Bases. Computer Science Press, Rockville, MD, 1989.

    Google Scholar 

  48. G. Phipps, M. Derr, and K. Ross. Glue-Nail: A Deductive Database System. In ACM SIGMOD Conference on Management of Data, pp. 308–317, New York, 1991. ACM.

    Google Scholar 

  49. V. Pratt. Process Logic. In ACM Symposium on Principles of Programming Languages, pp. 93–100, January 1979.

    Google Scholar 

  50. T. Przymusinski. On The Declarative Semantics of Deductive Databases and Logic Programs. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pp. 193–216. Morgan Kaufmann, Los Altos, CA, 1988.

    Google Scholar 

  51. R. Reiter. Towards a Logical Reconstruction of Relational Database Theory. In M. Brodie, J. Mylopoulos, and J. Schmidt, editors, On Conceptual Modelling: Perspectives from Artificial Intelligence, Databases and Programming Languages, pp. 191–233. Springer-Verlag, 1984.

    Google Scholar 

  52. R. Reiter. The Frame Problem in the Situation Calculus: A Simple Solution (Sometimes) and a Completeness Result for Goal Regression. In V. Lifschitz, editor, Aritifial Intelligence and Mathematical Theory of Computation: Papers in Honor of John McCarty, pp. 359–380. Academic Press, 1991.

    Google Scholar 

  53. R. Reiter. Proving Properties of States in the Situation Calculus. Artificial Intelligence, 64:337–351, December 1993.

    Article  MathSciNet  MATH  Google Scholar 

  54. R. Reiter. On Specifying Database Updates. Journal of Logic Programming, 25(1):53–91, October 1995.

    Article  MATH  Google Scholar 

  55. J. Ullman. Principles of Database and Knowledge-Base Systems, Volume 1. Computer Science Press, Rockville, MD, 1988.

    Google Scholar 

  56. A. Van Gelder, K. Ross, and J. Schlipf. The Well-Founded Semantics for General Logic Programs. Journal of ACM, 38(3):620–650, 1991.

    MATH  Google Scholar 

  57. M. Winslett. A Model Based Approach to Updating Databases with Incomplete Information. ACM Transactions on Database Systems, 13(2):167–196, 1988.

    Article  Google Scholar 

  58. C. Zaniolo. A Unified Semantics for Active and Deductive Databases. In Proceedings of the Workshop on Rules in Database Systems, Workshops in Computing. Springer-Verlag, Edinburgh, U.K., 1993.

    Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer Science+Business Media New York

About this chapter

Cite this chapter

Bonner, A.J., Kifer, M. (1998). A Logic for Programming Database Transactions. In: Chomicki, J., Saake, G. (eds) Logics for Databases and Information Systems. The Springer International Series in Engineering and Computer Science, vol 436. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-5643-5_5

Download citation

  • DOI: https://doi.org/10.1007/978-1-4615-5643-5_5

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4613-7582-1

  • Online ISBN: 978-1-4615-5643-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics