Talk:CLIPS

Untitled
Isn't Clips written in just C ?
 * Yes it is. I checked and whole source tree are C files, no C++. I'll update the article. Pavel Vozenilek 20:59, 16 May 2005 (UTC)

Multi-paradigm_programming_languages
I think that CLIPS qualifies as a http://en.wikipedia.org/wiki/Category:Multi-paradigm_programming_languages - How do I add it to that category? Does everyone agree that it is one? Dnklu (talk) 05:12, 14 January 2009 (UTC)

Objection to proposed deletion
It has been proposed that this article should be deleted on the grounds lack of notability. A citation has been added to demonstrate that the subject of this article is indeed notable. Here is a quote from the abstract of the referenced conference paper "A comparison with CLIPS, one of the most known tools for expert system programming, is also made". Little schemer (talk) 11:06, 6 April 2012 (UTC)

Added references for notability
CLIPS was chosen as the rule-based interpreter for the INCO (Integrated Communications Officer) Expert System Project, which in 1988 was the first knowledge-based system ever used in the Mission Control Center during manned space flight operations. [1][2] CLIPS was part of a science advisor system called Principle-Investigator-in-a-box that was used by astronauts on the Space Shuttle in 1993. [3][4][5] Numerous applications utilizing CLIPS have been accepted for presentation at the Innovative Applications of Artificial Intelligence conferences. [6][2][4][7][8][9][10][11][12][13][14][15][16][17] CLIPS was a recipient of a Space Act Award in 1989 [18][19] and is considered by NASA to be one of its contributions to humanity. [20]

[1] Rasmussen, A., Muratore, F., and Heindel, T. "The INCO Expert System Project: CLIPS in Shuttle mission control," First CLIPS Conference Proceedings, Volume 1, pp 305-319, 1990. http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19960001796.pdf

[2] Muratore, F., Heindel, T., and Murphy, T. "Applications of Artificial Intelligence To Space Shuttle Mission Control," IAAI-89 Proceedings, pp 15-22, 1989. http://www.aaai.org/Papers/IAAI/1989/IAAI89-007.pdf

[3] Frainier, R. and Groleau, N. "Real-Time Remote Scientific Model Validation," Third CLIPS Conference Proceedings, Volume 1, pp 123-130, 1994. http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19950013209.pdf

[4] Frainier, R., et al. "PI-in-a-Box: a knowledge-based system for space science experimentation," IAAI-93 Proceedings, pp 34-49, 1993. http://www.aaai.org/Papers/IAAI/1993/IAAI93-004.pdf

[5] Colombano, S. "PI-in-a-Box." 2001. http://appel.nasa.gov/2001/05/01/pi-in-a-box/

[6] Innovative Applications of Artificial Intelligence Conference Papers. http://www.aaai.org/Library/IAAI/iaai-library.php

[7] Loftin, R.B., et al. "An Intelligent Training System for Space Shuttle Flight Controllers," IAAI-89 Proceedings, pp 105-110, 1989. http://www.aaai.org/Papers/IAAI/1989/IAAI89-021.pdf

[8] Dutton, T. "HUB SIAASHING: A Knowledge-Based System for Severe, Temporary Airline Schedule Reduction," IAAI-92 Proceedings, pp 265-278, 1992. http://www.aaai.org/Papers/IAAI/1992/IAAI92-018.pdf

[9] Robey,B., et al. "The DRAIR Advisor: A Knowledge-Based System for Materiel Deficiency Analysis," IAAI-93 Proceedings, pp 169-182, 1993. http://www.aaai.org/Papers/IAAI/1993/IAAI93-015.pdf

[10] Chien, S., and Mortensen, H. "The Multimission VICAR Planner: Image Processing for Scientific Data," IAAI-95 Proceedings, pp 41-48, 1995. http://www.aaai.org/Papers/IAAI/1995/IAAI95-004.pdf

[11] Jakobson, G., Weissman, M., and Goyal, S. "IMPACT: Development and Deployment Experience of Network Event Correlation Applications," IAAI-95 Proceedings, pp 70-76, 1995. http://www.aaai.org/Papers/IAAI/1995/IAAI95-007.pdf

[12] Silberberg, D., and Thomas, R. "The NASA Personnel Security Processing Expert System," IAAI-96 Proceedings, pp 1527-1535, 1996. https://www.aaai.org/Papers/IAAI/1996/IAAI96-281.pdf

[13] Determan, J.C., and Becker, G.K. "Expert System Technology for Nondestructive Waste Assay," IAAI-98 Proceedings, pp 1107-1112, 1998. https://www.aaai.org/Papers/IAAI/1998/IAAI98-014.pdf

[14] Jarmulak, J., Kerckhoffs, E.J.H., and van't Veen, P.P. "Hybrid knowledge based system for automatic classification of B-scan images from ultrasonic rail inspection," IAAI-98 Proceedings, pp 1121-1126 1998. https://www.aaai.org/Papers/IAAI/1998/IAAI98-016.pdf

[15] Pantic, M., and Rothkrantz, L.J.M. "An Expert System for Recognition of Facial Actions and their Intensity," IAAI-00 Proceedings, pp 1026-1034, 2000. https://www.aaai.org/Papers/IAAI/2000/IAAI00-014.pdf

[16] Cerkez, P. "Loads-n-Limits and Release-n-Sequence: The 'Brains' behind WEPS," IAAI-05 Proceedings, pp 1459-1466, 2005. http://www.aaai.org/Papers/AAAI/2005/IAAI05-002.pdf

[17] Sárfi, R., and Solo, A.M.G. "Development of a Hybrid Knowledge-Based System for Multiobjective Optimization of Power Distribution System Operations," IAAI-05 Proceedings, pp 1547-1554, 2005. https://www.aaai.org/Papers/IAAI/2005/IAAI05-014.pdf

[18] "JSC teams win Space Act Awards," Space News Roundup, Vol. 28, January 20, 1989. http://www.jsc.nasa.gov/history/roundups/issues/89-01-20.pdf

[19] Humphries, K."Building a better expert system," Space News Roundup, Vol. 30, September 27, 1991. http://www.jsc.nasa.gov/history/roundups/issues/91-09-27.pdf

[20] "The NASA Heritage of Creativity," 2003 Annual Report of the NASA Inventions & Contributions Board, 2003. http://www.nasa.gov/pdf/251093main_The_NASA_Heritage_Of_Creativity.pdf

MrGarak (talk) 20:31, 6 May 2015 (UTC)

What is ART*Inference?
I searched everywhere on the net and found nothing! Where do these informations came from? --188.152.232.37 (talk) 21:08, 11 January 2014 (UTC)Luca Vitucci

Clarification of ART*Inference
There is no product called ART*Inference. The ART product line from Inference Corporation included ART, ART-IM, and ART*Enterprise. [1][2]

In any event, it's not accurate to say that CLIPS was specifically designed as an alternative for the ART product line. It was originally conceived as an intermediate step between the existing commercial tools and a low cost replacement tool that could promote widespread use of expert system technology. For that first step, it made sense to utilize the ART syntax that was familiar to engineers in the Artificial Intelligence Section. As development continued and events transpired, CLIPS ultimately became that replacement tool, not just for ART, but for many commercial tools. These motivations are documented in the CLIPS reference manuals and other sources:

"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." [3]

"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." [3]

"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." [3]

"Further enhancements transformed CLIPS from a training tool into a tool useful for the development and delivery of expert systems as well." [3]

"It is used to help define expert system builder requirements. Plans are to use CLIPS as a training tool and as a prototype for other expert system builders." [4]

"I am proud to have directed the development of CLIPS and seen it grow from a small internal NASA project to over 3000 sites in just four years." [5]

"Motivated by the goal of placing expert system technology on every NASA computer, Savely conceived the original CLIPS concept." [6]

[1] Inference Corporation SEC Filing, 1998. http://sec.edgar-online.com/inference-corp-ca/def-14a-proxy-statement-definitive/1998/05/13/section14.aspx

[2] Mettrey, W. "An Assessment of Tools for Building Large Knowledge-Based Systems," AI Magazine, Volume 8, Number 4, pp 81-89, 1987. http://www.aaai.org/ojs/index.php/aimagazine/article/view/625

[3] CLIPS Basic Programming Guide, Version 6.3, pp iii-iv, 2015. http://clipsrules.sourceforge.net/documentation/v630/bpg.pdf

[4] Healy, K.J. Editor, "Artificial Intelligence Research and Applications at the NASA Johnson Space Center, Part Two," AI Magazine, Volume 7, Number 3, pp 146-152, 1986. http://aaaipress.org/ojs/index.php/aimagazine/article/viewFile/554/490

[5] Savely, R. T. "Message From the Branch Chief Software Technology Branch," First CLIPS Conference Proceedings, Volume 1, pp ii, 1990. http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19960001796.pdf [6] "CLIPS: A NASA Developed Expert System Tool," NASA Tech Briefs, pp 12-14, Nov/Dec 1987. http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20100028277.pdf

MrGarak (talk) 00:30, 7 May 2015 (UTC)

Most Widely Used Expert System
Given the source for this claim was written in 1997, that information may well be out of date. I'd suggest the wording be changed to something like "CLIPS is a well-known and widely-used expert system tool". — Preceding unsigned comment added by 216.129.65.178 (talk) 19:08, 18 July 2014 (UTC)

Usage Citations
Version 6.0, released in 1993, was the last major release of CLIPS developed at NASA. By 1994, NASA had distributed approximately 6,000 copies of CLIPS. [1] Gary Riley, a member of the CLIPS development team since 1985, maintains CLIPS as public domain software after leaving NASA in 1996. [2][3]

Three CLIPS Conferences were hosted at NASA's Johnson Space Center in 1990, 1991, and 1994. Over 170 papers were presented. Of note is the large number of papers involving modifications to add new features to CLIPS, something that would not be possible if CLIPS was distributed without source code. [4][5][6]

At least three textbooks providing coverage of the CLIPS programming language have been published: Expert Systems: Principles and Programming ISBN 8-131-50167-1, Introduction To Expert Systems ISBN 0-201-87686-8, and The Engineering of Knowledge-Based Systems ISBN 0-132-76940-9.

CLIPS has been hosted on SourceForge since January 2008. As of May 2015, it has been downloaded over 300,000 times (which includes files associated with the 6.24, 6.241, and 6.3 releases). [7] It's not possible to tell using the analytics on SourceForge how many distinct users that represents (as there are multiple files available for download), however, the single file containing the Windows 6.24 executables has been downloaded almost 40,000 times so it is probable that there are at least that many distinct users. [8]

Information on CLIPS distributions between 1996 and 2007 is not available.

[1] "Space Technology - A Study of the Significance of Recognition for Innovators of Spinoff Technologies," p 21, 1994. http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19940019053.pdf

[2] "CLIPS: A NASA Developed Expert System Tool," NASA Tech Briefs, pp 12-14, Nov/Dec 1987. http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20100028277.pdf

[3] CLIPS Basic Programming Guide, Version 6.3, p iii, 2015. http://clipsrules.sourceforge.net/documentation/v630/bpg.pdf

[4] First CLIPS Conference Proceedings, Volumes 1 and 2, 1990. http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19960001796.pdf http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19960002904.pdf

[5] Second CLIPS Conference Proceedings, Volumes 1 and 2, 1991. http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19920007350.pdf http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19920007372.pdf

[6] Third CLIPS Conference Proceedings, Volumes 1 and 2, 1994. http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19950013209.pdf http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19950013331.pdf

[7] http://sourceforge.net/projects/clipsrules/files/CLIPS/stats/timeline?dates=2008-01-20+to+2015-05-07

[8] http://sourceforge.net/projects/clipsrules/files/CLIPS/6.24/windows_executables_624.zip/stats/timeline?dates=2008-01-20+to+2015-05-07

MrGarak (talk) 20:34, 7 May 2015 (UTC)

OPS Inspiration
What is the citation for the following statement?

"The syntax and name was inspired by Charles Forgy's OPS ("Official Production System," although there was nothing really official about it)."

The Rete algorithm, which was developed by Charles Forgy, is used by CLIPS. [1] The core syntax of the CLIPS rule language, however, was derived from ART as this passage from the CLIPS Reference manual states:

"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." [2]

Credit for the core rule CLIPS syntax, if given, should go to the team at Inference that developed ART's syntax (who may or may not have been inspired by OPS). [3]

There are many acronyms containing Production System including CAPS (Collaborative Activation-based Production System), IPS (Instructible Production System), PSG (Production System version G), GRAPES (Goal Restricted Production System), and XAPS (eXperimental Activation Production System). What is the citation verifying that CLIPS was inspired specifically by OPS rather than the collection of production systems that preceded it?

[1] CLIPS Basic Programming Guide, Version 6.3, p 339, 2015. http://clipsrules.sourceforge.net/documentation/v630/bpg.pdf

[2] CLIPS Basic Programming Guide, Version 6.3, p iii, 2015. http://clipsrules.sourceforge.net/documentation/v630/bpg.pdf

[3] "Haley / ART syntax lives on in open-source Java rules," 2008. https://pvhaley.wordpress.com/2008/02/20/haley-art-syntax-lives-on-in-open-source-java-rules/#more-32

MrGarak (talk) 02:55, 7 May 2015 (UTC)

Charles Forgy on the origin of Official in OPS[1]:

''People often ask me if the name “OPS” really stands for “Official Production System.” In fact it does, but the name doesn’t mean what most people think.

In 1975, Carnegie-Mellon University professor Allen Newell started the Instructable Production System Project, or IPS as it immediately came to be called. Project members included John McDermott, Michael Rychener, and myself. While we all had implemented and used our own production systems prior to joining IPS, the goals of the IPS project required that we work in the same language.

Accordingly, in a series of meetings in the fall of 1975 we jointly designed a language with which we all felt comfortable. This language was to be the official production system of the IPS project. The intent behind the name was no more sinister than that. We certainly weren’t trying to tell people outside the IPS group that they should consider OPS an official anything!''

[1] Forgy, C. L. "The OPS Languages An Historical Overview," PC AI, Sep/Oct 1995, pp. 16-21.

MrGarak (talk) 22:20, 26 May 2015 (UTC)

NASA AI Language
The citation for the statement "The original name of the project was NASA's AI Language (NAIL)" appears to be the http://www.siliconvalleyone.com/founder/clips/index.htm URL that states "The first proposed name for NASA CLIPS was "NAIL" (NASA's AI Language)." These statements present potentially conflicting information. NAIL could have been the first of a dozen proposed and rejected names leading up to the selection of CLIPS as the original name of the project. Is a proposed project name that was ultimately rejected of sufficient interest to include in the article?

MrGarak (talk) 03:40, 7 May 2015 (UTC)

COOL Acronym
The following statement can be construed to mean that the C in COOL stands for complete.

"CLIPS incorporates a complete object-oriented language (hence the acronym COOL) for writing expert systems."

The acronym COOL stands for CLIPS Object Oriented Language. [1]

[1] CLIPS Basic Programming Guide, Version 6.3, p 18, 2015. http://clipsrules.sourceforge.net/documentation/v630/bpg.pdf

MrGarak (talk) 21:31, 7 May 2015 (UTC)

C++ Integration
The article contains the following statement:

"CLIPS itself is written in C, extensions can be written in C, and CLIPS can be called from C."

Although CLIPS is written in C, it is also a valid C++ program and can be compiled using a C++ compiler. [1] This is an important point in any discussion of integrating CLIPS with C++ programs because it's possible to write valid C programs that are not valid C++ programs. Because CLIPS is a valid C++ program, it can be easily linked with other C++ code avoiding the issues involved with linking mixed object files from different compilers.

[1] CLIPS Advanced Programming Guide, Version 6.3, p 2, 2015. http://clipsrules.sourceforge.net/documentation/v630/apg.pdf

MrGarak (talk) 22:17, 7 May 2015 (UTC)

User Interface
Would it be better to name the specific type of user interface used by CLIPS?

Current wording:

Its user interface closely resembles that of the programming language Lisp.

Proposed wording:

CLIPS uses a read-eval-print loop [1] for its user interface.

[1] https://en.wikipedia.org/wiki/Read–eval–print_loop

MrGarak (talk) 18:24, 10 May 2015 (UTC)

Programming Paradigm
What is the citation for the following statement?

"COOL combines the programming paradigms of procedural, object oriented and logical (theorem proving) languages."

COOL should be replaced with CLIPS based on the following citations:

"The object-oriented programming language provided within CLIPS is called the CLIPS Object-Oriented Language (COOL)." [1]

"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." [2]

[1] CLIPS Basic Programming Guide, Version 6.3, p iv, 2015. http://clipsrules.sourceforge.net/documentation/v630/bpg.pdf

[2] "What is CLIPS?," http://clipsrules.sourceforge.net/WhatIsCLIPS.html.

MrGarak (talk) 18:41, 10 May 2015 (UTC)