A framework for the description and design of cooperative knowledge-based systems
Donald J. Hillman, Stephen T.C. Wong · 1991
The mechanisms of reasoning and problem solving in computer systems generally remain bound to a single, monolithic conception of knowledge and action. To solve larger, more complex realistic problems, we must break away from such a monolithic conception of problem solving and establish problem-level concurrency in AI systems. The new field of research that deals with this is called cooperative distributed problem solving or coordinated problem solving. An approach of analyzing and developing intelligent communities, which comprise collections of interacting, coordinated computing processes, offers significant promise. The thesis presents my doctoral research on a formal framework for the description and design of cooperative knowledge-based systems--a group of knowledge-based systems that cooperate with each other and/or human experts to solve problems requiring their combined resources and expertise. Mathematical logic and naive set theory are tools used in the formalization. Today, there lacks a systematic, rational approach to study and to design such a new class of software systems. Few general principles and useful guidelines have been learned from the many empirical prototypes developed so far. The framework proposed in this thesis intends to provide a systematic means for studying various approaches to cooperative problem solving. It models a community of computational agents sharing information, coordinating tasks, and making group decisions. It encompasses many aspects of cooperative problem solving, namely, formal modeling, inter-agent communication, knowledge representation, problem-solving structures, group decisions, and human-computer interfaces. The purpose of the framework is not only for the understanding of the nature of cooperative problem solving, but also for the provision of principles and methodologies in designing cooperative computing systems. The framework has been used to guide the implementation of two Prolog-based prototype systems in the domain of structural engineering. Empirical verification of the framework by extensive prototyping is outside the scope of this doctoral research. However, the practicality of the framework is illustrated using some representative examples taken from the two prototypes.