Expert Systems Research in Japan

First-generation expert systems typically used a unitary architecture: they represented knowledge at a single level of abstraction, and implicitly combined different kinds of knowledge such as explanations, parameters, and justifications. To accommodate specific problems, engineers compiled and tailored knowledge. Though researchers thought this would simplify system development, it actually caused problems with knowledge acquisition, maintenance, and reusability, as well as system brittleness. Often knowledge had to be re-encoded for use in nearly identical systems. Developers now know that to create flexible and maintainable systems they must model knowledge explicitly. Different types of knowledge play different roles in the reasoning process and have inherently different structuring principles. Clear distinctions must be drawn between structural domain knowledge and task knowledge, and between knowledge-level representation and implementation-level representation. These choices greatly affect a system's efficiency and competence. For example, the use of structured knowledge-level representation allows for knowledge reuse in similar domains. Additionally, the use of implementation-level representation makes it possible to semiautomatically configure executable systems from higher-level specification. Knowledge-based system development has moved from unstructured first generation systems to more structured second generation systems via the domain/task-specific shell approach. During these last few years we have witnessed the emergence of knowledge reuse, sharing, and ontology. >