SPECIFICATIONS AND TOOLS FOR BUILDING RELIABLE EXPERT SYSTEMS
Expert system technology is being applied to complex problem-solving tasks in many domains; concerns have naturally arisen as to the reliability of these systems. As with any software, attention to quality and reliability must be paid throughout development of an expert system. Validation and verification techniques must be employed, and effective use of such techniques depends upon the existence of specifications which state not only what the system must do, but also how it must do it. This article presents practical and sound techniques for performing specification, verification and validation activities for an expert system. Tools are described which assist the developer in performing verification and validation. It is argued that these tools and techniques form the backbone of a powerful and practical expert system development methodology. The general aim of the article is to demonstrate that formal processes can be applied to assure the reliability of an expert system, and that use of such processes is entirely practical, given the present state-of-the-art in software engineering and expert systems. The article is illustrated with examples from the development of a real expert system application in a medical domain.