{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,1,12]],"date-time":"2025-01-12T00:40:07Z","timestamp":1736642407635,"version":"3.32.0"},"reference-count":37,"publisher":"Wiley","issue":"6","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":5630,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1991,6]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>By using practical examples, this paper outlines the power of reflection mechanisms for logic programming systems in the domain of knowledge structuring. In particular, it presents an extension of Prolog, where separate databases can be handled as first\u2010class objects. Different forms of database combination such as inheritance and dynamic context extension\/contraction are specified and implemented in a dynamic and flexible way through reflection. The main aim is to broaden the application area of logic programming to encompass most of the paradigms needed by systems that use artificial intelligence techniques. Practical results presented in the paper show that logic programs that use reflection can be shorter, more readable and efficient than those using more conventional full meta\u2010interpretation techniques. Full meta\u2010interpretation, however, is more general than reflection.<\/jats:p>","DOI":"10.1002\/spe.4380210605","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T05:36:56Z","timestamp":1163828216000},"page":"603-624","source":"Crossref","is-referenced-by-count":2,"title":["Reflection mechanisms for combining prolog databases"],"prefix":"10.1002","volume":"21","author":[{"given":"Evelina","family":"Lamma","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Paola","family":"Mello","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Antonio","family":"Natali","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"volume-title":"Programming in Prolog","year":"1981","author":"Clocksin W. F.","key":"e_1_2_1_2_2"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1007\/BF03037077"},{"volume-title":"MProlog Language Reference Manual","year":"1985","key":"e_1_2_1_4_2"},{"key":"e_1_2_1_5_2","unstructured":"K.Nakashima Knowledge representation in Prolog\/KR International Symposium on Logic Programming Atlantic City (U.S.A.) IEEE Computer Society Press 1984 pp.126\u2013130."},{"key":"e_1_2_1_6_2","unstructured":"H.Bacha Meta\u2010level programming: a compiled approachin J.\u2010L. Lassez (ed.).Proceedings of the 4th International Conference on Logic Programming Melbourne (Australia) The MIT Press Cambridge Massachusetts 1987 pp.394\u2013409."},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-16442-1_21"},{"key":"e_1_2_1_8_2","first-page":"153","volume-title":"Logic Programming","author":"Bowen K.","year":"1982"},{"key":"e_1_2_1_9_2","first-page":"271","volume-title":"Information Processing 86","author":"Safra S.","year":"1986"},{"volume-title":"LISP","year":"1984","author":"Winston P. H.","key":"e_1_2_1_10_2"},{"volume-title":"ICOT Research Center Technical Report, TR\u2010044","year":"1984","author":"Chikayama T.","key":"e_1_2_1_11_2"},{"key":"e_1_2_1_12_2","first-page":"83","volume-title":"Logic Programming","author":"Bruynooghe M.","year":"1982"},{"volume-title":"Advanced Issues in Knowledge Representation","year":"1987","author":"des Rivieres J.","key":"e_1_2_1_13_2"},{"volume-title":"A. I. Memo no. 701","year":"1983","author":"Batali J.","key":"e_1_2_1_14_2"},{"key":"e_1_2_1_15_2","unstructured":"B. C.Smith Reflection and semantics in LISP Report No. CSLI\u201084\u20138 Stanford University Center for the Study of Language and Information Stanford University Palo Alto July1984."},{"key":"e_1_2_1_16_2","unstructured":"P.Maes Introspection in knowledge representation in B. du Boulay D. Hogg and L. Steels (eds) Proceedings of the 7th European Conference on Artificial intelligence (ECAI 86) Brighton July1986 North\u2010Holland Amsterdam 1986 pp.256\u2013269."},{"key":"e_1_2_1_17_2","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(80)90015-6"},{"key":"e_1_2_1_18_2","doi-asserted-by":"crossref","unstructured":"D.FriedmanandM.Wand Reification: reflection without meta\u2010physic ACM Conference on LISP and Functional Programming ACM Austin August1984 pp.348\u2013355.","DOI":"10.1145\/800055.802051"},{"key":"e_1_2_1_19_2","unstructured":"A.PortoandL.Monteiro Contextual logic programming in G. Levi and M. Martelli (eds) Proceedings of the 6th International Conference on Logic Programming Lisbon The MIT Press Cambridge Massachusetts 1989 pp.284\u2013299."},{"key":"e_1_2_1_20_2","unstructured":"M.Cavalieri E.LammaandP.Mello An extended Prolog machine for dynamic context handling in Y. Kodratoff (ed.) Proceedings of the 8th European Conference on Artificial Intelligence (ECAI 88) Munich August 1988 Pitman Publishing London (UK) 1988 pp.284\u2013289."},{"key":"e_1_2_1_21_2","unstructured":"E.Lamma P.MelloandA.Natali The design of an abstract machine for efficient implementation of contexts in logic programming in G. Levi and M. Martelli (eds).Proceeding of the 6th International Conference on Logic Programming Lisbon The MIT Press Cambridge Massachusetts 1989 pp.303\u2013317."},{"key":"e_1_2_1_22_2","unstructured":"H.Gallaire Merging objects and logic programming: relational semantics.Proceedings of the 5th National Conference on Artificial Intelligence (AAAi\u201086) Philadelphia (PA) August 1986 Morgan Kaufmann Publishers Los Altos (CA) 1986 pp.754\u2013758."},{"volume-title":"Smalltalk\u201080, The Language and its Implementation","year":"1983","author":"Goldberg A.","key":"e_1_2_1_23_2"},{"key":"e_1_2_1_24_2","doi-asserted-by":"crossref","unstructured":"D. A.Moon Object\u2010oriented programming with flavors in N. Myerowitz (ed.). Proceedings of the ACM Conference on Object\u2010Oriented Programming Languages and Applications (OOPSLA 86) Special Issue of SIGPLAN Notices 21 (11) (1986).","DOI":"10.1145\/28697.28698"},{"volume-title":"Coordinated Computing","year":"1984","author":"Filman R. E.","key":"e_1_2_1_25_2"},{"key":"e_1_2_1_26_2","unstructured":"H.KauffmanandA.Grumbach MULTILOG: MULTIple worlds in LOGic Programming in B. du Boulay D. Hogg and L. Steels (eds) Proceedings of the 7th European Conference on Artificial Intelligence (ECAI 86) Brighton July 1986 North\u2010Holland Amsterdam 1086 pp.291\u2013305."},{"key":"e_1_2_1_27_2","doi-asserted-by":"crossref","unstructured":"L.LeonardiandP.Mello Combining logic\u2010 and object\u2010oriented paradigms.Proceedings of the 21st Annual Hawaii International Conference on System Sciences (HICSS\u20102I) The Computer Society of the IEEE 1988 pp.376\u2013385.","DOI":"10.1109\/HICSS.1988.11828"},{"key":"e_1_2_1_28_2","unstructured":"H.Lieberman Delegation and inheritance: two mechanisms for sharing knowledge in object\u2010oriented systems Actes des Journees Afcet\u2010Informatique Languages Orientes Objet BIGRE+ GLOBULE No. 48 January1986."},{"key":"e_1_2_1_29_2","unstructured":"M.Cavalieri E.Lamma P.MelloandA.Natali Meta\u2010programming through direct introspection: a comparison with meta\u2010interpretation techniques in J. W. Lloyd (ed.) Proceedings Workshop on Meta\u2010progamming in Logic Programming (META88) Bristol June1988 pp.293\u2013305;"},{"key":"e_1_2_1_29_3","first-page":"399","volume-title":"Meta\u2010Programming in Logic Programming","author":"Abramson H.","year":"1989"},{"key":"e_1_2_1_30_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-83189-8"},{"volume-title":"C\u2010Prolog Users Manual","year":"1987","author":"Pereira F.","key":"e_1_2_1_31_2"},{"key":"e_1_2_1_32_2","unstructured":"R.Venken A prolog meta\u2010interpreter for partial evaluation and its application to source to source transformation and query\u2010optimization in T. OShea (ed.) Proceedings of the 6th European Conference on Artificial Intelligence (ECAl 84) Pisa September 1984 Elsevier Science Publisher B. V. Amsterdam 1984 pp.91\u2013100."},{"key":"e_1_2_1_33_2","unstructured":"J. W.LloydandJ. C.Shepherdson Partial evaluation in logic programming Technical Report CS\u201087\u201390 Department of Computer Science University of Bristol Bristol December1987."},{"key":"e_1_2_1_34_2","unstructured":"G. P.Coscia P.Franceschi G.Levi G.SarduandL.Torre Meta\u2010level definition and compilation of inference engines in the epsilon logic programming environment in R. A. Kowalski and K. A. Bowen (eds).Proceedings of the 5th International Conference on Logic Programming Seattle The MIT Press Cambridge Massachusetts 1988 pp.359\u2013373."},{"key":"e_1_2_1_35_2","unstructured":"ALPES Final Report ALPES (ESPRIT Project 973) September1989."},{"key":"e_1_2_1_36_2","unstructured":"P.Mello Inheritance as combination of Horn clause theories Pre\u2010Proceedings Workshop on Inheritance Hierarchies in Knowledge Representation and Programming Languages Viareggio February1989 pp.255\u2013271;"},{"volume-title":"Inheritance Hierarchies in Knowledge Representation and Programming Languages","author":"Lenzerini M.","key":"e_1_2_1_36_3"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380210605","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380210605","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,12]],"date-time":"2025-01-12T00:06:19Z","timestamp":1736640379000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380210605"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1991,6]]},"references-count":37,"journal-issue":{"issue":"6","published-print":{"date-parts":[[1991,6]]}},"alternative-id":["10.1002\/spe.4380210605"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380210605","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"type":"print","value":"0038-0644"},{"type":"electronic","value":"1097-024X"}],"subject":[],"published":{"date-parts":[[1991,6]]}}}