Expert System Shells
Before year 1985, this was generally believed that the development and employ of expert systems required specialized computer languages, as like LISP or PROLOG, and particular computer hardware, as like LISP machines. With the improvement of commercial expert system shells, this position has changed. Today, a lot of commercial expert system shells are available for mainstream computers from mainframes to personal computers or PCs.
An expert system shell is a computer program such combines an inference engine, an explanatory facility and knowledge base improvement or development tools. A shell is essentially an expert system without the knowledge base, which must be created by the expert system developers. A shell can be applied to a number of different knowledge base, to create different expert systems. That is, different knowledge bases can be developed without having to rewrite the inference mechanism each time.
An analogy with spreadsheets may be useful to those familiar with these programs. The expert system shell is analogous to the spreadsheet program and it comes from the box; it has no knowledge in it. The knowledge base is analogous to the rules or macros that the spreadsheet developer inputs to the spreadsheet program to define how to solve a particular type of problem. The database is analogous to the data that the spreadsheet user inputs to the spreadsheet program to solve a specific problem. The explanatory facility has no analog in the spreadsheet program.
There are now many commercially available expert system shells. Different shells use different forms of knowledge representation and inferencing. The selection of the proper form of knowledge representation requires experience and training on the part of knowledge engineer. Issues such as problem solving strategies, knowledge representation methods, development environments, and ability to interact with existing CAD systems and databases must be considered.