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