Abstract
Object-oriented programming has proven its appropriateness for simulating real wolds, in particular for imitating human societies and their ability to solve problems. Object-oriented software is easy to modify and to extend, a property of great importance for AI applications. Logic programming on the other hand stands out for its declarative specification language, built-in inference capabilities and clear theory. A well known feature of logic programming is the separation of knowledge representation and inference method.
We present a framework which amalgamates object-oriented and logic programming. It combines the object-oriented view with the logic formalism. Objects are considered as reasoning entities whose knowledge bases may change over time. They communicate via messages in order to ask for or to provide information. In response to new information, an object may have to update its knowledge. Operationally, reactions to messages are inference processes based on Prolog's inference by resolution mechanism. Great importance is devoted to simple and intelligible semantics of knowledge base alterations being the only way to change states. To this end, an object's knowledge base is divided into three parts: assumptions, reflections and reactions, each consisting of Horn clauses. Only assumptions are allowed to be altered. Knowledge can not be modified while an inference process is going on, resulting in easy-to-understand and easy-to-formalize semantics.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
H. Ait-Kaci and R. Nasr. LOGIN: A Logic Programming Language with Built-In Inheritance. Journal of Logic Programming, vol. 3, pp. 293–351, 1986.
L. Brownston et al. Programming Expert Systems in OPS5. Addison-Wesley Publishing Company, 1986.
B. J. Cox. Object Oriented Programming: An Evolutionary Approach. Addison-Wesley Publishing Company, 1986.
K. Fukunaga and S. Hirose. An Experience with a Prolog-based Object-Oriented Language. In Proc. OOPSLA'86, pages 224–231, SIGPLAN Notices vol. 21, no. 11, November 1986.
K. Kahn, E. D. Tribble, M. S. Miller, and D. G. Bobrow. Vulcan: Logic Concurrent Objects. In B. Shriver and P. Wegner, editors, Research Directions in Object-Oriented Programming, The MIT Press, 1987.
T. Koschmann and M. Walton Evens. Bridging the gap between object-oriented and logic programming. IEEE Software, 5(4):36–42, July 1988.
J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987.
P. Mello and A. Natali. Objects as Communicating Prolog Units. In Proc. ECOOP'87, pages 181–191, LNCS, no 276, Springer-Verlag, 1987.
J. Vaucher, G. Lapalme and J. Malenfant. SCOOP: Structured Concurrent Object Oriented Prolog. In Proc. ECOOP'88, pages 191–211, LNCS, no 322, Springer-Verlag, 1988.
D. Weinreb and D. Moon. Lisp Machine Manual. Chapter 20, page 279. Symbolics Inc., 1981.
C. Zaniolo. Object-oriented Programming in Prolog. In Proc. of the International Symposium on Logic Programming, pages 265–270, Atlantic City, N.Y., USA, 1984.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Welsch, C., Barth, G. (1989). Reasoning objects with dynamic knowledge bases. In: Martins, J.P., Morgado, E.M. (eds) EPIA 89. EPIA 1989. Lecture Notes in Computer Science, vol 390. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51665-4_91
Download citation
DOI: https://doi.org/10.1007/3-540-51665-4_91
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51665-1
Online ISBN: 978-3-540-46743-4
eBook Packages: Springer Book Archive