Advertisement

The state of change: A survey

  • Anthony J. Bonner
  • Michael Kifer
Conference paper
Part of the Lecture Notes in Computer Science book series (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.

Keywords

Logic Program Logic Programming Proof Theory Dynamic Logic Frame Problem 
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. [Abi88]
    S. Abiteboul. Updates, a new frontier. In Intl. Conference on Database Theory, pages 1–18, 1988.Google Scholar
  2. [AHV95]
    S. Abiteboul, R. Hull, and V. Vianu. Foundations of Databases. Addison-Wesley, 1995.Google Scholar
  3. [AP91]
    J.-M. Andreoli and R. Pareschi. Linear objects: Logical processes with built-in inheritance. New Generation Computing, 9(4):445–473, 1991.zbMATHCrossRefGoogle Scholar
  4. [AU79]
    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. [AV90]
    S. Abiteboul and V. Vianu. Procedural languages for database queries and updates. Journal of Computer and System Sciences, 41:181–229, 1990.zbMATHMathSciNetCrossRefGoogle Scholar
  6. [AV91]
    S. Abiteboul and V. Vianu. Datalog extensions for database queries and updates. Journal of Computer and System Sciences, 43:62–124, 1991.zbMATHMathSciNetCrossRefGoogle Scholar
  7. [Ban86]
    F. Bancilhon. A logic-programming/Object-oriented cocktail. SIGMOD Record, 15(3):11–21, September 1986.CrossRefGoogle Scholar
  8. [Bee92]
    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. [BK93]
    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. [BK94]
    A.J. Bonner and M. Kifer. An overview of transaction logic. Theoretical Computer Science, 133:205–265, October 1994.zbMATHMathSciNetCrossRefGoogle Scholar
  11. [BK95]
    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. [BK96]
    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. [BK98a]
    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. [BK98b]
    A.J. Bonner and M. Kifer. Results on reasoning about action in transaction logic. This volume, 1998.Google Scholar
  15. [BKC94]
    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. [Bon97a]
    A.J. Bonner. The power of cooperating transactions. Manuscript, 1997.Google Scholar
  17. [Bon97b]
    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. [BSR96]
    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. [CH80]
    A.K. Chandra and D. Harel. Computable queries for relational databases. Journal of Computer and System Sciences, 21(2):156–178, 1980.zbMATHMathSciNetCrossRefGoogle Scholar
  20. [Che95]
    W. Chen. Declarative updates of relational databases. ACM Transactions on Database Systems, 20(1):42–70, March 1995.CrossRefGoogle Scholar
  21. [CM81]
    W.F. Clocksin and C.S. Mellish. Programming in Prolog. Springer-Verlag, 1981.Google Scholar
  22. [DKRR98]
    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. [Fin86]
    J. Finger. Exploiting Constraints in Design Synthesis. PhD thesis, Stanford University, 1986.Google Scholar
  24. [Gre69]
    C.C. Green. Application of theorem proving to problem solving. In Intl. Joint Conference on Artificial Intelligence, pages 219–240, 1969.Google Scholar
  25. [Har79]
    D. Harel. First-Order Dynamic Logic, volume 68 of Lecture Notes in Computer Science. Springer-Verlag, 1979.Google Scholar
  26. [HKP82]
    D. Harel, D. Kozen, and R. Parikh. Process Logic: Expressiveness, decidability, completeness. Journal of Computer and System Sciences, 25(2): 144–170, October 1982.zbMATHMathSciNetCrossRefGoogle Scholar
  27. [Kow79]
    R. Kowalski. Logic for Problem Solving. North-Holland, Amsterdam, The Netherlands, 1979.zbMATHGoogle Scholar
  28. [Kow92]
    R.A. Kowalski. Database updates in event calculus. Journal of Logic Programming, 12(1&2):121–146, January 1992.MathSciNetCrossRefGoogle Scholar
  29. [KS86]
    R.A. Kowalski and M. Sergot. A logic-based calculus of events. New Generation Computing, 4:67–95, 1986.Google Scholar
  30. [KS97]
    R. Kowalski and F. Sadri. Reconciling the event calculus and the situation calculus. Journal of Logic Programming, 31:39–58, 1997.zbMATHMathSciNetCrossRefGoogle Scholar
  31. [LHL95]
    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. [LLL+94]
    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. [Llo87]
    J.W. Lloyd. Foundations of Logic Programming (Second Edition). Springer-Verlag, 1987.Google Scholar
  34. [LML96]
    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. [LR94]
    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. [LRL+97]
    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.zbMATHMathSciNetCrossRefGoogle Scholar
  37. [McC63]
    J. McCarthy. Situations, actions, and clausal laws, memo 2. Stanford Artificial Intelligence Project, 1963.Google Scholar
  38. [McC83]
    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. [Mes92a]
    J. Meseguer. Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science, 96(1):73–155, 1992.zbMATHMathSciNetCrossRefGoogle Scholar
  40. [Mes92b]
    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. [MH69]
    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. [MvdM92]
    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. [MW88]
    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. [NK88]
    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. [NT89]
    S. Naqvi and S. Tsur. A Logical Language for Data and Knowledge Bases. Computer Science Press, Rockville, MD, 1989.Google Scholar
  46. [PDR91]
    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. [Pnu77]
    A. Pnueli. A temporal logic of programs. In Intl. Conference on Foundations of Computer Science, pages 46–57, October 1977.Google Scholar
  48. [Pra79]
    V.R. Pratt. Process logic. In ACM Symposium on Principles of Programming Languages, pages 93–100, January 1979.Google Scholar
  49. [Pra90]
    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. [Rei84]
    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. [Rei91]
    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. [Rei92a]
    R. Reiter. Formalizing database evolution in the situation calculus. In Conference on Fifth Generation Computer Systems, 1992.Google Scholar
  53. [Rei92b]
    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. [Rei95]
    R. Reiter. On specifying database updates. Journal of Logic Programming, 25(1):53–91, October 1995.zbMATHCrossRefGoogle Scholar
  55. [SK95]
    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. [Spr94]
    P.A. Spruit. Logics of Database Updates. PhD thesis, Faculty of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, 1994.Google Scholar
  57. [SWM93]
    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. [Ull88]
    J.F. Ullman. Principles of Database and Knowledge-Base Systems, Volume 1. Computer Science Press, Rockville, MD, 1988.Google Scholar
  59. [vB91]
    J. van Benthem. Language in Action: Categories, Lambdas and Dynamic Logic. Elsevier Science Pub. Co., Amsterdam, New York, 1991.zbMATHGoogle Scholar
  60. [WF97]
    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. [Zan93]
    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

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Anthony J. Bonner
    • 1
  • Michael Kifer
    • 2
  1. 1.Department of Computer ScienceUniversity of TorontoTorontoCanada
  2. 2.Department of Computer ScienceSUNY at Stony BrookStony BrookUSA

Personalised recommendations