Skip to main content

The state of change: A survey

  • Conference paper
  • First Online:
Transactions and Change in Logic Databases (DYNAMICS 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1472))

Abstract

Updates are a crucial component of any database programming language. Even the simplest database transactions, such as withdrawal from a bank account, require updates. Unfortunately, updates are not accounted for by the classical Horn semantics of logic programs and deductive databases, which limits their usefulness in real-world applications. As a short-term practical solution, logic programming languages have resorted to handling updates using ad hoc operators without a logical semantics. A great many works have been dedicated to developing logical theories in which the state of the underlying database can evolve with time. Many of these theories were developed with specific applications in mind, such as reasoning about actions, database transactions, program verification, etc. As a result, the different approaches have different strengths and weaknesses. In this survey, we review a number of these works, discuss their application domains, and highlight their strong and weak points.

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

Access this chapter

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, pages 1–18, 1988.

    Google Scholar 

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

    Google Scholar 

  3. J.-M. Andreoli and R. Pareschi. Linear objects: Logical processes with built-in inheritance. New Generation Computing, 9(4):445–473, 1991.

    Article  MATH  Google Scholar 

  4. A.V. Aho and J.D. Ullman. Universality of data retrieval languages. In ACM Symposium on Principles of Programming Languages, pages 110–120, 1979.

    Google Scholar 

  5. S. Abiteboul and V. Vianu. Procedural languages for database queries and updates. Journal of Computer and System Sciences, 41:181–229, 1990.

    Article  MATH  MathSciNet  Google Scholar 

  6. S. Abiteboul and V. Vianu. Datalog extensions for database queries and updates. Journal of Computer and System Sciences, 43:62–124, 1991.

    Article  MATH  MathSciNet  Google Scholar 

  7. F. Bancilhon. A logic-programming/Object-oriented cocktail. SIGMOD Record, 15(3):11–21, September 1986.

    Article  Google Scholar 

  8. C. Beeri. New data models and languages—The challenge. In ACM Symposium on Principles of Database Systems, pages 1–15, New York, June 1992. ACM.

    Google Scholar 

  9. A.J. Bonner and M. Kifer. Transaction logic programming. In Intl. Conference on Logic Programming, pages 257–282, Budapest, Hungary, June 1993. MIT Press.

    Google Scholar 

  10. A.J. Bonner and M. Kifer. An overview of transaction logic. Theoretical Computer Science, 133:205–265, October 1994.

    Article  MATH  MathSciNet  Google Scholar 

  11. A.J. 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.

    Google Scholar 

  12. A.J. Bonner and M. Kifer. Concurrency and communication in transaction logic. In Joint Intl. Conference and Symposium on Logic Programming, pages 142–156, Bonn, Germany, September 1996. MIT Press.

    Google Scholar 

  13. A.J. Bonner and M. Kifer. A logic for programming database transactions. In J. Chomicki and G. Saake, editors, Logics for Databases and Information Systems, chapter 5, pages 117–166. Kluwer Academic Publishers, March 1998.

    Google Scholar 

  14. A.J. Bonner and M. Kifer. Results on reasoning about action in transaction logic. This volume, 1998.

    Google Scholar 

  15. A.J. Bonner, M. Kifer, and M. Consens. Database programming in transaction logic. In A. Ohori C. Beeri and D.E. Shasha, editors, Proceedings of the International Workshop on Database Programming Languages, Workshops in Computing, pages 309–337. Springer-Verlag, February 1994. Workshop held on Aug 30–Sept 1, 1993, New York City, NY.

    Google Scholar 

  16. A.J. Bonner. The power of cooperating transactions. Manuscript, 1997.

    Google Scholar 

  17. A.J. 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.

    Google Scholar 

  18. 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, pages 463–478, Avignon, France, March 25–29 1996. Springer-Verlag.

    Google Scholar 

  19. A.K. Chandra and D. Harel. Computable queries for relational databases. Journal of Computer and System Sciences, 21(2):156–178, 1980.

    Article  MATH  MathSciNet  Google Scholar 

  20. W. Chen. Declarative updates of relational databases. ACM Transactions on Database Systems, 20(1):42–70, March 1995.

    Article  Google Scholar 

  21. W.F. Clocksin and C.S. Mellish. Programming in Prolog. Springer-Verlag, 1981.

    Google Scholar 

  22. H. Davulcu, M. Kifer, C.R. Ramakrishnan, and I.V. Ramakrishnan. Logic based modeling and analysis of workflows. In ACM Symposium on Principles of Database Systems, June 1998.

    Google Scholar 

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

    Google Scholar 

  24. C.C. Green. Application of theorem proving to problem solving. In Intl. Joint Conference on Artificial Intelligence, pages 219–240, 1969.

    Google Scholar 

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

    Google Scholar 

  26. 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  MATH  MathSciNet  Google Scholar 

  27. R. Kowalski. Logic for Problem Solving. North-Holland, Amsterdam, The Netherlands, 1979.

    MATH  Google Scholar 

  28. R.A. Kowalski. Database updates in event calculus. Journal of Logic Programming, 12(1&2):121–146, January 1992.

    Article  MathSciNet  Google Scholar 

  29. R.A. Kowalski and M. Sergot. A logic-based calculus of events. New Generation Computing, 4:67–95, 1986.

    Google Scholar 

  30. R. Kowalski and F. Sadri. Reconciling the event calculus and the situation calculus. Journal of Logic Programming, 31:39–58, 1997.

    Article  MATH  MathSciNet  Google Scholar 

  31. 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 

  32. 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 

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

    Google Scholar 

  34. B. Ludäscher, W. May, and G. Lausen. Nested transactions in a logical language for active rules. In D. Pedreschi and C. Zaniolo, editors, Intl. Workshop on Logic in Databases, volume 1154 of Lecture Notes in Computer Science, pages 196–222. Springer-Verlag, San Miniato, Italy, July 1996.

    Google Scholar 

  35. F. Lin and R. Reiter. How to progress a database (and why) I. Logical foundations. In Jon Doyle, Erik Sandewall, and Pietro Torasso, editors, Proceedings of the International Conference on Knowledge Representation and Reasoning, pages 425–436, 1994.

    Google Scholar 

  36. H.J. Levesque, R. Reiter, Y. Lespérance, F. Lin, and R. Scherl. GOLOG: A logic programming language for dynamic domains. Journal of Logic Programming, 31:59–84, 1997.

    Article  MATH  MathSciNet  Google Scholar 

  37. J. McCarthy. Situations, actions, and clausal laws, memo 2. Stanford Artificial Intelligence Project, 1963.

    Google Scholar 

  38. L.T. McCarty. Permissions and obligations. In Intl. Joint Conference on Artificial Intelligence, pages 287–294, San Francisco, CA, 1983. Morgan Kaufmann.

    Google Scholar 

  39. J. Meseguer. Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science, 96(1):73–155, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  40. J. Meseguer. Multiparadigm logic programming. In Algebraic and Logic Specifications, number 632 in Lecture Notes in Computer Science, pages 158–200. Springer-Verlag, September 1992.

    Google Scholar 

  41. J.M. McCarthy and P.J. Hayes. Some philosophical problems from the standpoint of artificial intelligence. In B. Meltzer and D. Michie, editors, Machine Intelligence, volume 4, pages 463–502. Edinburgh University Press, 1969. Reprinted in Readings in Artificial Intelligence, 1981, Tioga Publ. Co.

    Google Scholar 

  42. L.T. McCarty and R. van der Meyden. Reasoning about indefinite actions. In Proceedings of the International Conference on Knowledge Representation and Reasoning, pages 59–70, Cambridge, MA, October 1992.

    Google Scholar 

  43. S. Manchanda and D.S. Warren. A logic-based language for database updates. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 363–394. Morgan-Kaufmann, Los Altos, CA, 1988.

    Google Scholar 

  44. S. Naqvi and R. Krishnamurthy. Database updates in logic programming. In ACM Symposium on Principles of Database Systems, pages 251–262, New York, March 1988. ACM.

    Google Scholar 

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

    Google Scholar 

  46. G. Phipps, M.A. Derr, and K.A. Ross. Glue-Nail: A deductive database system. In ACM SIGMOD Conference on Management of Data, pages 308–317, New York, 1991. ACM.

    Google Scholar 

  47. A. Pnueli. A temporal logic of programs. In Intl. Conference on Foundations of Computer Science, pages 46–57, October 1977.

    Google Scholar 

  48. V.R. Pratt. Process logic. In ACM Symposium on Principles of Programming Languages, pages 93–100, January 1979.

    Google Scholar 

  49. V.R. Pratt. Action logic and pure induction. In Workshop on Logics in AI, volume 478 of Lecture Notes in Computer Science, pages 97–120. Springer-Verlag, 1990.

    Google Scholar 

  50. R. Reiter. Towards a logical reconstruction of relational database theory. In M.L. Brodie, J. Mylopoulos, and J. Schmidt, editors, On Conceptual Modeling: Perspectives from Artificial Intelligence, Databases and Programming Languages, pages 191–233. Springer-Verlag, 1984.

    Google Scholar 

  51. 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, pages 359–380. Academic Press, 1991.

    Google Scholar 

  52. R. Reiter. Formalizing database evolution in the situation calculus. In Conference on Fifth Generation Computer Systems, 1992.

    Google Scholar 

  53. R. Reiter. On formalizing database updates: Preliminary report. In Proceedings of the Third Intl. Conference on Extending Database Technology, pages 10–20. Springer-Verlag, March 1992.

    Google Scholar 

  54. R. Reiter. On specifying database updates. Journal of Logic Programming, 25(1):53–91, October 1995.

    Article  MATH  Google Scholar 

  55. F. Sadri and R. Kowalski. Variants of the event calculus. In L. Sterling, editor, Intl. Conference on Logic Programming. MIT Press, 1995.

    Google Scholar 

  56. P.A. Spruit. Logics of Database Updates. PhD thesis, Faculty of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, 1994.

    Google Scholar 

  57. P.A. Spruit, R.J. Wieringa, and J.-J.Ch. Meyer. Dynamic database logic: The first-order case. In U.W. Lipeck and B. Thalheim, editors, Modeling Database Dynamics, pages 102–120. Springer-Verlag, 1993.

    Google Scholar 

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

    Google Scholar 

  59. J. van Benthem. Language in Action: Categories, Lambdas and Dynamic Logic. Elsevier Science Pub. Co., Amsterdam, New York, 1991.

    MATH  Google Scholar 

  60. C.A. Wichert and B. Freitag. Capturing database dynamics by deferred updates. In Intl. Conference on Logic Programming, pages 226–240, June 1997.

    Google Scholar 

  61. Carlo Zaniolo. A unified semantics for active and deductive databases. In N.W. Paton and M.H. Williams, editors, Proceedings of the Workshop on Rules in Database Systems, Workshops in Computing. Springer-Verlag, Edinburgh, U.K., 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Burkhard Freitag Hendrik Decker Michael Kifer Andrei Voronkov

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bonner, A.J., Kifer, M. (1998). The state of change: A survey. In: Freitag, B., Decker, H., Kifer, M., Voronkov, A. (eds) Transactions and Change in Logic Databases. DYNAMICS 1997. Lecture Notes in Computer Science, vol 1472. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055494

Download citation

  • DOI: https://doi.org/10.1007/BFb0055494

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65305-9

  • Online ISBN: 978-3-540-49449-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics