Verifying and Validating Personal
Computer-Based Expert Systems

Terry Bahill
Systems and Industrial Engineering
University of Arizona
Tucson, AZ 85721-0020, USA
terry@sie.arizona.edu
© 1998-2004 Bahill

Validator, is a program that interactively verifies and validates a rule based expert system. Most of its features are generic, they can be used for verification and validation of any rule based expert system. Validator reads a knowledge base and checks its syntax and semantics for potential errors and brings them to the attention of the knowledge engineer. The program does not attempt to fix errors. The task of fixing errors is left to the knowledge engineer. The program has six modules: (1) a Preprocessor, (2) a Syntax Analyzer, (3) a Syntactic Error Checker, (4) a Debugger, (5) a Chaining Thread Tracer, and (6) a Knowledge Base Completeness module. Validator was tested on 61 student generated expert systems classified as master's projects, potential commercial systems and class projects for a senior/graduate level course in knowledge engineering, and on a few commercial demonstration systems. The potential mistakes flagged by Validator are summarized into the following 9 categories. (1) Illegal use of reserved words; (2) Unused rules, this includes backward as well as forward rules. (3) Unused facts. (4) Unused questions. (5) Unused legal values (6) Repeated questions. (7) Multiple methods; this includes expressions that appear in questions and facts, questions and conclusions, or facts and conclusions. (8) Rules that use illegal values; this includes mismatches between any of the sets of legal values, utilized values, concluded values, and assigned values. (9) Wrong instantiations.

Other tools prevent inappropriate questions, such as asking a male if he is pregnant, and flag rules that never succeed or succeed for every test case.

References [49 and 57]. This lecture is suitable for engineers, management and information specialists and computer scientists. This talk requires an overhead projector. This talk takes one hour.