Procedural Expert Systems

A scheme for explicitly representing and using expert knowledge of a procedural kind is described. The scheme allows the explicit representation of both declarative and procedural knowledge within a unified framework, yet retains all the desirable properties of expert systems such as modularity, explanatory capability, and extendability. It thus bridges the gap between the procedural and declarative languages, and allows formal algorithmic knowledge to be uniformly integrated with heuristic declarative knowledge. A version of the scheme has been fully implemented and applied to the domain of automobile engine fault, diagnosis.