Abstract
The aim of this paper is to present a set of extensions to the Prolog language in order to insert in it concepts typical of parallel, distributed object-oriented systems. A program is a collection of objects (P-Units) that represent chunks of knowledge expressed as separate Prolog programs. P-units interact by asking for the demonstration of goals conceived as requests for operations. P-units can perform operations in parallel. Policies of interaction between objects, the creation of parallel activities, inheritance and delegation mechanisms are not frozen in the basic interpreter, but can be explicitly expressed in particular P-units that act as meta-objects. This approach enhances both the flexibility and reusability of the resulting object-oriented system.
This work has been supported by CEE Esprit Project p973, ENIDATA S.p.A. and Italian National Research Council (CNR)
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
R. Kowalski: “Predicate Logic as Programming Language”, Proc. IFIP-74 Congress. North Holland, pp. 569–574, 1974.
W.F. Clocksin, C.S. Mellish: “Programming in Prolog”, Springer-Verlag, New-York, 1981.
D. Warren et alii: “Prolog-The Language and its implementation compared with Lisp”, SIGAST Newsletter 64, pp. 109–115, 1977.
A. Goldberg, D. Robson: Smalltalk-80, The Language and its Implementation. Addison Wesley, 1983.
D. Moon et alii: “LISP Machine Manual”, MIT-Books, AI Laboratory, 1983.
K. Kahn: “Objects in Concurrent Logic Programming Languages”, Proc. OOPSALA-86, Portland, Oregon, September 1986.
K. Furukawa et alii: “Mandala: A Logic Based Knowledge Programming System”, in International Conference on Fifth Generation Computer Systems, 1984.
K. Nakashima “Knowledge Representation in Prolog/KR”, International Symposium on Logic Programming, Atlantic City, February 1984.
T. Chikayama: “ESP Reference Manual”, ICOT Report, Feb. 1984.
K. Fukunaga: “An experience with a Prolog-based Object-Oriented Language”, Proc. OOPSALA-86, Portland, Oregon, September 1986.
C. Zaniolo: “Object Oriented Programming in Prolog”, International Symposium on Logic Programming, Atlantic City, February 1984.
ALPES Esprit Project P973. Technical Annex 1985.
P. Mello, A. Natali: “Programs as Collections of Communicating Prolog Units” In: ESOP, Saarbrucken, March 1986, Lecture Notes in Computer Science n.213, Springer-Verlag.
C. Hewitt, P. De Jong: “Open Systems”, Tech. Rep. MIT-AIM 691 December 1981.
J.A. Robinson: “A machine-oriented logic-based on the Resolution Principle”, Journal of ACM, 12, 23–41, 1965.
D.G. Theriault: “Issues on the Design and Implementation of ACT2”, Tech. Rep. MIT AI-TR 728, June 1983.
B.J. Nelson: Remote Procedure Call. Dept. of Computer Science, Carnagie-Mellon Univ., Ph.D. Thesis, Rep. CMU-CS-81-119, May 1981.
K. Bowen, R. Kowalski: “Amalgamating language and metalanguage in logic programming”, in Logic Programming, Academic Press, 1982.
L. Aiello, G. Levi: “The uses of meta-knowledge in AI Systems”, ECAI-84, Pisa, September 1984.
“Reference manual for the Ada programming language”, U.S.Departement of Defense, ANSI/MIL-std 1815-a, Jan.1983.
H. Lieberman: “Delegation and Inheritance: Two Mechanisms for Sharing Knowledge in Object-Oriented Systems”, in J. Bezivin, P. Cointe (editors), 3eme Journees d’Etide language Oriente Objets, AFCET, Paris, 1986.
M. Falaschi, G. Levi, C. Palamidessi: “A Synchronization Logic: Axiomatics and Formal Semantics of Generalized Horn Clauses.” Information and Control, Academic Press, Jan.1984.
R.E. Filman, D.P. Friedman: “Actors”, in ‘Coordinated Computing’, Prentice-Hall, 1984.
H. Lieberman: “Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems”, Proc. OOPSALA-86, Portland, Oregon, September 1986.
R. Venken: “A Prolog Meta-Interpreter for Partial Evaluation and its Application to Source to Source Transformation and Query-Optimization”, in Proc. of ECAI-84, North Holland, 1984.
H. Kauffman, A. Grumback: “MULTILOG: MULTIple worlds in LOGic programming”, ECAI-86.
P. Mello, A. Natali: “Configuration of Software Systems: A Domain for Meta-Programming”, Technical Report DEIS, September 1986.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mello, P., Natali, A. (1987). Objects as Communicating Prolog Units. In: Bézivin, J., Hullot, JM., Cointe, P., Lieberman, H. (eds) ECOOP’ 87 European Conference on Object-Oriented Programming. ECOOP 1987. Lecture Notes in Computer Science, vol 276. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47891-4_17
Download citation
DOI: https://doi.org/10.1007/3-540-47891-4_17
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-18353-2
Online ISBN: 978-3-540-47891-1
eBook Packages: Springer Book Archive