Voltar



CLIPS FREQUENTLY ASKED QUESTIONS

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 <X>? 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 for $75.95) 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  fo!

r 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 in order to run this executable. If you  are running Windows 3.1, Windows 95, or OS/2, DPMI services are  provided for you.

 

 The 32 bit DOS executable was created using the free DJGPP C  compiler. Information on this compiler is available at the URL  http://www.delorie.com/djgpp/. A free DPMI server is also   available at this location.

 

 The CLIPS built-in MicroEMACS editor is not available with this executable.

 

 16) CAN CLIPS BE COMPILED USING A C++ COMPILER?

 

 Yes. Version 6.1 can be compiled with either an ANSI C or C++ compiler. Minimally, non-ANSI compilers must support full ANSI style function prototypes and the void data type in order to compile CLIPS.

 

 17) DOES COOL STORE ITS OBJECTS AS C++ DATA STRUCTURES? 

 

 The CLIPS source code only uses features that are available in  both the ANSI C and C++ standards. Since the object extensions  of C++ are not part of the ANSI C standard, they are not utilized in the CLIPS source code. There are no plans to make use of C++ object extensions in future versions of CLIPS.

 

 18) HOW CAN I INTEGRATE CLIPS AS A C PROGRAM WITH OTHER C++ PROGRAMS?

 

 The source code for version 6.1 of CLIPS can be compiled with a  C++ compiler, so there is no longer a need for the special steps required to link C and C++ object code together.

 

 19) IS A DYNAMIC LINK LIBRARY AVAILABLE FOR THE WINDOWS VERSION OF CLIPS? HOW DO I USE CLIPS WITH OTHER WINDOWS 3.1 APPLICATIONS?

 

 A Windows DLL for CLIPS 6.0, developed by Mark Tomlinson, is available at http://ourworld.compuserve.com/homepages/marktoml/. A DLL for use with Visual Basic is also available. 

 

 A DLL for CLIPS 5.1 is available by anonymous ftp from cs.cmu.edu. in the clips/contrib/clipsdll sub directory (see question #2 for the  directory path to the clips directory). The file clips-and-windows  available at http://www.ghg.net/clips/download/other/ describes  three techniques for using CLIPS with other Windows 3.1/95 applications  (embedding CLIPS into your Windows application, creating CLIPS as a DLL, or using Dynamic Data Exchange).

 

 20) WHAT ARE THE ORIGINS OF CLIPS?

 

 The origins of CLIPS date back to 1984 at NASA's Johnson Space Center.  At this time, the Artificial Intelligence Section (now the Software  Technology Branch) had developed over a dozen prototype expert systems  applications using state-of-the-art hardware and software. However,  despite extensive demonstrations of the potential of expert systems,  few of these applications were put into regular use. This failure to  provide expert systems technology within NASA's operational computing  constraints could largely be traced to the use of LISP as the base  language for nearly all expert system software tools at that time.

 

 The Artificial Intelligence Section felt that the use of a conventional  language, such as C, would eliminate most of these problems. Although a number of tool vendors started converting their tools to run in C, the  cost of each tool was still very high, most were restricted to a small  variety of computers, and the projected availability times were  discouraging. To meet all of its needs in a timely and cost effective  manner, it became evident that the Artificial Intelligence Section would  have to develop its own C based expert system tool.

 

 The prototype version of CLIPS was developed in 1985. Particular  attention was given to making the tool compatible with expert systems  under development at that time. Thus, the syntax of CLIPS was made to  very closely resemble the syntax of a subset of the ART expert system  tool developed by Inference Corporation. Although originally modelled  from ART, CLIPS was developed entirely without assistance from  Inference or access to the ART source code.

 

 The original intent for CLIPS was to gain useful insight and knowledge  about the construction of expert system tools and to lay the groundwork  for the construction of a replacement tool for the commercial tools  currently being used. Version 1.0 demonstrated the feasibility of the  project concept. After additional development, it became apparent that  CLIPS would be a low cost expert system tool ideal for the purposes of  training. Another year of development and internal use went into CLIPS  improving its portability, performance, functionality, and supporting  documentation. Version 3.0 of CLIPS was made available to groups outside  of NASA in the summer of 1986.

 

 Further enhancements transformed CLIPS from a training tool into a tool  useful for the development and delivery of expert systems as well. Subsequent enhancements to CLIPS extended it beyond its initial  representation methodology of forward chaining rules by adding  procedural and object-oriented programming paradigms.

 

 21) ARE THERE ANY LANGUAGES SIMILAR TO CLIPS?

 

 CLIPS is an interesting example of technology transfer between the  government and private sectors. Syntactically, CLIPS traces its origins  to Inference's ART which traced the origins of its rule-based language  to OPS5. Later, CLIPS was used by Inference to develop ART-IM and by  The Haley Enterprise to develop Eclipse. In the early days of CLIPS development, porting an application from CLIPS to ART was fairly easy (although the reverse was not necessarily true if many of the advanced features of ART were utilized). In recent years, the features and capabilities of CLIPS, ART-IM, and Eclipse have diverged sufficiently that porting from one to the other is no longer a trivial task. Still, the basic syntax of their rules remains very similar and the flavor of the languages is more or less the same. For more information on either ART-IM or Eclipse, contact respectively Inference or The Haley Enterprise.

 

 Inference Corporation 550 North Continental Blvd. El Segundo, CA 90245 Phone: (310) 322-0200 Fax:   (310) 322-3242 WWW:   http://www.inference.com

 

 Brightware, Inc. [Formerly a division of Inference Corporation] WWW: http://www.brightware.com

 

 The Haley Enterprise, Inc. 413 Orchard Street Sewickley, PA 15143,  Phone: (412) 741-6420 Fax:   (412) 741-6457 WWW: http://www.haley.com/

 

 Production Systems Technologies has released CLIPS/R2, a new version of the CLIPS expert systems tool. The first implementation of CLIPS to use the proprietary Rete II rule engine, CLIPS/R2 is more than 50 times faster than the previous version on complex problems. CLIPS/R2 supports forward-chaining rules, backward-chaining rules, objects, and conventional procedures. The new backward-chaining rule engine in CLIPS/R2 supports certainty factors, AND'S and OR's in rules, and HOW and WHY explanations. CLIPS/R2 rule bases are embeddable in C or C++ programs. CLIPS Interface Definition Compiler enables the CLIPS/R2 rules to operate transparently on existing C structs and C++ classes. For more information or pricing, contact Production Systems Technology.

 

 Production Systems Technology 5001 Baum Blvd Suite 419 Pittsburgh, PA 15213 Voice: (412) 683-4000 Fax:   (412) 683-6347 Email: info@pst.com WWW: http://www.pst.com

 

 22) DID INFERENCE AID IN THE DEVELOPMENT OF CLIPS?

 

 Over the last several years, there has been a persistent group of  rumours to the effect that either Inference developed CLIPS for NASA or that NASA used the ART source code to develop CLIPS. Neither of  these statements are true. To set the matter straight, there is not a   single line of CLIPS source code that was either written by Inference  or given to NASA by Inference. In addition, NASA never had access to  the ART source code.

 

 23) WHAT ARE THE FUTURE PLANS FOR CLIPS?

 

 The most recent version of CLIPS is 6.1. The next major release will primarily consist of enhancements to the Windows 95 and MacOS  interfaces.

 

 24) CAN CLIPS BE USED FOR REAL TIME APPLICATIONS?

 

 Yes and no. It depends on what you mean by a real time application.

 

 If you want guaranteed response time, then the answer is no. Note  that even tools specifically designed for real time applications  like G2 and RTworks can't give you guaranteed response times.  Generally speaking, the more robust the pattern matching capabilities  of a tool, the more difficult it is to guarantee real time response.

 

 If you need built-in functionality that allows you reason about events as they occur over time, then the answer is no. Many tools designed for real time applications provide features that allow you (among other things) to schedule rules to be checked at a particular time or on a  particular time interval, specify how long data is valid, determine  trends in data (such as whether it's increasing or decreasing), and  synchronize the execution of tasks. In addition, some tools such as G2, provide extensive facilities for the "non AI" related aspects of developing a real time application such as the graphical interface, simulation, and data acquisition. It's possible to use CLIPS to reason about events as they occur over time--It's just not a built-in feature. You can, for example, add an additional slot to facts which stores their  creation time and then use rules which reason based on the contents of this slot.

 

 If by real time you mean that the application is able to keep up with the data as it is received, then the answer is maybe. Almost all  expert system tools can keep up with a real time system that only requires decisions to be made in minutes/hours/days. Response time tends to become an issue only when large amounts of data are being processed or decisions are required every few seconds.

 

 If you need really, really fast response time, then the answer is maybe. Of course, my definition of really, really fast is probably different than yours, so let me quantity that: if you need responses faster than every 1 to 2 seconds, then CLIPS will probably not be fast enough.  Again, even tools such as G2 are probably not capable of dealing with data rates in the milliseconds. The smallest time increment available  in G2 for scheduling a rule is one second, so even if G2 is capable of receiving data several times a second, it's not capable of processing the data within that time frame.

 

 CLIPS is based on the Rete pattern matching algorithm. The efficiency of this algorithm is based on the assumption that data changes slowly over time (e.g. a single rule firing affects < 5% of all facts). This assumption would appear to fail miserably for monitoring applications (as well as other applications where rapid data change can occur). If, for example, you have 100 facts representing various sensor values and  the sensor values change every second, you have very rapid data changes  (assuming you don't have thousands and thousands of facts of other  types). It's often possible to comply with the Rete assumption by preprocessing data. For example, if a sensor value changes from 10 to  10.1 and this change is not significant, then it's not necessary to retract the old fact and assert a new fact with the changed sensor value. Another preprocessing approach would be to convert numeric  values to symbolic values such as low, nominal, and high and then to retract the old !

fact and assert a new one only if the symbolic value changed. The major drawback to this approach is that you generally have to write C code to preprocess the data and keep track of pointers to facts so that facts can later be retracted by the preprocessor--Of course if you're dealing with real-time data, you're probably writing some C code anyway.

 

 For more information on either G2 or RTworks, contact respectively  Gensym Corporation or Talarian Corporation.

 

 Gensym Corporation 125 CambridgePark Drive Cambridge, MA  02140 Phone: (617) 547-2500 Fax:   (617) 547-1962 WWW:   http://www.gensym.com/

 

 Talarian Corporation 444 Castro Street Suite 140 Mountain View, CA 94041 Phone: (415) 965-8050 Fax:   (415) 965-9077 WWW:   http://www.talarian.com/

 

 25) IS THE CLIPS 6.0 ARCHITECTURE MANUAL AVAILABLE?

 

 We have not yet completed the 6.0 Architecture Manual and will not have time to work on it in the forseeable future. Copies  of the CLIPS 5.1 Architecture Manual are still available.

 

 26) ARE THERE ANY CLIPS EXAMPLE PROGRAMS?

 

 A few programs (some of which were done by students from an expert  systems course) are available at the following URL: http://www.ghg.net/clips/download/executables/examples/

 

 27) ARE TRAINING CLASSES FOR CLIPS AVAILABLE?

 

  Intelligent Software Professionals (ISP) offers CLIPS Training. Expert  Systems classes are available covering several topics. For more information  contact:

 

 Intelligent Software Professionals P.O. Box 57562 Webster, TX  77598 Phone: (800) 724-4305 Fax:   (713) 486-4741 Email: isp@isphouston.com WWW:   http://www.isphouston.com/

 

 

 

 Wise Web Ware offers CLIPS Training. Expert Systems classes are available   covering several topics. For more information contact:

 

 Wise Web Ware 506 Garrett Street Greensboro, NC 27406 Phone: (910) 379-9921  (800) 589-5573  Email: wiseweb@technologist.com  WWW:   http://www.wisewebware.com

 

 

 

 Intelligent Visual Computing offers the course Building Expert Systems at the customer's site. This course is based on CLIPS version 6 including COOL. For more information including pricing and a course outline contact:

 

 Intelligent Visual Computing 1143-I Executive Circle Cary, NC 27511 Phone: (800) 776-2810 Email: mdc@ivc.com

 

 

 

 Intelligent Software Associates, Inc. (ISAI) provides a two-week,  on-site training course in Expert System development using CLIPS  as well as shorter courses on Knowledge Engineering, LISP Programming,  and an Executive Overview of AI. For more information, contact:

 

 Tim Bickmore Intelligent Software Associates, Inc. P.O. Box 188825 Sacramento, CA 95818 Phone: (916) 737-1441 Email: bickmore@netcom.com WWW:   http://www.isai.com

 

 28) HOW DO I UNSUBSCRIBE FROM THE CLIPS LIST SERVER?

 

 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.

 

 29) WHAT DOES THE "SCRIPT LINE 7" ERROR MESSAGE MEAN?

 

 An early version of the CLIPS 6.0 PC installer has a bug that under some circumstances will cause an error message. Instead of using this installer, you should download the most recent version of CLIPS from the CLIPS download site (see question #2).

 

 30) ARE THERE ANY EXAMPLES OF USER DEFINED FUNCTIONS OTHER  THAN THE ONES IN THE ADVANCE PROGRAMMING GUIDE? 

 

 Virtually all of the system defined functions that come ready to use  with CLIPS utilize the same programming interface that you have to use to define your own functions. Look through files such as bmathfun.c,  iofun.c, miscfun.c, prdctfun.c, emathfun.c, filecom.c, and multifun.c  for examples.

 

 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?

 

 A run-time program will not run any faster than a program loaded using  the load or bload commands. The constructs-to-c command used to generate  a run-time program creates files containing the C data structures that  would dynamically be allocated if the load or bload command was used.  With the exception of some initialization routines, the constructs-to-c  command does not generate any executable code. The primary benefits of  creating a run-time program are: applications can be delivered as a  single executable file; loading constructs as part of an executable is  faster than loading them from an text or binary file; the CLIPS portion  of the run-time program is smaller because the code needed to parse  constructs can be discarded; and less memory is required to represent  your program's constructs since memory for them is statically rather  than dynamically allocated.

 

 32) WHAT DOES THE "PREVIOUSLY INSTALLED SOFTWARE IS NEITHER VCPI  NOR DPMI COMPATIBLE" ERROR MESSAGE MEAN?

 

 This message is generated by older versions of the CLIPS DOS  386 executable which use Zortech's DOSX 386 extender. You should download a more recent version of CLIPS from the CLIPS download site (see question #2).

 

 33) ARE THERE ANY COMPANIES PROVIDING CLIPS CONSULTING SERVICES?

 

 In addition to the course "Building Expert Systems" that is built  using CLIPS we do consulting and development in: Expert systems,  CLIPS, Object Oriented Analysis and Design, and C++. For more  information contact:

 

 Intelligent Visual Computing 1143-I Executive Circle Cary, NC 27511 Phone: (800) 776-2810 Email: mdc@ivc.com

 

 

 

 For information on CLIPS consulting services, contact:

 

 William Mark McVea  P.E. Email: mcvea@ecn.purdue.edu

 

  In 1990, Intelligent Software Associates, Inc., in Sacramento, California,  was started to provide consulting services, custom software development,  and training in Expert Systems development. While we have experience developing systems in other shells (notably ART, KEE, and Nexpert), we  have actually performed most of our work in CLIPS since 1986, when we  worked at Lockheed's AI Center. I taught Lockheed's course in advanced   ART development and, along with other ISAI personnel, a two-week course  in Expert System development using CLIPS. While at Lockheed, we also  consulted on the development of numerous systems using ART and CLIPS, and I developed a RETE-based production system in Common LISP (roughly CLIPS 4.0 plus logical dependencies, structured facts and backward  chaining) that was used on several Lockheed research projects.

 

 ISAI has done custom Expert System development for both commercial  organizations (in the health insurance and industrial monitoring and  control industries) and for NASA (in the area of rocket engine monitoring  and control). We still provide a two-week, on-site training course in  Expert System development using CLIPS (taught to various commercial  companies, and personnel from NASA LeRC, MSFC, and KSC), as well as  shorter courses on Knowledge Engineering, LISP Programming, and an  Executive Overview of AI.  We have developed bridges between CLIPS and  the Ingres and Mettrica databases (an Oracle bridge is in development),  and also have integrated CLIPS into numerous procedural programs.

 

 For more information, contact:

 

 Tim Bickmore Intelligent Software Associates, Inc. P.O. Box 188825 Sacramento, CA 95818 Phone: (916) 737-1441 Email: bickmore@netcom.com

 

 

 

 Decision Consultants Inc. provides CLIPS/ECLIPSE consulting services. Mark Wuilleumier holds an MS Degree in Computer Science. He has designed and implemented a CLIPS automatic knowledge acquisition expert system as a component of a multiple cooperative expert system (running in a  Unix/RS6000 environment) applied in the domain of architectural and engineering design. He has been a consultant to A.C. Nielsen for the   last 2 years implementing an ECLIPSE expert system applied in the domain   of marketing analysis. For more information, contact:

 

 Michele Fitzgerald RE: Mark Wuilleumier Decision Consultants Inc. Schaumburg, IL  60173 Phone: (708) 240-5100 Email: via CLIPS list server (clips-list@cosmic.uga.edu)

 

 34) HAS CLIPS BEEN COMPILED/INTEGRATED/EMBEDDED WITH <X>?

 

 The following information is gleaned from user comments and is mostly unverified.

 

 Tcl/Tk:  Some notes on using Tcl/Tk with CLIPS are available at http://www.ghg.net/clips/download/other/tcl-tk.txt.

 

 Borland C++ 4.5 and PowerPack:  It's possible to build an extended memory DOS command line  version of CLIPS 6.0 with Borland C++ 4.5 and PowerPack with  the following steps:

 

 1. In SETUP.H change the compiler flag from IBM_TBC to IBM_ICB. 2. In MAKEFILE.BCC change bcc to bcc32, drop the -ml switch, and add a -WX switch to the compiler lines. 3. In SYSDEP.H, comment out the lines which include <i32.h> and <stk.h>.      

 

 RS6000 (AIX3.2) with xlc compiler: The command line version of CLIPS 5.1 was successfully compiled with no changes other than setting the appropriate flags in the setup.h header file. The X Windows interface code for CLIPS did not compile successfully and not much effort to determine the cause of the problems.

 

 AIX: Use the UNIX_V flag in setup.h

 

 HP 9000/735 using HP-UX 9.x: Use the makefile provided for Unix with CLIPS 6.0. Enable the  ANSI_COMPILER flag in the setup.h header file. If you are  compiling using HP C, modify the makefile as follows:

 

 .c.o: cc -Aa -c -D_HPUX_SOURCE clips: $(OBJS) cc -o clips $(OBJS) -lm

 

 

 

 For xclips, try the -Aa -D_HPUX_SOURCE -DSYSVR4 options. Set the machine type to GENERIC in the setup.h header file. The HP ANSI C compiler must also be at current patch level.

 

 

 

 For information on compiling xclips under HP-UX 9.05, check the following URL:

 

 http://www.ai.univie.ac.at/clips-hpux-patch.html

 

 SGI IRIX 5.x: You cannot compile the code for the CLIPS 6.0 integrated editor  for native sgi applications due to differences in the ioctl calls, but otherwise SGI Irix 5.x (both 5.1, 5.1.1, and 5.2)  should not pose any problems.

 

 NEXTSTEP 3.0:  The CLIPS X-Windows application can be created by installing X11R5 and the latest version of gcc and then compiling the CLIPS code  with the Unix flags set.

 

 Symantec C++ 8.0 for the Power Macintosh:  Disable global optimizations.

 

 VMS   CLIPS 6.0 has been run on OpenVMS/VAX 6.0. The same user had not tried it with OpenVMS/Alpha (any version) or on OpenVMS/VAX 6.1.   Things to be careful of:

 

 1. Don't use the built-in text processing on VMS (unless you want  to learn emacs). It's not difficult to swap the built-in emacs editor with DEC/TPU if you like having a built-in editor.

 

 2. Stick with DEC/C - The user didn't have much luck with GNU C  on VMS.

 

 3. Tailor the include files to take advantage of VMS' flat memory model (and large address space and )

 

 4. Tailor your VMS accounts to use large working sets (when  memory is available).

 

 35) IS THERE A WAY TO USE FILES STORED AS MACINTOSH ARCHIVES  ON THE PC?

 

 Some CLIPS related documents (such as the CLIPS 5.1 Architecture  Manual) are available only as Macintosh archives. In the case of  the Architecture Manual, the file contained in the archive is a  Microsoft Word document and could be opened on a PC if the file  could be extracted from the archive.

 

 Files with .sea and .hqx extensions indicate Mac archiving file  types. Files with .sea extensions are Macintosh self-extracting archives and should be transferred in binary format. Files with .hqx extensions are BinHex files and should be transferred as ASCII text.

 

 The PC BinHex 1.3 program can be used to convert binhex files from their ASCII format to their original binary format. The ExtractorPC program can be used to extract archived files from  a Macintosh self-extracting archive file. The PC Binhex program  is available by anonymous ftp from oak.oakland.edu. The file  binhex13.zip is in the simtel/msdos/mac directory. The  ExtractorPC program is available by anonymous ftp from  archive.umich.edu. The file extracpc.zip is in the  /msdos/compression/macintosh directory.

 

 To extract a Macintosh archive with a .sea.hqx extension,  first transfer the file to your PC and give it a legal 8.3  character name. Run the PC Binhex 1.3 program on the file and then run the ExtractorPC program on the resulting file.  In the case of the CLIPS 5.1 Architecture Manual, the final  resulting file will be the original Macintosh Word 5.1  Architecture Manual file. This file can then be opened with  Word 6.0 for Windows.

 

 36) ARE THERE ARCHIVES OF QUESTIONS AND ANSWERS THAT HAVE BEEN POSTED TO THE CLIPS LIST SERVER?

 

 Intelligent Software Professionals has made available the  CLIPS-LIST archive, a WWW-based full text searchable archive  containing over two years of question and answers directed  to the CLIPS List Server. It can be accessed at the URL http://www.isphouston.com/swish-web.html.

 

 37) WHERE CAN I GET THE CLIPS DOCUMENTATION?

 

 The CLIPS Reference Manuals and User's Guide are available in Portable Document Format (PDF) at the URL http://www.ghgcorp.com/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.

 

 38) IS CLIPS YEAR 2000 COMPLIANT?

 

 CLIPS doesn't provide any functions for creating or manipulating dates and it doesn't create or manipulate dates internally, so  it should be year 2000 compliant with only one caveat. CLIPS  provides a time function that returns the number of seconds  elapsed since a system dependent reference time. A variety of  operating system specific library functions are used to  implement the time function. Compliance of the time function is  dependent upon compliance of the compiler/operating system used  to compile/run CLIPS. For example, the operating system function  called by the time function in the Windows 95 version of CLIPS  returns the number of milliseconds that have elapsed since  Windows was started. This function should be totally unaffected  by the calendar date, so the Windows 95 version of CLIPS should  be year 2000 compliant. Note, however, that there is a separate  issue of time wrapping independent of the year 2000 problem. The  timing function used in Windows 95,!

 for example, will wrap back  to zero if Windows has been running continuously for approximately 49.7 days.

 

 


Voltar