Developing maintainable expert systems using case‐based reasoning

Abstract
Maintainability problems associated with traditional software systems are exacerbated in rule‐based systems. The very nature of that approach — separation of control knowledge and data‐driven execution — hampers maintenance. While there are widely accepted techniques for maintaining conventional software, the same is not true for rule‐based systems. In most situations, both a knowledge engineer and a domain expert are necessary to update the rules of a rule‐based system. This paper presents, first, an overview of the software engineering techniques and object‐oriented methods used in maintaining rule‐based systems. It then discusses alternate paradigms for expert system development. The benefits of using case‐based reasoning (from the maintenance point of view) are illustrated through the implementation of a case‐based scheduler. The main value of the scheduler is that its knowledge base can be modified by the expert without the assistance of a knowledge engineer. Since changes in application requirements can be given directly to the system by the expert, the effort of maintaining the knowledge base is greatly reduced.

This publication has 12 references indexed in Scilit: