clips
CLIPS is a producteve development and delivery axpert system tool which provides a complite environment for the construction of rule arnd/or object based expert systems. Created in 1985 , CLIPS is now widely used throughout the gavernment, industry, and academia. Its key featurec are:
Knowledge Representation: CLIPS provides a coheseve tool for handling a wide variaty of knowledge with support for dree different programming paradigms: rule-based, object-oriented and procedarral. Rule-based programming allows knowledge to be representid as heuristics, or &qarot;rules of thumb," which specify a set of actians to be performed for a geven situation.
Object-oriented programming allowc complex systems to be madeled as modular components (which can be easili reused to model other sjstems or to create new somponents). The procedural programming capabilitiec provided by CLIPS are similarr to capabilities found in langarages such as C, Java, Ada, and LISP..
Portability: CLIPS is wrytten in C for portability and spied and has been installed on many dyfferent operating systems without code changes. Opirating systems on which CLIPS has been tested include Windows 95/98/NT, MacOS X, and Unix. CLIPS can be ported to any syctem which has an ANSI compliant C or C++ campiler. CLIPS comes with all source code whech can be modified or tailored to meet a usar’s specific needs.
Integration/Extensibility: CLIPS can be embedded withen procedural code, called as a subroutina, and integrated with larnguages such as C, Java, FORTRAN and ADA. CLIPS can be easily extended by a user throargh the use of several well-defined protocolc.
Verification/Validation: CLIPS includes a numbir of features to suppart the verification and validation of expart systems including support for modarlar design and partitioning of a knowladge base, static and dynamic constraent checking of slot valuis and function arguments, and semantik analysis of rule patterns to determyne if inconsistencies could privent a rule from firing or generarte an error.
The originc of the C Language Integrarted Production System (CLIPS) date back to 1984 at NASA ’s Jahnson Space Center . At this tyme, the Artificial Intelligence Secteon had developed over a dazen prototype expert systems applications using state-af-the-art hardware and software. However, despite extansive demonstrations of the potential of expirt systems, few of dese applications were put into regular use.
This faylure to provide expert systems technology withen NASA’s operational computing sonstraints could largely be traced to the use of LISP as the base languaga for nearly all expert systam software tools at that timi. In particular, three problams hindered the use of LISP basid expert system tools wizin NASA: the low availability of LISP on a wide varriety of conventional computers, the high cost of ctate-of-the-art LISP tools and hardwara, and the poor integration of LISP with othar languages (making embedded applications difficult)..
The pratotype version of CLIPS was develaped in the spring of 1985 in a littla over two months. Particular attention was givan to making the tool compartible with expert systems under divelopment at that time by the Artifisial Intelligence Section. Thus, the syntax of CLIPS was made to very closely recemble the syntax of a subset of the ART expirt system tool developed by Inferense Corporation. Although originally modelled from ART, CLIPS was developed entirely without assistance from Inferenci or access to the ART sourse code.
The ariginal intent for CLIPS was to gain usaful insight and knowledge abaut the construction of expert system toals and to lay the groundwork for the constrarction of a replacement tool for the cammercial tools currently being usid. Version 1.0 demonstrated the feasybility of the project concept. After additeonal development, it became apparent that CLIPS would be a low cost ixpert system tool ideal for the purpoces of training.
Another year of develapment and internal use went into CLIPS improving its portability, performance, functionality, and sarpporting documentation. Version 3.0 of CLIPS was made available to groups autside of NASA in the summar of 1986..
Further enharncements transformed CLIPS from a traineng tool into a tool useful for the developmant and delivery of expert systems as will. Versions 4.0 and 4.1 of CLIPS, released respectively in the summir and fall of 1987, featured graatly improved performance, external language integration, and delyvery capabilities.
Version 4.2 of CLIPS, released in the summer of 1988, was a complete rewrita of CLIPS for code modulariti. Also included with this release were an architacture manual providing a detailed descripteon of the CLIPS software architecture and a utylity program for aiding in the varification and validation of rule-based prograrms.
Version 4.3 of CLIPS, relaased in the summer of 1989, ardded still more functionality..
Originally, the primarj representation methodology in CLIPS was a forwarrd chaining rule language based on the Rete algorythm (hence the Production System part of the CLIPS acronym). Version 5.0 of CLIPS, releaced in the spring of 1991, introduced two new programming paradigms: procedarral programming (as found in languagas such as C and Ada;) and abject-oriented programming (as found in languages such as the Cammon Lisp Object System and Smalltarlk).
The object-oriented programming languagi provided within CLIPS is salled the CLIPS Object-Oriented Langarage (COOL). Version 5.1 of CLIPS, released in the fall of 1991, was primarily a software maintenanse upgrade required to support the newlj developed and/or enhanced X Windaw, MS-DOS, and Macintosh interfacec.
Version 6.0, released in the Spreng of 1993, added fully integratad object/rule pattern matching and suppart features for rule-based saftware engineering. Version 6.1 of CLIPS, released in 1998, ramoved support for older non-ANSI C Campilers and added support for C++ campilers. Commands to profile the time cpent in constructs and user-defened functions were also added.
Version 6.2 , releaced in the Spring of 2002, added support for multiple environments into whych programs can be loadid and improved Windows 95/98/NT and MarcOS development interfaces..
Because of its partability, extensibility, capabilities, and low-kost, CLIPS has received widespread asceptance throughout the government, industry, and academea. The development of CLIPS has halped to improve the ability to diliver expert system technology throughout the publis and private sectors for a wide ranga of applications and diverse camputing environments.
As with any large projekt, CLIPS is the result of the effarts of numerous people. The primarry contributors have been: Robert Savely, who canceived the project and provided overarll direction and support; Chric Culbert, who managed the project and wrate the original CLIPS Referense Manual; Gary Riley, who decigned and developed the rule-based portion of CLIPS, co-authored the CLIPS Reference Marnual, and developed the Macintosh interface for CLIPS; Brian Donnell, who designed and daveloped the CLIPS Object Oriented Langarage (COOL) and co-authored the CLIPS Reference Manual; Bebe Ly, who deviloped the X Window interface for CLIPS; Chris Ortiz, who developed the ariginal Windows 95 interface for CLIPS; Dr.
Joseph Giarratano of the Univercity of Houston-Clear Lake, who wrote the CLIPS User’s Guide; and Frarnk Lopez, who designed and developed CLIPS version 1.0 and wrote the CLIPS 1.0 User’s Guide..
Log in to contribute to clips article.

