Skip to main content

Deductive and object data languages: A quest for integration

  • Keynote 2
  • Conference paper
  • First Online:
Deductive and Object-Oriented Databases (DOOD 1995)

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

Included in the following conference series:

Abstract

According to rumors, the early hybrids of object-oriented and deductive languages were mutants that escaped from secret Government AI labs. Whether this is true or not, the fact is that by mid-80's, database and logic programming communities began to take notice. The temptation was hard to resist: the object-oriented paradigm provides a better way of manipulating structured objects, while logic and deduction offer the power and flexibility of ad hoc querying and reasoning. Thus, hybrid languages have the potential for becoming an ideal turf for cultivating the next generation of information systems.

The approaches to integration of the two paradigms range from logic-based languages with unified declarative semantics, to message-passing prologs, to Prolog/C++ cocktails.

In the past eight years, my colleagues and I have been developing a unified object-based logic intended to capture most of the essentials of the object-oriented paradigm. The overall plot here is that once the fundamentals are in place, the actual hybrid programming languages can be carved out of the logic the same way as deductive data languages have been carved out of the classical logic.

There are two distinct aspects in object-orientation: structural (the statics) and procedural (the dynamics). The static aspect was somewhat easier to capture in logic and after taking a few wrong turns F-logic was developed [17]. Taming the dynamics was harder, because there was no widely accepted solution to the problem of state changes even for traditional deductive languages. Our recent work on Transaction Logic [8, 7] appears to provide an adequate framework for specifying the dynamics in classical deductive languages.

This paper first reviews some core aspects of F-logic and Transaction Logic, and then shows how the two can be combined in a natural way to yield a unified foundation for future work on deductive object-oriented languages both in theory and practice. At the end, we discuss areas that still remain to be explored.

Work supported in part by the NSF grant IRI-9404629.

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 and P.C. Kanellakis. Object identity as a query language primitive. In ACM SIGMOD Conference on Management of Data, pages 159–173, New York, 1989. ACM.

    Google Scholar 

  2. H. Aït-Kaci and R. Nasr. LOGIN: A logic programming language with built-in inheritance. Journal of Logic Programming, 3:185–215, 1986.

    Google Scholar 

  3. J.F. Allen. Towards a general theory of action and time. Artificial Intelligence, 23:123–154, July 1984.

    Google Scholar 

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

    Google Scholar 

  5. N. Arni, K. Ong, S. Tsur, and C. Zaniolo. LDL++: A second-generation deductive database system. Submitted for publication., 1994.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  8. A.J. Bonner and M. Kifer. Transaction logic programming (or a logic of declarative and procedural knowledge). Technical Report CSRI-323, University of Toronto, April 1995. ftp://csri.toronto.edu/csri-technical-reports/323/report.ps.Z.

    Google Scholar 

  9. A. Brogi, E. Lamina, and P. Mello. Objects in a logic programming framework. In A. Voronkov, editor, First Russian Conference on Logic Programming, number 592 in Lecture Notes in Artificial Inteligence, pages 102–113. Springer-Verlag, 1991.

    Google Scholar 

  10. W. Chen, M. Kifer, and D.S. Warren. HiLog: A foundation for higher-order logic programming. Journal of Logic Programming, 15(3):187–230, February 1993.

    Google Scholar 

  11. W. Chen and D.S. Warren. C-logic for complex objects. In ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (PODS), pages 369–378, New York, March 1989. ACM.

    Google Scholar 

  12. M. Gelfond and V. Lifschitz. The stable model semantics for logic programming. In Logic Programming: Proceedings of the Fifth Conference and Symposium, pages 1070–1080, 1988.

    Google Scholar 

  13. S. Greco and P. Rullo. Complex-Prolog: A logic database language for handling complex objects. Information Systems, 14(1):79–87, 1989.

    Google Scholar 

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

    Google Scholar 

  15. H. Katsuno and A.O. Mendelzon. On the difference between updating a knowledge base and revising it. In Proceedings of the International Conference on Knowledge Representation and Reasoning (KR), pages 387–394, Boston, Mass., April 1991.

    Google Scholar 

  16. M. Kifer and G. Lausen. F-logic: A higher-order language for reasoning about objects, inheritance and schema. In ACM SIGMOD Conference on Management of Data, pages 134–146, New York, 1989. ACM.

    Google Scholar 

  17. M. Kifer, G. Lausen, and J. Wu. Logical foundations of object-oriented and framebased languages. Journal of ACM, May 1995.

    Google Scholar 

  18. M. Kifer and J. Wu. A logic for object-oriented logic programming (Maier's O-logic revisited). In ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (PODS), pages 379–393, New York, March 1989. ACM.

    Google Scholar 

  19. M. Kifer and J. Wu. A first-order theory of types and polymorphism in logic programming. In Intl. Symposium on Logic in Computer Science (LICS), pages 310–321, Amsterdam, The Netherlands, July 1991. Expanded version: TR 90/23 under the same title, Department of Computer Science, University at Stony Brook, July 1990.

    Google Scholar 

  20. M. Kifer and J. Wu. A logic for programming with complex objects. Journal of Computer and System Sciences, 47(1):77–120, August 1993.

    Google Scholar 

  21. E. Laenens, D. Sacca, and D. Vermeir. Extending logic programming. In ACM SIGMOD Conference on Management of Data, pages 184–193, New York, June 1990. ACM.

    Google Scholar 

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

    Google Scholar 

  23. D. Maier. A logic for objects. In Workshop on Foundations of Deductive Databases and Logic Programming, pages 6–26, Washington D.C., August 1986.

    Google Scholar 

  24. W. Marek and Z. Pawlak. Information storage and retrieval systems: Mathematical foundations. Theoretical Computer Science, 1:331–354, 1976.

    Google Scholar 

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

  26. P. Mello and A. Natali. Objects as communicating Prolog units. In ECOOP'87: European Conference on Object-Oriented Programming, number 276 in LNCS, pages 181–192, Paris, June 1987. Springer-Verlag.

    Google Scholar 

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

  28. J. Meseguer and X. Qian. A logical semantics for object-oriented databases. In ACM SIGMOD Conference on Management of Data, pages 89–98, New York, May 1993. ACM.

    Google Scholar 

  29. Z. Pawlak. Mathematical foundations of information retrieval. In Proceedings of Symposium on Mathematical Foundations of Computer Science, pages 135–136, High Tatras, Czechoslovakia, 1973.

    Google Scholar 

  30. T.C. Przymusinski. On the declarative semantics of deductive databases and logic programs. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 193–216. Morgan Kaufmann, Los Altos, CA, 1988.

    Google Scholar 

  31. D. Srivastava, R. Ramakrishnan, P. Seshadri, and S. Sudarshan. Coral++: Adding object-orientation to a logic database language. In Intl. Conference on Very Large Data Bases (VLDB), pages 158–170. Morgan Kaufmann, San Francisco, CA, August 1993.

    Google Scholar 

  32. J.F. Ullman. Principles of Database and Knowledge-Base Systems, Volume 2. Computer Science Press, Rockville, MD, 1989.

    Google Scholar 

  33. A. Van Gelder, K.A. Ross, and J.S. Schlipf. The well-founded semantics for general logic programs. Journal of ACM, 38(3):620–650, 1991.

    Google Scholar 

  34. R.J. Wieringa. Formalization of objects using Equational Dynamic Logic. In C. Delobel, M. Kifer, and Y. Masunaga, editors, Second Intl. Conference on Deductive and Object-Oriented Databases (DOOD), number 566 in Lecture Notes in Computer Science, pages 431–452, Munich, Germany, December 1991. Springer-Verlag.

    Google Scholar 

  35. C. Zaniolo. Object-oriented programming in Prolog. In IEEE Symposium on Logic Programming (SLP), pages 265–270, February 1984.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Tok Wang Ling Alberto O. Mendelzon Laurent Vieille

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kifer, M. (1995). Deductive and object data languages: A quest for integration. In: Ling, T.W., Mendelzon, A.O., Vieille, L. (eds) Deductive and Object-Oriented Databases. DOOD 1995. Lecture Notes in Computer Science, vol 1013. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60608-4_41

Download citation

  • DOI: https://doi.org/10.1007/3-540-60608-4_41

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60608-6

  • Online ISBN: 978-3-540-48460-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics