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.
Preview
Unable to display preview. Download preview PDF.
References
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.
H. Aït-Kaci and R. Nasr. LOGIN: A logic programming language with built-in inheritance. Journal of Logic Programming, 3:185–215, 1986.
J.F. Allen. Towards a general theory of action and time. Artificial Intelligence, 23:123–154, July 1984.
J.-M. Andreoli and R. Pareschi. Linear objects: Logical processes with built-in inheritance. New Generation Computing, 9(4):445–473, 1991.
N. Arni, K. Ong, S. Tsur, and C. Zaniolo. LDL++: A second-generation deductive database system. Submitted for publication., 1994.
F. Bancilhon. A logic-programming/Object-oriented cocktail. SIGMOD Record, 15(3):11–21, September 1986.
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, April 1995. ftp://csri.toronto.edu/csri-technical-reports/323/report.ps.Z.
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.
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.
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.
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.
S. Greco and P. Rullo. Complex-Prolog: A logic database language for handling complex objects. Information Systems, 14(1):79–87, 1989.
D. Harel, D. Kozen, and R. Parikh. Process Logic: Expressiveness, decidability, completeness. Journal of Computer and System Sciences, 25(2):144–170, October 1982.
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.
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.
M. Kifer, G. Lausen, and J. Wu. Logical foundations of object-oriented and framebased languages. Journal of ACM, May 1995.
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.
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.
M. Kifer and J. Wu. A logic for programming with complex objects. Journal of Computer and System Sciences, 47(1):77–120, August 1993.
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.
J.W.Lloyd. Foundations of Logic Programming (Second Edition). Springer-Verlag, 1987.
D. Maier. A logic for objects. In Workshop on Foundations of Deductive Databases and Logic Programming, pages 6–26, Washington D.C., August 1986.
W. Marek and Z. Pawlak. Information storage and retrieval systems: Mathematical foundations. Theoretical Computer Science, 1:331–354, 1976.
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.
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.
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. 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.
Z. Pawlak. Mathematical foundations of information retrieval. In Proceedings of Symposium on Mathematical Foundations of Computer Science, pages 135–136, High Tatras, Czechoslovakia, 1973.
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.
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.
J.F. Ullman. Principles of Database and Knowledge-Base Systems, Volume 2. Computer Science Press, Rockville, MD, 1989.
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.
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.
C. Zaniolo. Object-oriented programming in Prolog. In IEEE Symposium on Logic Programming (SLP), pages 265–270, February 1984.
Author information
Authors and Affiliations
Editor information
Rights 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