|
|
|
|
|||||||||||||||||||
|
|
CLIPS/R2 is a state of the art implementation of the widely-used CLIPS expert systems tool, featuring
Complete Integration with C and C++CLIPS 6.x provides good, but somewhat incomplete facilities for integrating rules with C or C++ code. CLIPS/R2 has extended CLIPS to enable complete, seamless integration of rules with C or C++. CLIPS 6.x permits calls to be made between C or C++ and CLIPS, and it provides a way for the C or C++ functions to operate on CLIPS facts. The one thing CLIPS 6.x does not provide is a way for CLIPS rules to access or modify C or C++ data.
The CLIPS/R2 package eliminates this problem by adding the CLIPS Interface Definition Compiler (CIDC). With CIDC, you simply specify which C structs or C++ classes the rules need access to, and which members of the structs or classes the rules should be able to operate on. CIDC then generates all the interface code needed to enable the rules to access the structs or classes. This code is linked into CLIPS/R2 and becomes a part of the run-time system. The rules can then operate on the structs or classes exactly as if they were ordinary CLIPS facts. The linkage code is completely transparent to the rules you write. Forward and Backward ChainingThe most recent version of CLIPS prior to CLIPS/R2 was version 6.x. CLIPS 6.x provided only forward chaining rules. CLIPS/R2 adds full support for backward chaining as well. The backward-chaining in CLIPS/R2 is not the clumsy pseudo-backward chaining found in many forward-chaining systems; it is true MYCIN-style backward chaining. CLIPS/R2 has all the features needed in an industrial-strength backward chaining system, including complex features such as:
State of the Art ImplementationPerhaps the biggest advantage of CLIPS/R2 over earlier versions of CLIPS is the new Rete II implementation. CLIPS 6.x, like most high-performance rule-based systems, uses the Rete algorithm for managing rules. Rete was developed at Carnegie-Mellon University in the 1970's. Rete II is a new, more efficient, version of Rete, which was developed by the creator of the original Rete algorithm. Industry-standard benchmark programs clearly demonstrate CLIPS/R2's performance advantage. On the simplest problems, CLIPS/R2 and CLIPS 6.x run about the same speed. On moderately complex programs, CLIPS/R2 is several times faster than CLIPS 6.x. On more complex programs, CLIPS/R2 has been benchmarked to run between 50 and 100 times the speed of CLIPS 6.x. Full Upward-Compatibility with Standard CLIPSThe CLIPS rule-based programming language was developed at NASA Johnson Space Center in 1985. Since CLIPS's introduction, the language has been continually refined and extended by researchers at NASA and elsewhere. CLIPS/R2 is fully upward-compatible with the latest version of CLIPS, version 6.x. You get all the features that have made CLIPS one of the most popular rule-based systems in the world. Among the more important features of CLIPS 6.x and CLIPS/R2 are these:
Flexible Development EnvironmentCLIPS/R2 has a completely new IDE (Integrated Development Environment) that is much more flexible than the CLIPS 6.x IDE. The new IDE can be used to develop both stand-alone rule bases and rule bases that are embedded in larger programs. You can even use the CLIPS/R2 IDE to develop rule bases that have been put into DLLs (Dynamic Link Libraries) and linked with Visual Basic or Delphi programs.
The CLIPS/R2 IDE provides a very powerful development environment. It permits you to trace rule firings and operations on data, to set break points on the rules, to single-step through the rules, to examine and modify the rules and data at run time, to examine the interpreter's internal state, and to get How and Why explanations of the system's backward chaining. The IDE permits you to define your own debugging macros and functions and to invoke them using the mouse or "hot keys." No Run-Time FeesCLIPS/R2 development licenses are affordably priced, and CLIPS/R2 is available for a wide variety of platforms and operating systems. There are no run-time royalty fees for CLIPS/R2 systems. You can buy one development license, create your program, and then copy the compiled program onto as many computers as you want. |
||||||||||||||||||||
|
|