Program name: IMP-shell Author name: Daniel H. Marcellus Middletown, N.Y. Suggested donation: Public domain Program description: The IMP Shell is a powerful expert system development environment for the IBM-PC. It contains all the utilities needed to develop and test new expert systems, and run them when they are finalized. All functions are menu driven and appear in windows. IMP expert systems are rule based, backwards chaining systems. They are very fast and not limited by an artificially small number of rules. The IMP Shell is in the public domain and is used in many educational settings. It was developed by Daniel H. Marcellus of the Middletown Programming Works, Middletown, New York. It is completely described in the book "Expert Systems Programming in Turbo Prolog" which is written by Mr. Marcellus, and published by Prentice-Hall, Englewood Cliffs, N.J. (1987). An expert system is a program which has captured the expertise of an expert in some field and can deploy that expertise with seemingly intelligent behavior. For instance there are expert systems to do all these things: Diagnose medical problems Guide the repair of complex equipment Give advice about taxes and investments Guide chemists in synthesizing desired chemicals Interpret telemetry data from satellites Control nuclear reactors and electric utility grids A shell makes it easy to set up an expert system by concentrating on the problem at hand rather than on the details of a particular machine reasoning system or artificial intelligence language. This shell was written entirely in TURBO PROLOG, and the source code is provided, although you don't need to understand anything about TURBO PROLOG in order to set up an expert system with this software. The IMP Shell is menu driven, and the menu allows you to select all the activities that are necessary at various stages of the development of an expert system, for example: 1. HELP information 2. MAKE rules for a new expert system 3. INSPECT the rule set that is loaded 4. SAVE the rule set that is loaded 5. LOAD an existing rule set 6. RUN the presently loaded rule set 7. EDIT an existing rule set 8. PRINT an existing rule set 9. DOS access 10. END this program The IMP Shell uses backward reasoning. This means that it has the proper architecture for creating good expert systems for classification tasks, for troubleshooting, and, in general, for anything that involves choosing among alternatives. It is not the proper architecture for applications that require a well defined sequence of steps with complex reasoning going into the application of each step. Applications such as configuring complex equipment or estimating costs of a project are of this sort. They should be implemented with a forward chaining shell.