Provided by: clips_6.30-4.1_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)