Abstract
In this paper we discuss different techniques for implementing an extension of logic programming for knowledge structuring. The extension we consider, in particular, is based on Contextual Logic Programming. Three different implementation approaches are considered first: meta-interpretation, translation into Prolog code and compilation on an extended Warren Abstract Machine. These approaches are compared from the point of view of both methodology and efficiency. In the last part of the paper we consider a more effective implementation, developed on an industrial Prolog enhanced with the module construct.
Preview
Unable to display preview. Download preview PDF.
References
H. Bacha: Meta-level Programming: A Compiled Approach. In: J-L. Lassez (ed.): Proceedings 4th International Conference on Logic Programming, The MIT Press, Cambridge (USA), 1987.
K. Bowen, R.A. Kowalski: Amalgamating language and meta-language in logic programming. In: K.L. Clark and S-A. Tarnlund (eds.): Logic Programming, Academic Press, London (UK), pp. 153–172, 1982.
M. Bugliesi: Virtual Predicate Tables for Implementing Inheritance in Logic Programming. Technical Report, University of Padova, 1992.
A. Brogi, E. Lamma, P Mello: Inheritance and Hypothetical Reasoning in Logic Programming. In: L. Carlucci Aiello (ed.): Proceedings of 9th European Conference on Artificial Intelligence ECAI-90, Pitman Publishing, London (UK), 1990.
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”, N. 4/1, May 1990.
K. Bowen: Meta-level Programming and Knowledge Representation. New Generation Computing, Vol. 3, no. 4, OHMSHA LDT. and Springer-Verlag, Tokyo (J), pp. 359–383, 1985.
P.L. Civera, E. Lamma, P. Mello, A. Natali, G. Piccinini, G., M. Zamboni: Implementing Structured Logic Programs on a Dedicated VLSI Coprocessor. In: Proceedings Workshop on VLSI for Artificial Intelligence and Neural Networks, Oxford University, September 1990.
E. Denti, A. Natali, A. Omicini: Contexts as First-class Objects in SICStus Prolog. In: S. Costantini (ed.): Proceedings 7th Italian Conference on Logic Programming, Tremezzo, Italy, June 1992.
L. Giordano, A. Martelli, G.F. Rossi: Local Definitions with Static Scope Rules in Logic Languages. In: Proceedings International Conference on Fifth Generation Computer Systems FGCS84, ICOT, Tokyo (J), 1988.
B. Jayaraman, G. Nadathur: Implementation Techniques for Scoping Constructs in Logic Programming. In: K. Furukawa (d.): Proceedings of the 8th International Conference on Logic Programming, Paris (F), The MIT Press, Cambridge (USA), pp. 871–886, 1991.
E. Lamma, P. Mello, A. Natali: The Design of an Abstract Machine for Efficient Implementation of Contexts in Logic Programming. In: G. Levi and M. Martelli (eds.): Proceedings 6th International Conference and Symposium on Logic Programming, The MIT Press, Cambridge (USA), 1989.
E. Lamma, P. Mello, A. Natali: Reflection mechanisms to combine Prolog databases. Software, Practice and Experience, Vol. 21, No. 6, pp. 603–624, John Wiley & Sons, Chichester (UK), 1991.
E. Lamma, P. Mello, A. Natali: An Extended Warren Abstract Machine for the Execution of Structured Logic Programs. Journal of Logic Programming, North-Holland, Forthcoming.
J.W. Lloyd, J.C. Shepherdson: Partial Evaluation in Logic Programming. Journal of Logic Programming, Vol. 13, No. 3&4, pp. 217–242, North-Holland, 1991
M. Meier el alii: SEPIA — An Extendible Prolog System. Proceedings of the 11th World Compuetr Congress IFIP'89, San Francisco (USA), August 1989.
F.G. McCabe: Logic and Objects: Language, application and implementation. PhD Thesis, Imperial College, London (UK), November 1988.
D. Miller: A Theory of Modules for logic Programming. In: Proceedings 1986 International Symposium on Logic Programming, 106–114; 1986.
P. Mello, A. Natali, C. Ruggieri: Logic Programming in a Software Engineering Perspective. In: E.L. Lusk and R.A. Overbeek (eds.): Proceedings of the North American Conference on Logic Programming NACLP89, The MIT Press, Cambridge (USA), 1989.
L. Monteiro, A. Porto: Contextual Logic Programming, In: G. Levi and M. Martelli (eds.): Proceedings 6th International Conference and Symposium on Logic Programming, The MIT Press, Cambridge (USA), 1989.
S. Safra, E. Shapiro: Meta-interpreters for Real. In: H.G. Kugler (ed.): Information Processing 86, pp. 271–278, Elsevier Science Publisher, 1986.
Swedish Institute of Computer Science: SICStus Prolog User's Manual. Kista, Sweden, 1991.
L. Sterling, E. Shapiro: The Art of Prolog. The MIT Press, 1986.
D.H.D. Warren: An Abstract Prolog Instruction Set. SRI Technical Note 309, SRI International, October 1983.
D.S. Warren: Database Updates in Prolog. In: Proceedings International Conference on Fifth Generation Computer Systems 1984, Tokyo (J), 1984.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Denti, E., Lamma, E., Mello, P., Natali, A., Omicini, A. (1993). Techniques for implementing contexts in Logic Programming. In: Lamma, E., Mello, P. (eds) Extensions of Logic Programming. ELP 1992. Lecture Notes in Computer Science, vol 660. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56454-3_17
Download citation
DOI: https://doi.org/10.1007/3-540-56454-3_17
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56454-6
Online ISBN: 978-3-540-47562-0
eBook Packages: Springer Book Archive