Modularity, uncertainty and reflection in MILORD II
Carles Sierra, Lluı́s Godo · 2003
Knowledge-based (KB) systems, when programmed in the large, require special architectures, adapted to implement complex reasoning tasks and able to combine simple tasks into more sophisticated ones in a safe way. To tackle this problem MILORD II proposes three basic programming techniques: modularization, reflection, and local uncertainty management. Modularization is a technique used to map the task/subtask structure of a problem into a structured KB. Modules consist of a clean interface, a propositional object-level language, and a first-order meta-level language. Uncertainty is managed by means of finite multiple-valued local logics associated to the object-level language of each module. Reflection between the object-level and the meta-level languages makes it possible to implement, inside each module, nonstandard reasoning patterns such as default reasoning or hypothetical reasoning. The combination of several modules into a structured KB is the way MILORD II implements complex reasoning patterns.>