File: CLIPS-FAQ

package info (click to toggle)
clips 6.21-6.2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 7,956 kB
  • ctags: 8,731
  • sloc: ansic: 97,932; makefile: 1,406; sh: 189
file content (812 lines) | stat: -rw-r--r-- 41,244 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
                    CLIPS FREQUENTLY ASKED QUESTIONS
                            June 22nd, 2003
                    
This is the frequently asked questions list for CLIPS. A current
version of the FAQ can be found at http://www.ghg.net/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.21 is now available at the CLIPS Web site: 
   http://www.ghg.net/clips/CLIPS.html

 * TixClips, an Integrated Development Environment for CLIPS using the 
   Tix extension widgets to Tk and the TclClips SWIG wrapping is available 
   at http://starship.python.net/crew/mike/TixClips/
                     
CONTENTS
--------
 1) What is CLIPS?
 2) Where can I get a copy of CLIPS?
 3) What's new in version 6.2 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 CLIPS?
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.X 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) Are there archives of questions and answers that have been
    posted to the CLIPS list server?
36) Where can I get the CLIPS documentation?    
37) 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 widely used throughout the 
    government, industry, and academia. Its key features 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, Java, Ada, and LISP.
    
    *  Portability: CLIPS is written in C for portability and speed and has
       been installed on many different operating systems without code 
       changes. Operating systems on which CLIPS has been tested include 
       Windows 95/98/NT, MacOS X, and Unix. CLIPS can be ported to any
       system which has an ANSI compliant C or 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, Java, 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 the MacOS, Windows 
       95/98/NT, 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.
       
    *  Low Cost: CLIPS is maintained as public domain software.

 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.html. This is 
    the primary location to check for the most recent version of CLIPS.
    
    Expert Systems: Principles and Programming, 3rd Edition, by 
    Giarratano and Riley (ISBN 0-534-95053-1 from Thomson Learning) 
    comes with a CD-ROM containing CLIPS 6.05 executables, source code,
    and documentation. 

 3) WHAT'S NEW IN VERSION 6.2 OF CLIPS?
---------------------------------------
    CLIPS version 6.2 contains two major enhancements:

    *  CLIPS now provides a mechanism which allows an embedded 
       application to create multiple environments into which 
       programs can be loaded. 
  
    *  An improved Windows 95/98/NT CLIPS interface is now 
       available and the Macintosh CLIPS interface has been 
       enhanced to support MacOS X.

 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.html are 
    subject to the following license agreement: 
    
    Permission is hereby granted, free of charge, to any person 
    obtaining a copy of this software and associated documentation 
    files (the "Software"), to deal in the Software without restriction, 
    including without limitation the rights to use, copy, modify, merge, 
    publish, distribute, and/or sell copies of the Software, and to 
    permit persons to whom the Software is furnished to do so.                             

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
    NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE AUTHORS 
    BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL 
    DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA 
    OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 
    TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 
    PERFORMANCE OF THIS SOFTWARE. 

 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.
 
    ------------------------
 
    The CLIPS Developers' Forum, a thread-based message board, is available
    at http://www.cpbinc.com/clips. This board exists to provide a site for 
    discussion of research, development, and implementation of the CLIPS 
    expert systems and related technologies. The hosting services for this 
    web page are provided by CPB, Inc. Questions pertaining to this forum 
    can be sent to jerry.gamble@cpbinc.com.
  
 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.html.
    
 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. 
    CLIPS/Ada is available from the Open Channel Foundation. Information     
    for purchasing it can be found at:
    http://www.openchannelfoundation.org/projects/CLIPS-ADA

 8) WHEN'S THE NEXT CLIPS CONFERENCE?
---------------------------------------------
    The Third CLIPS Conference was held in 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 and the CLIPS Developers' Forum 
    (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 J 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 J of the CLIPS Basic Programming Guide 
    (available at http://www.ghg.net/clips/download/documentation/).

    ------------------------

    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.thomsonlearning.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/
       
    "Introduction To Expert Systems," 3rd Edition, by Jackson
    (ISBN 0-201-87686-8) contains numerous CLIPS examples and
    exercises throughout the book. For more information, 
    contact
    
       Addison Wesley Longman, Inc.
       One Jacob Way
       Reading, MA 01867-3999
       Phone: (781) 944-3700
       Fax:   (781) 944-9338  
       WWW:   http://www.awl.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 at
    http://ai.iit.nrc.ca/IR_public/fuzzy/fuzzyClips/fuzzyCLIPSIndex.html.

    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.
           
    PerlCLIPS, an integration between Perl and CLIPS, is available for 
    download at http://www.discomsys.com/~mps/dnld.
    
    CAPE, a programming environment that combines the CLIPS rule-based 
    system with the Perl procedural programming language is available
    for download at http://cape.sourceforge.net/.
    
    TixClips is an Integrated Development Environment for CLIPS using the 
    Tix extension widgets to Tk and the TclClips SWIG wrapping. It is
    available for download at http://starship.python.net/crew/mike/TixClips/.

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/98/NT, 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 and later 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 and later 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 CLIPS?
-------------------------------------------------------------------------
    A Windows DLL and other items of interest for CLIPS 6.x, are available 
    at http://ourworld.compuserve.com/homepages/marktoml/clipstuf.htm.

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 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. ART-IM is no longer marketed
    by Inference. ARTEnterprise, the successor to ART-IM, is available from
    MindBox. For more information, contact:
    
       MindBox, Inc.
       300 Drake's Landing, Suite 155
       Greenbrae, CA 94904 
       Phone: (877) 650-MIND (Toll Free)
       WWW: www.mindbox.com
 
    For more information on Eclipse, contact The Haley Enterprise.
              
       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

    Jess, the Java Expert System Shell, shares a great deal of common syntax
    with CLIPS, but is written in Java. Information on Jess is available at 
    http://herzberg.ca.sandia.gov/jess/.

22) DID INFERENCE AID IN THE DEVELOPMENT OF CLIPS?
--------------------------------------------------
    No. Inference neither developed CLIPS for NASA nor did NASA have access
    to or use the ART source code to develop CLIPS. 
   
23) WHAT ARE THE FUTURE PLANS FOR CLIPS?
----------------------------------------
    Plans for the next major release have not yet been decided.
        
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 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. 

    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 G2, contact Gensym Corporation.

       Gensym Corporation 
       52 Second Avenue 
       Burlington, MA 01803 
       Phone: (781) 265-7100 
       Fax: (781) 265-7101
       Email: info@gensym.com
       WWW:   http://www.gensym.com/
       
25) IS THE CLIPS 6.X ARCHITECTURE MANUAL AVAILABLE?
---------------------------------------------------
    There are no plans to write a 6.X Architecture Manual. Copies 
    of the CLIPS 5.1 Architecture Manual are still available at
    the following URL:
    http://www.ghg.net/clips/download/documentation/
    
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: philip-johnston@usa.net 
       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
       WWW:   http://www.wisewebware.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?
----------------------------------------------------------------
    Companies with web pages that provide consulting services are
    listed under the "Training/Course Material/Consulting" header
    at http://www.ghg.net/clips/OtherWeb.html.
      
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) 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/clipssearch/.

36) 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.

37) 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.