Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!apple!gem.mps.ohio-state.edu!wuarchive!udel!burdvax!finin@prc.unisys.com From: finin@prc.unisys.com (Tim Finin) Newsgroups: comp.lang.prolog Subject: Re: hierarchy among modules in prolog Keywords: modules, hierarchy, inheritance Message-ID: <11672@burdvax.PRC.Unisys.COM> Date: 9 Oct 89 15:10:03 GMT References: <5641@portia.Stanford.EDU> Sender: news@PRC.Unisys.COM Reply-To: finin@prc.unisys.com (Tim Finin) Organization: Unisys Paoli Research Center, PO Box 517, Paoli PA 19301 Lines: 38 In-reply-to: sreerang@portia.Stanford.EDU (Sreeranga Rajan) In article <5641@portia.Stanford.EDU>,sreerang@portia(Sreeranga Rajan) writes: >I would like to know if it is possible to make the visibility of >assertions in modules hierarchical in prolog. The prolog I am using >being Quintus prolog running on Sun-unix, seems to have a flat >module system. Would there be any other prolog where its possible to >have a hierarchical module system? Any input on this is greatly appreciated. As Richard pointed out, there are many possible notions of a "hierarchical module system". We've explored one possibility that is motivated more from a AI knowledge representation and reasoning perspective than from a programming language one. We have a forthcoming paper on this: Finin, Tim and James McGuire, ``Inheritance Hierarchies in Logic Programming Languages'', in Inheritance Hierarchies in Knowledge Representation, M. Lenzerini, D. Nardi and M. Simi (eds.), Wiley, 1990. Which is available in draft form as Technical report PRC-LBS-8812 which can be obtained by contacting Judy Norton, Unisys Paoli Research Center, Box 517, Paoli PA 19301. Here is the paper's abstract: This paper presents an extended model for a logic programming language's knowledge base. Instead of being restricted to one global knowledge base, as is the case with Prolog, we allow segmentation into units which are linked together into a lattice. Each unit defines a view on the knowledge base which includes those clauses which have been asserted into that unit as well as clauses inherited from its ancestors higher in the lattice structure. This model supports arbitrary retraction. Retracting a clause in a knowledge base unit effectively blocks its inheritance for that unit and all of its descendants. Motivations for using this model are given. We also discuss the design-iterations of a Prolog-based implementation (Phd) of this model. -- ______________________________________________________________________________ Tim Finin finin@prc.unisys.com (internet) Unisys Paoli Research Center ..!{psuvax1,sdcrdcf,cbmvax}!burdvax!finin (uucp) PO Box 517 215-648-7446 (office), 215-386-1749 (home),