login

XPLAIN: a system for creating and explaining expert consulting programs

Artificial IntelligencePublished 1 September 1983
William Swartout
Citations385
SJR quartileQ1
SJR score1.84
SNIP3.30

TL;DR

The XPLAIN system uses an automatic programmer to generate a consulting program by refinement from abstract goals and provides justifications of the code by examining the refinement structure created by the automatic programmer.

Abstract

Traditional methods for explaining programs provide explanations by converting the code of the program or traces of its execution to English. While such methods can sometimes adequately explain program behavior, they typically cannot provide justifications for that behavior. That is, such systems cannot tell why what the system is doing is a reasonable thing to be doing. The problem is that the knowledge required to provide these justifications was used to produce the program but is itself not recorded as part of the code, and hence is unavailable. The XPLAIN system uses an automatic programmer to generate a consulting program by refinement from abstract goals. The automatic programmer uses a domain model, consisting of descriptive facts about the application domain, and a set of domain principles which prescribe behavior and drive the refinement process forward. By examining the refinement structure created by the automatic programmer, XPLAIN provides justifications of the code. XPLAIN has been used to re-implement major portions of a Digitalis Therapy Advisor and provides superior explanations of its behavior.

Keywords

Computer Science