CLIPS
CLIPS is a public domain software tool for building expert systems. The name is an acronym for "C Language Integrated Production System." The syntax and name was inspired by Charles Forgy's OPS ("Official Production System," although there was nothing really official about it). The first versions of CLIPS were developed starting in 1985 at NASA-Johnson Space Center (as an alternative for existing system ART*Inference) until the mid 1990s when the development group's responsibilities ceased to focus on expert system technology. The original name of the project was NASA's AI Language (NAIL).
CLIPS is probably the most widely used expert system tools[1] because it is fast, efficient and free. CLIPS incorporates a complete object-oriented language COOL for writing expert systems. CLIPS is written in C, extensions can be written in C, and CLIPS can be called from C. Its user interface more closely resembles that of the programming language LISP.
Contents |
Facts and rules
Like other expert system languages, CLIPS deals with rules and facts. Various facts can make a rule applicable. An applicable rule is then asserted. Facts and rules are created by first defining them, as shown below:
(deffacts trouble_shooting (car_problem (name ignition_key) (status on)) (car_problem (name engine) (status wont_start)) (car_problem (name headlights) (status work)) ) (defrule rule1 (car_problem (name ignition_key) (status on)) (car_problem (name engine) (status wont_start)) => (assert (car_problem (name starter) (status faulty))) )
In CLIPS, salience allows a user to assign priority (or weight) to a rule.
Descendants of CLIPS
Descendants of the CLIPS language include Jess (rule-based portion of CLIPS rewritten in Java, it later grew up in different direction), and FuzzyCLIPS (which adds concept of relevancy into the language).
Documentation
CLIPS contains an extensive set of readable documentation and the following books are available:
- A college textbook about CLIPS, Expert Systems: Principles and Programming, ISBN 0-534-95053-1
- A book on Jess, Jess in Action: Rule Based Systems in Java, ISBN 1-930110-89-8
Related systems
- FuzzyCLIPS - Enhancement of CLIPS with fuzzy logic
- Eclipse-based (Java) rule engines:
- OpenL Tablets
- DTRules
External links
- Homepage of the project
- Official Google group of the project
- NASA CLIPS: downloads, information, news, and history
- CLIPS expert system tool: a candidate for the Diagnostic System engine
- EHSIS: an extension to CLIPS language that adds support for GUI, Multimedia, IPC, etc. on Windows.
- CLIPS PDF tutorial (spanish)
- PyCLIPS Python Module
- CLIPS tutorial on Code Project
References
- ^ Proceedings of the 2005 ACM SIGPLAN workshop on Erlang. Tallinn, Estonia: ACM. 2005. pp. 62-71. ISBN 1-59593-066-3. http://doi.acm.org/10.1145/1088361.1088373.