Expert systems builders construct computer programs that capture some aspects of human problem-solving performance in a narrow domain of expertise. The narrowness and shallowness of the knowledge domain are in most cases proportional to the effectiveness of these systems. Building expert systems that operate within broad and deep knowledge domains is still far beyond the state of the art.
The programming technology used by most of the original expert systems is founded on unstructured languages, which, although theoretically equivalent to other programming languages, make it difficult to achieve software engineering goals. These theoretically poor languages are chosen as knowledge representation schemes because they facilitate the process of the piece-wise acquisition of knowledge. The programmer, who in this context is called a knowledge engineer, extracts knowledge about generalized situations and their corresponding actions, and represents it as a situation-action pair in the computer program.
Research and Development in Expert Systems III ...