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.
Preview
Unable to display preview. Download preview PDF.
References
S. Abiteboul. Updates, a new frontier. In Intl. Conference on Database Theory, pages 1–18, 1988.
S. Abiteboul, R. Hull, and V. Vianu. Foundations of Databases. Addison-Wesley, 1995.
J.-M. Andreoli and R. Pareschi. Linear objects: Logical processes with built-in inheritance. New Generation Computing, 9(4):445–473, 1991.
A.V. Aho and J.D. Ullman. Universality of data retrieval languages. In ACM Symposium on Principles of Programming Languages, pages 110–120, 1979.
S. Abiteboul and V. Vianu. Procedural languages for database queries and updates. Journal of Computer and System Sciences, 41:181–229, 1990.
S. Abiteboul and V. Vianu. Datalog extensions for database queries and updates. Journal of Computer and System Sciences, 43:62–124, 1991.
F. Bancilhon. A logic-programming/Object-oriented cocktail. SIGMOD Record, 15(3):11–21, September 1986.
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.
A.J. Bonner and M. Kifer. Transaction logic programming. In Intl. Conference on Logic Programming, pages 257–282, Budapest, Hungary, June 1993. MIT Press.
A.J. Bonner and M. Kifer. An overview of transaction logic. Theoretical Computer Science, 133:205–265, October 1994.
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.
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.
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.
A.J. Bonner and M. Kifer. Results on reasoning about action in transaction logic. This volume, 1998.
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.
A.J. Bonner. The power of cooperating transactions. Manuscript, 1997.
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.
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.
A.K. Chandra and D. Harel. Computable queries for relational databases. Journal of Computer and System Sciences, 21(2):156–178, 1980.
W. Chen. Declarative updates of relational databases. ACM Transactions on Database Systems, 20(1):42–70, March 1995.
W.F. Clocksin and C.S. Mellish. Programming in Prolog. Springer-Verlag, 1981.
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.
J. Finger. Exploiting Constraints in Design Synthesis. PhD thesis, Stanford University, 1986.
C.C. Green. Application of theorem proving to problem solving. In Intl. Joint Conference on Artificial Intelligence, pages 219–240, 1969.
D. Harel. First-Order Dynamic Logic, volume 68 of Lecture Notes in Computer Science. Springer-Verlag, 1979.
D. Harel, D. Kozen, and R. Parikh. Process Logic: Expressiveness, decidability, completeness. Journal of Computer and System Sciences, 25(2): 144–170, October 1982.
R. Kowalski. Logic for Problem Solving. North-Holland, Amsterdam, The Netherlands, 1979.
R.A. Kowalski. Database updates in event calculus. Journal of Logic Programming, 12(1&2):121–146, January 1992.
R.A. Kowalski and M. Sergot. A logic-based calculus of events. New Generation Computing, 4:67–95, 1986.
R. Kowalski and F. Sadri. Reconciling the event calculus and the situation calculus. Journal of Logic Programming, 31:39–58, 1997.
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.
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.
J.W. Lloyd. Foundations of Logic Programming (Second Edition). Springer-Verlag, 1987.
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.
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.
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.
J. McCarthy. Situations, actions, and clausal laws, memo 2. Stanford Artificial Intelligence Project, 1963.
L.T. McCarty. Permissions and obligations. In Intl. Joint Conference on Artificial Intelligence, pages 287–294, San Francisco, CA, 1983. Morgan Kaufmann.
J. Meseguer. Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science, 96(1):73–155, 1992.
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.
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.
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.
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.
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.
S. Naqvi and S. Tsur. A Logical Language for Data and Knowledge Bases. Computer Science Press, Rockville, MD, 1989.
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.
A. Pnueli. A temporal logic of programs. In Intl. Conference on Foundations of Computer Science, pages 46–57, October 1977.
V.R. Pratt. Process logic. In ACM Symposium on Principles of Programming Languages, pages 93–100, January 1979.
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.
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.
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.
R. Reiter. Formalizing database evolution in the situation calculus. In Conference on Fifth Generation Computer Systems, 1992.
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.
R. Reiter. On specifying database updates. Journal of Logic Programming, 25(1):53–91, October 1995.
F. Sadri and R. Kowalski. Variants of the event calculus. In L. Sterling, editor, Intl. Conference on Logic Programming. MIT Press, 1995.
P.A. Spruit. Logics of Database Updates. PhD thesis, Faculty of Mathematics and Computer Science, Vrije Universiteit, Amsterdam, 1994.
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.
J.F. Ullman. Principles of Database and Knowledge-Base Systems, Volume 1. Computer Science Press, Rockville, MD, 1988.
J. van Benthem. Language in Action: Categories, Lambdas and Dynamic Logic. Elsevier Science Pub. Co., Amsterdam, New York, 1991.
C.A. Wichert and B. Freitag. Capturing database dynamics by deferred updates. In Intl. Conference on Logic Programming, pages 226–240, June 1997.
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.
Author information
Authors and Affiliations
Editor information
Rights 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