Specifying simple scheduling tasks in a reflective and modular architecture
Carles Sierra, Lluı́s Godo · 1993
this paper we present a system (MILORD II) that proposes particular solutions to these problems. Incompleteness of the available knowledge may lead to make assumptions in order to carry on a deduction process, even if later on these assumptions are proved to be erroneous. Then the reasoning process has to be reconsidered, and previous deductions retracted. This is the kernel of so-called non-monotonic reasoning patterns. To deal with this problem a meta-level approach, based on reflection techniques and equipped with a declarative backtracking mechanism, is provided by the system. Reflection techniques can also be used to tackle the problem of combinatorial explosion [11]. The use of reflection techniques is a common practice in several knowledge areas, natural language, philosophy, literature, etc. A good general introduction to the topic is [6]. In computer science (CS) and, more particularly in artificial intelligence (AI) , reflection has been used in two main areas: Automatic Theorem Proving and Knowledge Based Systems. In fact, the use of reflection techniques is one of the characteristics that differentiate AI development tools from CS environments. Automatic Theorem Proving has found its main limitations in the huge search space it has to deal with. Several approximations have tried to solve this problem: efficient search techniques, limited rule inference sets, limitation of the expressive power of logics, etc. Recently, reflection has been used to implement proof heuristics [9,10]. In this approach the meta-language works with the reified components of the object language (formulas, theorems, axioms, 2 etc.) to build up proof plans that help the prover of the object level language to find the solution. The application of reflection techniques to KBS has been...