Cliche-based modeling for expert problem-solving systems
Ruey-Juin Chang · 1993
A human analyst who wishes to answer a question such as What is the total energy production of counties within 100 miles of Austin? must use several types of reasoning. Geometric reasoning is required to find the counties that are within 100 miles of Austin. One or more databases may contain data about different forms of energy production. Physics reasoning may be required to convert the existing form of data (e.g., barrels of oil, tons of coal) into the desired form (energy equivalent). The goal of this dissertation is to develop methods for automating the construction of computer programs to answer analysis questions. To achieve that, a cliche-based modeling approach for problem solving is proposed. Analysis programs are specified by selecting and connecting high-level, generic models of problem-solving components, which we term cliches. A reflective architecture is described that allows such structures of high-level, generic components to be specialized into executable programs. Reflection provides great flexibility in adapting the generic components to fit the particular features of an application. In this way, problem solving is viewed as a modeling activity rather than a programming activity. Four kinds of cliche components have been identified in this research. Task components are used to model target problems, which may have alternative solution structures composed of method components. Method components provide either direct solutions or decompositions into subtasks. Control components specify connections and ordering of cliche components for a reflective architecture. Data description components describe data in application domains. Concepts of the cliche-based modeling for problem solving have been demonstrated by a test-bed system, called Analyst's Workbench. This system is designed to help analysts to interactively select, construct and edit analysis models by a graphical user interface, and to compile these models into programs for answering a family of analysis questions. The major contributions of this dissertation are (1) a cliche model to coherently represent problem-solving components, (2) a cliche-based reflective architecture, which provides an extensible framework for plugging together generic components to generate application-specific programs for problem solving.