Provided by: clips_6.30-4.1build1_amd64 bug

NAME

       clips     - an expert system programming language

SYNOPSIS

       clips [ file.clp ]

DESCRIPTION

       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 being used by  numerous  users
       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 an IBM PC running  DOS  and
              Windows 95 and a Macintosh running MacOS and Mach.  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 95, 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 a User's Guide, a Basic Programming Guide, an
              Advanced Programming Guide and an Architecture Manual. All of these documents are provided in  the
              Debian clips-doc package.

BUGS

       CLIPS is old software so bugs are not unheard of.

HISTORY

       The  origins  of  the C Language Integrated Production System (CLIPS) date back to 1984 at NASA's Johnson
       Space Center.  At this time, the Artificial Intelligence Section (later the Software  Technology  Branch,
       Client/Server  Systems  Branch,  and  now  the  Information Technology Office) 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. In particular, three problems hindered the use of LISP based  expert  system
       tools  within  NASA:  the  low availability of LISP on a wide variety of conventional computers, the high
       cost of state-of-the-art LISP tools and hardware, and the poor integration of LISP with  other  languages
       (making embedded applications difficult).

       The  Artificial  Intelligence  Section  felt  that  the  use of a conventional language, such as C, would
       eliminate most of these problems, and initially looked to the expert system tool vendors  to  provide  an
       expert  system  tool  written  using  a  conventional language. 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  the  spring  of 1985 in a little over two months.
       Particular attention was given to making the tool compatible with expert  systems  under  development  at
       that  time  by  the  Artificial  Intelligence Section. 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. Versions 4.0 and 4.1 of CLIPS, released respectively in the summer
       and fall of 1987, featured greatly improved performance,  external  language  integration,  and  delivery
       capabilities. Version 4.2 of CLIPS, released in the summer of 1988, was a complete rewrite of

       CLIPS  for  code  modularity.  Also  included  with  this release were an architecture manual providing a
       detailed description of the CLIPS  software  architecture  and  a  utility  program  for  aiding  in  the
       verification and validation of rule-based programs. Version 4.3 of CLIPS, released in the summer of 1989,
       added still more functionality.

       Originally, the primary representation methodology in CLIPS was a forward chaining rule language based on
       the  Rete  algorithm  (hence  the  Production  System  part  of the CLIPS acronym). Version 5.0 of CLIPS,
       released in the spring of 1991, introduced two new  programming  paradigms:  procedural  programming  (as
       found in languages such as C and Ada;) and object-oriented programming (as found in languages such as the
       Common  Lisp Object System and Smalltalk). The object-oriented programming language provided within CLIPS
       is called the CLIPS Object-Oriented Language (COOL).  Version 5.1 of CLIPS, released in the fall of 1991,
       was primarily a software maintenance upgrade required to support the newly developed  and/or  enhanced  X
       Window,  MS-DOS,  and  Macintosh  interfaces.  Version  6.0,  released in the Spring of 1993, added fully
       integrated object/rule pattern matching and support features for rule-based software engineering. Version
       6.1, released in the Summer of 1998, added C++ compatibility and functions for profiling performance.

       Because of its portability, extensibility, capabilities, and  low-cost,  CLIPS  has  received  widespread
       acceptance  throughout  the  government,  industry,  and academia. The development of CLIPS has helped to
       improve the ability to deliver expert system technology throughout the public and private sectors  for  a
       wide  range  of applications and diverse computing environments.  CLIPS is being used by over 5,000 users
       throughout the public and private community including: all NASA  sites  and  branches  of  the  military,
       numerous federal bureaus, government contractors, universities, and many private companies.

       CLIPS  is  now  maintained  as  public domain software by the main program authors who no longer work for
       NASA.

       Derivative works for CLIPS have also appeared, such as:

       JESS   The Java Expert System Shell,  which  provides  a  CLIPS  interpreter  for  the  Java  programming
              language.

       fuzzyCLIPS
              A fuzzy extension of CLIPS.

       bw     CLIPS A version of CLIPS using backward chains.

AUTHOR

       As  with  any  large  project,  CLIPS  is  the  result  of  the  efforts  of numerous people. The primary
       contributors have been: Robert Savely, previous branch chief of  the  STB  and  now  chief  scientist  of
       advanced  software  technology  at  JSC,  who  conceived  the  project and provided overall direction and
       support; Chris Culbert, current chief of the Information Technology  Office,  who  managed  the  project,
       wrote  the  original  CLIPS  Reference Manual, and designed the original version of CRSV; Gary Riley, who
       designed and developed the rule-based portion of

       CLIPS , coauthored the CLIPS Reference Manual and CLIPS Architecture Manual, and developed the  Macintosh
       interface  for  CLIPS  ;  Brian  Donnell,  who  designed and developed the CLIPS Object Oriented Language
       (COOL), coauthored the CLIPS Reference Manual and CLIPS Architecture Manual, and developed  the  previous
       MS-DOS  interfaces  for CLIPS ; Bebe Ly, who was responsible for maintenance and enhancements to CRSV and
       is now responsible for developing the X Window interface  for  CLIPS;  Chris  Ortiz,  who  developed  the
       Windows 3.1 interface for CLIPS; Dr. Joseph Giarratano of the University of Houston-Clear Lake, who wrote
       the CLIPS User's Guide; and Frank Lopez, who designed and developed CLIPS version 1.0 and wrote the CLIPS
       1.0 User's Guide.

       Many  other  individuals  contributed  to  the design, development, review, and general support of CLIPS,
       including: Jack Aldridge, Carla Armstrong, Paul Baffes, Ann Baker, Stephen Baudendistel, Les  Berke,  Tom
       Blinn,  Marlon  Boarnet,  Dan  Bochsler, Bob Brown, Barry Cameron, Tim Cleghorn, Major Paul Condit, Major
       Steve Cross, Andy Cunningham, Dan Danley, Mark Engelberg, Kirt Fields, Ken Freeman, Kevin Greiner,  Ervin
       Grice,  Sharon  Hecht,  Patti  Herrick,  Mark  Hoffman,  Grace Hua, Gordon Johnson, Phillip Johnston, Sam
       Juliano, Ed Lineberry, Bowen Loftin, Linda Martin, Daniel McCoy, Terry  McGregor,  Becky  McGuire,  Scott
       Meadows,  C. J. Melebeck, Paul Mitchell, Steve Mueller, Bill Paseman, Cynthia Rathjen, Eric Raymond, Reza
       Razavipour, Marsha Renals, Monica Rua, Tim Saito, Gregg Swietek, Eric Taylor, James Villarreal, Lui Wang,
       Bob Way, Jim Wescott, Charlie Wheeler, and Wes White.

SEE ALSO

       http://www.clipsrules.net/ Homepage for CLIPS

       /usr/share/doc/clips-doc/ There you will find the basic and advanced programming guide, as well as  other
       upstream documentation.

       /usr/share/doc/clips-common/examples/  A number of examples of the CLIPS program are available so you can
       test the interpreter and learn how it works. For example, you can  load  one  a  word  game  using  (load
       "/usr/share/doc/clips-common/examples/wordgame.clp") and run it using (reset) and (run).

COPYRIGHT

       This  manpage  was  made  by Javier Fernández-Sanguino <jfs@debian.org> for Debian GNU/Linux  (but may be
       used by others)

Linux                                               July 2003                                           CLIPS(1)