CLIPS FREQUENTLY ASKED QUESTIONS September 10th, 1998 This is the frequently asked questions list for CLIPS. A current version of the FAQ can be found at http://www.ghgcorp.com/clips/CLIPS-FAQ. Comments/Suggestions about this list can be sent to Gary Riley at clips@ghg.net. If you have a special version of CLIPS, CLIPS programs, or anything else that you'd like to make available to other CLIPS users, send email as well. References to the capabilities of other tools are to my best knowledge. If these references are incorrect or out-of-date, please let me know and I will correct them. The mention of other products and services in this FAQ does not represent an endorsement by myself. ITEMS OF INTEREST ----------------- * CLIPS 6.1 is now available for download at http://www.ghg.net/clips/download/. * The CLIPS List Server is now hosted by a different site (see question #5). * CLIPS Year 2000 Compliancy (see question #38). * PerlCLIPS, an integration between Perl and CLIPS, is available for download at http://www.discomsys.com/~mps/dnld (see question #14). CONTENTS -------- 1) What is CLIPS? 2) Where can I get a copy of CLIPS? 3) What's new in version 6.1 of CLIPS? 4) Can CLIPS be redistributed? Are there any licensing fees? 5) What forums are available for answering questions about CLIPS? 6) Are there any bug fixes for CLIPS? 7) Is there an Ada version of CLIPS? 8) When's the next CLIPS conference? 9) Is the CLIPS User's Group still active? 10) Are there any copies of the CLIPS Conference Proceedings left? 11) Are there any recent reviews of CLIPS? 12) Are there any sources describing applications built using CLIPS? 13) Are there any textbooks using CLIPS? 14) Are there any special versions of CLIPS? 15) Can CLIPS access extended memory beyond the DOS 640K limit on a PC? 16) Can CLIPS be compiled using a C++ compiler? 17) Does COOL store its objects as C++ data structures? 18) How can I integrate CLIPS as a C program with other C++ programs? 19) Is a Dynamic Link Library Available for the Windows version of CLIPS? How do I use CLIPS with other Windows 3.1 applications? 20) What are the origins of CLIPS? 21) Are there any languages similar to CLIPS? 22) Did Inference aid in the development of CLIPS? 23) What are the future plans for CLIPS? 24) Can CLIPS be used for real time applications? 25) Is the CLIPS 6.0 Architecture Manual available? 26) Are there any CLIPS example programs? 27) Are training classes for CLIPS available? 28) How do I unsubscribe from the CLIPS list server? 29) What does the "Script Line 7" error message mean? 30) Are there any examples of user defined functions other than the ones in the Advanced Programming Guide? 31) Does a run-time program generated using the constructs-to-c command run any faster than a program loaded using the load or bload commands? 32) What does the "Previously Installed Software is neither VCPI nor DPMI compatible" error message mean? 33) Are there any companies providing CLIPS consulting services? 34) Has CLIPS been compiled/integrated/embedded with ? 35) Is there a way to use file stored as Macintosh archives on the PC? 36) Are there archives of questions and answers that have been posted to the CLIPS list server? 37) Where can I get the CLIPS documentation? 38) Is CLIPS Year 2000 Compliant? 1) WHAT IS CLIPS? ------------------ CLIPS is a productive development and delivery expert system tool which provides a complete environment for the construction of rule and/or object based expert systems. CLIPS is used throughout the public and private community including: all NASA sites and branches of the military, numerous federal bureaus, government contractors, universities, and many companies. The key features of CLIPS are: * Knowledge Representation: CLIPS provides a cohesive tool for handling a wide variety of knowledge with support for three different programming paradigms: rule-based, object-oriented and procedural. Rule-based programming allows knowledge to be represented as heuristics, or "rules of thumb," which specify a set of actions to be performed for a given situation. Object-oriented programming allows complex systems to be modeled as modular components (which can be easily reused to model other systems or to create new components). The procedural programming capabilities provided by CLIPS are similar to capabilities found in languages such as C, Pascal, Ada, and LISP. * Portability: CLIPS is written in C for portability and speed and has been installed on many different computers without code changes. Computers on which CLIPS has been tested include IBM PC compatibles, Macintosh, VAX 11/780, and Sun 3/260. CLIPS can be ported to any system which has an ANSI compliant C compiler. CLIPS comes with all source code which can be modified or tailored to meet a user's specific needs. * Integration/Extensibility: CLIPS can be embedded within procedural code, called as a subroutine, and integrated with languages such as C, FORTRAN and ADA. CLIPS can be easily extended by a user through the use of several well-defined protocols. * Interactive Development: The standard version of CLIPS provides an interactive, text oriented development environment, including debugging aids, on-line help, and an integrated editor. Interfaces providing features such as pulldown menus, integrated editors, and multiple windows have been developed for the Macintosh, Windows 3.1, and X Window environments. * Verification/Validation: CLIPS includes a number of features to support the verification and validation of expert systems including support for modular design and partitioning of a knowledge base, static and dynamic constraint checking of slot values and function arguments, and semantic analysis of rule patterns to determine if inconsistencies could prevent a rule from firing or generate an error. * Fully Documented: CLIPS comes with extensive documentation including a Reference Manual and a User's Guide. 2) WHERE CAN I GET A COPY OF CLIPS? ------------------------------------ CLIPS executables, documentation, and source code are available for download from http://www.ghg.net/clips/download/. This is the primary location to check for the most recent version of CLIPS. Older versions of CLIPS distribution packages are available at http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas /expert/systems/clips/0.html. The distribution packages are also available by anonymous ftp from eecs.nwu.edu and can be found in the /pub/CLIPS directory. Other versions of CLIPS and CLIPS related files are also available at both sites. 3) WHAT'S NEW IN VERSION 6.1 OF CLIPS? --------------------------------------- CLIPS version 6.1 contains two major enhancements: * The CLIPS source code is now C++ compatible. It can now be compiled using either an ANSI C or C++ compiler. * Several new commands provide the ability to profile the time spent in constructs and user-defined functions. 4) CAN CLIPS BE REDISTRIBUTED? ARE THERE ANY LICENSING FEES? ------------------------------------------------------------- Copies of CLIPS executables, documentation, and source code downloaded from http://www.ghg.net/clips/download/ can be freely used, modified, and redistributed without restrictions. 5) WHAT FORUMS ARE AVAILABLE FOR ANSWERING QUESTIONS ABOUT CLIPS? ------------------------------------------------------------------ Questions regarding CLIPS can be sent via electronic mail to clips@ghg.net. ------------------------ An electronic conferencing facility, sponsored by Distributed Computing Systems (http://www.discomsys.com), is also available to CLIPS users. Subscribers to this facility may send questions, observations, answers, editorials, etc., in the form of electronic mail to the conference. All subscribers will have a copy of these messages reflected back to them at their respective electronic mail addresses. To subscribe, send a single line message to clips-request@discomsys.com containing the word "subscribe". The subject field is ignored but the address found in the 'Reply:', 'Reply to:', or 'From:' field will be entered in the distribution list. Upon subscription you will receive a mail message instructing you how to participate in the conference from that point forward. SAVE THIS MAIL MESSAGE!!! You may need the instructions later if you wish to unsubscribe from the list server. To send your own messages to members of the conference you need simply address your mail to clips@discomsys.com. Your message will be reflected to all other members of the conference. If you wish to remove yourself from the conference and discontinue receiving mail simply send a message to clips-request@discomsys.com with "unsubscribe" being the text of the message. If you want to unsubscribe using another email account than the one you subscribed with, then append the original subscribing email account to the text of the message. For example: "unsubscribe john.doe@account.net". DO NOT SEND UNSUBSCRIBE MESSAGES TO clips@discomsys.com!!! This sends a mail message to every member of the list. If you need to get in contact with the list administrator (for trouble unsubscribing or other questions about the list), send email to clips-owner@discomsys.com. ------------------------ Usenet users can also find information and post questions about CLIPS to the comp.ai.shells news group. ------------------------ A CLIPS World Wide Web page can be accessed using the URL http://www.ghg.net/clips/CLIPS.html. 6) ARE THERE ANY BUG FIXES FOR CLIPS? -------------------------------------- The most recent version of CLIPS including bug fixes is available at http://www.ghg.net/clips/download/. 7) IS THERE AN ADA VERSION OF CLIPS? ------------------------------------- CLIPS/Ada version 4.4 is a version of CLIPS developed entirely in Ada and containing a subset of the features found in the C version of CLIPS. CLIPS/Ada version 4.4 contains all of the features found in CLIPS/C version 4.3, and with the exception of the CLIPS Object-Oriented Language, all of the features found in CLIPS/C version 5.0. There are no plans to update CLIPS/Ada to a more recent version of CLIPS/C. COSMIC, the distributer of CLIPS/Ada, has closed down its operations, so CLIPS/Ada is no longer available. 8) WHEN'S THE NEXT CLIPS CONFERENCE? --------------------------------------------- The Third CLIPS Conference was held at NASA's Johnson Space Center in Houston, Texas on September 12-14, 1994. There are no plans for a fourth conference. 9) IS THE CLIPS USER'S GROUP STILL ACTIVE? ------------------------------------------- No. Most of the current user interaction occurs through the CLIPS list server (see question #5). 10) ARE THERE ANY COPIES OF THE CLIPS CONFERENCE PROCEEDINGS LEFT? ------------------------------------------------------------------ Copies of the First and Second CLIPS Conference Proceedings are no longer available. Copies of the Third CLIPS Conference Proceedings are available in Portable Document Format (PDF) at the URL http://www.ghg.net/clips/download/documentation/. Adobe Acrobat Reader is needed to view PDF files. This program can be downloaded at http://www.adobe.com/prodindex/acrobat/readstep.html. 11) ARE THERE ANY RECENT REVIEWS OF CLIPS? ------------------------------------------ The two most recent reviews of CLIPS are "The Art of Production Systems" by Tom Brooke in the January 1992 issue of AI Expert and "A Comparative Evaluation of Expert System Tools" by Dr. William Mettrey in the February 1991 issue of IEEE Computer. A bibliography list of CLIPS related books, papers, and articles is contained in Appendix K of the CLIPS Basic Programming Guide (available at http://www.ghg.net/clips/download/documentation/). 12) ARE THERE ANY SOURCES DESCRIBING APPLICATIONS BUILT USING CLIPS? -------------------------------------------------------------------- There are a number of sources describing applications built using CLIPS. The 3rd CLIPS Conference Proceedings is a good place to start. An abstract booklet of CLIPS applications is available at http://www.ghg.net/clips/download/documentation/. A bibliography list of CLIPS related books, papers, and articles is contained in Appendix K of the CLIPS Basic Programming Guide (available at http://www.ghg.net/clips/download/documentation/). If you'd like to share information with other CLIPS users about your CLIPS applications, please provide the following information: * The name of your expert system. * Its purpose (brief-one or two sentences). * Development stage (conceptual, developing, alpha testing, beta testing, finished). * Other Languages/Shells used. * Papers or other references that describe your application. * Contact person (name, organization, address, phone, fax, email address, etc). * Description of your application (no more than a page or so). Send the information by electronic mail to clips@ghg.net. Since the primary purpose of this booklet is to provide CLIPS users the opportunity to contact other individuals developing applications of interest, we're limiting the applications listed in this booklet to those that provide at least some source of further information (such as a mail address, email address, phone number, or reference other than the CLIPS conference proceedings). In either case, we're still interested in hearing about any applications you've developed. ------------------------ The Proceedings of the First, Fourth, and Fifth Innovative Applications of Artificial Intelligence also contain descriptions of applications built using CLIPS ("An Intelligent Training System for Space Shuttle Flight Controllers" and "Space Shuttle Telemetry Monitoring" in the First, "HUB SIAASHING: A Knowledge-Based System for Severe, Temporary Airline Schedule Reduction" in the Fourth, and "PI-in-a-Box: A Knowledge-based System for Space Science Experimentation" and "The DRAIR Advisor: A Knowledge-Based System for Materiel Deficiency Analysis" in the Fifth). 13) ARE THERE ANY TEXTBOOKS USING CLIPS? ---------------------------------------- "Expert Systems: Principles and Programming," 3rd Edition, by Giarratano and Riley (ISBN 0-534-95053-1) comes with a CD-ROM containing CLIPS 6.05 executables, source code, and documentation. The first half of the book is theory oriented and the second half covers rule-based programming using CLIPS. For more information, contact International Thompson Publishing 7625 Empire Dr. Florence, KY 41042 Phone: (800) 354-9706 Phone: (606) 525-2230 WWW: http://www.thomson.com/ or PWS Publishing Company 20 Park Plaza Boston, MA 02116-4324 Phone: (617) 542-3377 Fax: (617) 338-6134 WWW: http://www.pws.com/ "The Engineering of Knowledge-based Systems: Theory and Practice" by Gonzalez and Dankel (ISBN 0132 769 409) comes with an MS-DOS executable of version 5.1 of CLIPS. The use of CLIPS isn't integrated throughout the book, but there is a 25 page appendix that describes the fundamentals of using the CLIPS executable bundled with the book. For more information, contact Prentice Hall P.O. Box 11073 Des Moines, Iowa 50336-1073 Phone: (515) 284-6761 Fax: (515) 284-2607 WWW: http://www.prenhall.com/ 14) ARE THERE ANY SPECIAL VERSIONS OF CLIPS? -------------------------------------------- wxCLIPS, developed by Julian Smart, provides a simple graphical front end to CLIPS 5.1/6.0, and in addition contains a suite of extra functions for creating GUI applications in CLIPS. The wxCLIPS WWW page is http://web.ukonline.co.uk/julian.smart/wxclips/. FuzzyCLIPS 1.5 is an extension of CLIPS incorporating fuzzy logic. FuzzyCLIPS includes all CLIPS 5.1 capabilities and adds the fuzzy logic processing capability. More information is available at the URL http://www.ortech-engr.com/fuzzy/fzyclips.html. FuzzyCLIPS 6.04 is an extended version of CLIPS 6.04 for representing and manipulating fuzzy facts and rules. In addition to the CLIPS functionality, FuzzyCLIPS can deal with exact, fuzzy (or inexact), and combined reasoning, allowing fuzzy and normal terms to be freely mixed in the rules and facts of an expert system. The system uses two basic inexact concepts, fuzziness and uncertainty.It was developed by the Knowledge Systems Laboratory of the National Research Council of Canada (and is a different tool than the previously mentioned FuzzyCLIPS 1.5 developed by Togai InfraLogic). FuzzyCLIPS is available via anonymous ftp from ai.iit.nrc.ca in the directory /pub/fzclips. FuzzyCLIPS is also available via WWW (the World Wide Web). It can be accessed indirectly by accessing the Knowledge Systems Lab Server using the URL http://www.corpserv.nrc.ca/corpserv/nrc.html or more directly by using the URL http://ai.iit.nrc.ca/fuzzy/fuzzy.html. Versions are available for unix systems, Macintosh systems and PC systems. There is no cost for the software, but please read the terms for use in the FuzzyCLIPS documentation or in the WWW FuzzyCLIPS pages. DYNACLIPS (DYNAamic CLIPS Utilities), developed by Yilmaz Cengeloglu, is a set of blackboard, dynamic knowledge exchange, and agent tools for either CLIPS 5.1 or CLIPS 6.0. It is a set of libraries that can be linked with CLIPS. DYNACLIPS can be downloaded from the URL http://users.aimnet.com/~yilsoft/yilsoft.html. AGENT_CLIPS, developed by Yilmaz Cengeloglu, is a multi-agent tool for Macintosh which allows multiple copies of CLIPS to run at the same time. Each Agent (CLIPS) can send commands to other active agents at run time. AGENT_CLIPS handles incoming commands automatically. Command transfer allows facts and rules to be exchanged at run time. This is a form of knowledge exchange among intelligent agents. AGENT_CLIPS 1.0 is available on Compuserve in the AIEXPERT forum under Libraries, Expert System. Use the "go AIEXPERT" command to go the AIEXPERT Forum. AGENT_CLIPS can be downloaded from the URL http://users.aimnet.com/~yilsoft/yilsoft.html. The Washington University School of Medicine has developed some data base library functions which provide a Sybase interface for CLIPS 6.0. The source code and documentation are available via the WWW at http://wuarchive.wustl.edu:80/packages/clips2sybase/. An enhanced version of the CLIPS Windows 3.1 editor, developed by Ron Shapiro, is available at http://www.ghg.net/clips/download/other/. Among other nifty features, the editing of multiple documents is supported. A KQML (Knowledge Query & Manipulation Language) API for CLIPS, developed by Ernest Friedman-Hill, is available at the URL http://www.cs.umbc.edu/kqml/software/kapiclips.shtml. Jess, the Java Expert System Shell, is a clone of (part of) CLIPS written as an applet in Sun's Java language. Information on Jess is available at http://herzberg.ca.sandia.gov/jess/. WebObject is an object oriented programming language that takes input from the Internet and generates HTML output for Internet-based applications. WebObject allows users to create World Wide Web (WWW) pages dynamically. You can use it to embed forms with text, button, and selection fields, maintain information in the application from page to page, retrieve user-input from forms, convert output to text, embed images and links in pages, and define background images and colors on the page. WebObject features inheritance, generics, default values on slots, constraints on slots, and demons. WebObject also includes an object oriented database manager to create and query, store, and retrieve objects. WebObject's syntax is based-upon the CLIPS Object Oriented Language, providing a huge number of public-domain systems which can serve as the basis for your programs. WebExpert is a development tool for creating Internet-based expert systems. It includes the complete WebObject language plus a rule-based programming language for building forward-chaining expert systems. WebExpert applications generate intelligent behavior in financial advising, military simulation, and telecommunications systems diagnostics. The built-in pattern-matching engine can examine facts, database records, and objects. The reasoner supports advanced features such as truth maintenance and dynamic prioritization of rules. For more information or pricing, contact Wise Web Ware. Wise Web Ware 506 Garrett Street Greensboro, NC 27406 Phone: (800) 589-5573 WWW: http://www.wisewebware.com The CLIPS Knowledge Network Protocol (CKNP), developed by David Maluf, is software for establishing TCP/IP communication among different CLIPS processes over the Internet allowing the transfer of knowledge and hence providing the basic tools for knowledge sharing and parallel processing. Complete documentation and libraries are available via the World Widee Web at the http://www-db.stanford.edu/pub/maluf/cknp/cknp.html URL. Correspondence (bug reports, questions, etc.) can be sent by email to maluf@cs.stanford.edu. PerlCLIPS, an integration between Perl and CLIPS, is available for download at http://www.discomsys.com/~mps/dnld. 15) CAN CLIPS ACCESS EXTENDED MEMORY BEYOND THE DOS 640K LIMIT ON A PC? ----------------------------------------------------------------------- The 32 bit DOS executable available at the CLIPS download site (see question #2) requires at least a 386 CPU. This executable can access memory beyond the DOS 640K limit, but DOS must have DMPI services available