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. 

