Abstract
When interpreted as a model for structuring programs and organizing computations, the object-oriented paradigm can be thought as a set of abstractions independent of the host language. By generalizing the notion of object state configuration with respect to that embedded in languages based on assignment, this paper explores a relational approach to object-oriented programming. An object-oriented model based on the notion of object as structured logic theory, is introduced, allowing instance creation and configuration as well as computations with partially configured objects. The model is founded on an abductive framework rooted in the basic class/instance model of O-OP, which reconciles dynamic object creation with the declarative reading of LP. Meta-level constraints provide the computational support for the abstract model based on abduction. A simple first-order logic language implementing this model is presented, along with some examples of object-oriented logic computations dealing with intra- and inter-object constraints and with partially specified instances.
Preview
Unable to display preview. Download preview PDF.
Bibliography
P. Wegner: Dimensions of Object-Based Language Design. Proceedings of OOPSLA '87. ACM, 1987.
P. Wegner: Dimensions of Object-Oriented Modeling. IEEE Computer, October 1992, pp. 12–20.
C. Zaniolo: Object Oriented Programming in Prolog. In: Proceedings of the International Symposium on Logic Programming, Atlantic City, 1984.
H. AÏt-Kaci, R. Nasr: LOGIN: A Logic Programming Language with Built-in Inheritance. Journal of Logic programming, 3(3), 1986, pp. 185–215.
J. Conery: Logical objects. In: Proceedings of the Fifth International Conference and Symposium on Logic Programming. Seattle, 1988.
A. Andreoli, R. Pareschi: Lo and Behold! Concurrent Structured Processes. In: Proceedings of OOPLSA'91, 1991.
F.G. McCabe: Logic and Objects. London: Prentice Hall International 1992.
E. Shapiro, A. Takeuchi: Object Oriented Programming in Concurrent Prolog. New Generation Computing, 1(1), 1983.
A. Borning, R. Duisburg, B. Freeman-Benson, A. Kramer, M. Wolf: Constraint Hierarchies. In: Proceedings of OOPLSA'87, 1987, pp. 48–60.
B. Freeman-Benson: Kaleidoscope: Mixing Objects, Constraints and Imperative Programming. In: Proceedings of ECOOP/OOPLSA'90, 1990, pp. 77–87.
A. Brogi, E. Lamma, P. Mello: Objects in a Logic Programming Framework. In: A. Voronkov (ed.): Logic Programming. Lecture Notes in Artificial Intelligence 592. Berlin: Springer-Verlag 1992, pp. 102–113.
L. Monteiro, A. Porto: Contextual Logic Programming. In: G. Levi, M. Martelli (eds.): Proceedings of the 6th International Conference on Logic Programming. Cambridge: The MIT Press 1989.
A. Brogi, E. Lamma, P. Mello: A General Framework for Structuring Logic Programs. C.N.R. Technical Report “Progetto Finalizzato Sistemi Informatici e Calcolo Parallelo” 4/1, May 1990.
E. Denti, A. Natali, A. Omicini: Moving Prolog Toward Objects. In: E. Tick, G. Succi (eds.): Implementations of Logic Programming Systems. To be published by Kluwer, 1994. pp. 92–104.
A. Kakas, R. Kowalski, F. Toni: Abductive Logic Programming. Journal of Logic and Computation, Vol. 2, 1992. pp. 719–770.
J. Jaffar, M.J. Mahren Constraint Logic Programming: A Survey. In: Ten Years of Logic Programming. Special Issue of the Journal of Logic Programming. New York: Elsevier. To appear.
Swedish Institute of Computer Science: SICStus Prolog User's Manual. Kista (Sweden) 1993.
A. Natali, A. Omicini: Objects with State in Contextual Logic Programming. In: M. Bruynooghe, J. Penjam (eds.): Programming Language Implementation and Logic Programming. Lecture Notes in Computer Science 714. Berlin: Springer-Verlag 1993, pp. 220–234.
M. Bugliesi: A declarative view of inheritance in logic programming. In: K. Apt (ed.): Proceedings of the Joint International Conference and Symposium on Logic Programming. The MIT Press 1992, pp. 113–130.
C. Ruggieri, M. Bugliesi. A Prolog Object-Oriented System: an Exercise in Contextual Logic Programming. Proceedings of the 6th Italian Conference on Logic Programming GULP 91, June 12–14,1991, Pisa, Italy.
A. Omicini: Integration of Object-Oriented and Logic Programming. Ph.D. Thesis, University of Bologna, Italy.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Omicini, A., Natali, A. (1994). Object-oriented computations in logic programming. In: Tokoro, M., Pareschi, R. (eds) Object-Oriented Programming. ECOOP 1994. Lecture Notes in Computer Science, vol 821. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0052184
Download citation
DOI: https://doi.org/10.1007/BFb0052184
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58202-1
Online ISBN: 978-3-540-48567-4
eBook Packages: Springer Book Archive