cscott@Teknowledge.COM (Carli Scott) (04/03/90)
The expert system shell COPERNICUS(tm), developed by Teknowledge, Inc., was first released in 1988; the shell is now available from Cimflex Teknowledge Corporation. (Last year Teknowledge merged with American Cimflex.) S.1 was an earlier expert system shell, also developed by Teknowledge. S.1 was similar in many respects to COPERNICUS, but the latter a supports richer representation and a more flexible inference engine. The main difference between the two shells, however, is that S.1 was designed primarily for building stand-alone expert systems, while COPERNICUS is designed for integrated systems. As a result, it is easy to embed COPERNICUS in other programs (written in C) as well as to call programs from COPERNICUS. The standard COPERNICUS user interface can be removed for a non-interactive expert system, or can be replaced by an interface that is customized for a particular application. Another difference between the two shels is that COPERNICUS is modular, so that you can create a delivery system with just the modules that the particular application needs. (For example, you could omit the modules that are used for developing and debugging knowledge bases.) The COPERNICUS control language is a fairly complete structured programming language that includes all the standard control structures (e.g., conditionals, iteration, recursion). Using this language, it is very easy to specify how to break a task into subtasks. COPERNICUS provides serveral built-in control mechanisms for its inference engine; the most important are goal-directed backward chaining, data-directed forward chaining, and attached procedures that act as demons. Both backward chaining and forward chaining are coupled with breadth-first search. If depth-first search or best-first search is desirable, the knowledge engineer would have to program the search strategy explicitly (but the COPERNICUS language makes it easy to do so). The COPERNICUS language includes statements that initiate the built-in backward chaining process. No such statements are available to start forward chaining--forward chaining is always triggered by the addition of information to working memory. It would be easy, however, to program the explicit initiation of forward chaining. By the way, the COPERNICUS documentation provides guidelines and examples to help knowledge engineers to make effective use of the tool's various features. A "sample knowledge systems" notebook gives detailed descriptions of three small expert systems (each with a knowledge base of 100 to 200 entries). This notebook includes a listing of all three knowledge bases, plus the external C code that they use. If you have additional technical questions, send a message to cscott@teknowledge.com. For pricing and other sales-related information, send a message jbrownfi@teknowledge.com, or telephone (415) 424-0500 and ask for Jay Brownfield in Product Support.