Abstract
We consider an architecture for knowledge base systems based on first order logic and meta-programming techniques. Knowledge base systems consist of four kinds of components: knowledge bases, integrity constraint theories, assimilators, and query processors. A knowledge base is a first order theory, restricted in such a way that there are efficient theorem proving techniques available for processing queries to the knowledge base. An integrity constraint theory is a first order theory. An assimilator performs user updates on a knowledge base, taking care that the updated knowledge base satisfies the appropriate integrity constraint theory. A query processor implements the query answering process.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
H.D. Abramson and M.H. Rogers, editors. Meta-Programming in Logic Programming, MIT Press, 1989. Proceedings of the Meta88 Workshop, June 1988.
H. Bacha. Meta-level programming: a compiled approach. In J.-L. Lassez, editor, Proceedings of the Fourth International Conference on Logic Programming, pages 394–410, MIT Press, Melbourne, 1987.
K. Benkerimi and J.W. Lloyd. A Procedure for the Partial Evaluation of Logic Programs. Technical Report TR-89-04, Department of Computer Science, University of Bristol, 1989.
D. Black and J. Manley. A Logic-Based Architecture for Knowledge Management. Technical Memo HPL-BRC-TM-86-037, Hewlett-Packard Bristol Research Centre, 1986.
K.A. Bowen. Meta-level programming and knowledge representation. New Generation Computing, 3 (3): 359–383, 1985.
K.A. Bowen and R.A. Kowalski. Amalgamating language and metalanguage in logic programming. In K.L. Clark and S.-A. Tarnlund, editors, Logic Programming, pages 153–172, Academic Press, London, 1982.
K.A. Bowen and T. Weinberg. A meta-level extension of prolog. In IEEE Symposium on Logic Programming, pages 669–675, Boston, 1985.
I. Cicekli. Design and implementation of an abstract MetaProlog engine for MetaProlog. In H.D. Abramson and M.H. Rogers, editors, Meta-Programming in Logic Programming, pages 417–434, MIT Press, 1989. Proceedings of the Meta88 Workshop, June 1988.
P. Coscia, P. Franceschi, G. Levi, G. Sardu, and L. Torre. Meta-level definition and compilation of inference engines in the Epsilon logic programming environment. In R.A. Kowalski and K.A. Bowen, editors, Proceedings of the Fifth International Conference and Symposium on Logic Programming, pages 359–373, MIT Press, 1988.
P. Coscia, P. Franceschi, G. Levi, G. Sardu, and L. Torre. Object level reflection of inference rules by partial evaluation. In P. Maes and D. Nardi, editors, Meta Level Architectures and Reflection, North-Holland, 1988.
K. Eshghi. Meta-Language in Logic Programming. PhD thesis, Department of Computing, Imperial College, 1986.
A. Guessoum and J.W. Lloyd. Updating Knowledge Bases. Technical Report TR-89-05, Department of Computer Science, University of Bristol, 1989.
P.M. Hill and J.W. Lloyd. Analysis of meta-programs. In H.D. Abramson and M.H. Rogers, editors, Meta-Programming in Logic Programming, pages 23–52, MIT Press, 1989. Proceedings of the Meta88 Workshop, June 1988.
P.M. Hill and J.W. Lloyd. Meta-Programming for Dynamic Knowledge Bases. Technical Report CS-88-18, Department of Computer Science, University of Bristol, 1988.
G. Levi and G. Sardu. Partial evaluation of metaprograms in a “multiple worlds” logic language. In D. Bjorner, A.P. Ershov, and N.D. Jones, editors, Workshop on Partial Evaluation and Mixed Computation, pages 213–223, Gl. Avernaes, Denmark, October 1987.
J.W. Lloyd. Directions for meta-programming. In Proceedings of the International Conference on Fifth Generation Computer Systems, pages 609–617, Tokyo, 1988.
J.W. Lloyd. Foundations of Logic Programming. Springer-Verlag, second edition, 1987.
J.W. Lloyd and J.C. Shepherdson. Partial Evaluation in Logic Programming. Technical Re-port CS-87-09, Department of Computer Science, University of Bristol, 1987. Revised July 1989. To appear in The Journal of Logic Programming.
T. Miyachi, S. Kunifuji, H. Kitami, K. Furukawa, A. Takeuchi, and H. Yokota. A Knowledge Assimilation Method for Logic Databases. Technical Report TR-025, ICOT, 1983.
S. Safra and E. Shapiro. Meta interpreters for real. In H.-J. Kugler, editor, Information Processing 86, pages 271–278, North Holland, Dublin, 1986.
J. Staples, P. Robinson, R. Paterson, R. Hagen, A. Craddock, and P. Wallis. Qu-prolog: an extended prolog for meta level programming. In H.D. Abramson and M.H. Rogers, editors, Meta-Programming in Logic Programming, pages 435–452, MIT Press, 1989. Proceedings of the Meta88 Workshop, June 1988.
L. Sterling and E. Shapiro. The Art of Prolog. MIT Press, 1986.
L.S. Sterling and R.D. Beer. Meta-Interpreters for Expert System Construction. Technical Report TR 86–122, Center for Automation and Intelligent Systems Research, Case Western Reserve University, 1986.
V.S. Subrahmanian. A simple formulation of the theory of metalogic programming. In H.D. Abramson and M.H. Rogers, editors, Meta-Programming in Logic Programming, pages 65–102, MIT Press, 1989. Proceedings of the Meta88 Workshop, June 1988.
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to meta programming. In H.-J. Kugler, editor, Information Processing 86, pages 415–420, North Holland, Dublin, 1986.
P. Tarau and M. Boyer. Prolog meta-programming with soft databases. In H.D. Abramson and M.H. Rogers, editors, Meta-Programming in Logic Programming, pages 365–382, MIT Press, 1989. Proceedings of the Meta88 Workshop, June 1988.
R. Venken. A Prolog meta-interpreter for partial evaluation and its application to source to source transformation and query optimization. In ECAI-84: Advances in Artificial Intelligence, pages 91–100, North-Holland, Pisa, 1984.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lloyd, J.W. (1989). Meta-Programming for Knowledge Base Systems. In: Brauer, W., Freksa, C. (eds) Wissensbasierte Systeme. Informatik-Fachberichte, vol 227. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-75182-0_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-75182-0_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51838-9
Online ISBN: 978-3-642-75182-0
eBook Packages: Springer Book Archive