The research was motivated by the need to represent knowledge (when written in Prolog) in a way that would ratain its inherent structure. Our approach attempts to offer means of abstraction for structuring logic program according to both generality levels and to knowledge content, i.e. meta-levels. Using the notion of a modular logic program, we define a special reflection mechanism which establishes connections between modules at a given level and a level above. We describe various ways of combining of modules. We propose defining meta-knowledge in separate modules, with each module defining one particular strategy. Another option is dividing meta-knowledge that defines one strategy into several modules at one level, and defining a way of combining them.
展开▼