CLIPS

CLIPS es una herramienta que provee un entorno de desarrollo para la producción y ejecución de sistemas expertos. Fue creado a partir de 1984, en el Lyndon B. Johnson Space Center de la NASA. Los fondos cesaron a principios de los años 1990, y hubo un mandato de la NASA para comprar software comercial.

CLIPS es un acrónimo de C Language Integrated Production System (Sistema de Producción Integrado en Lenguaje C). En la actualidad, entre los paradigmas de programación que soporta CLIPS se encuentran la Programación lógica, la Programación imperativa y la Programación Orientada a Objetos.

CLIPS probablemente es el sistema experto más ampliamente usado debido a que es rápido, eficiente y gratuito. Aunque ahora es de dominio público, aún es actualizado y mantenido por su autor original, Gary Riley.

Historia y motivación

Durante el año 1984, en el Lyndon B. Johnson Space Center, la sección de Inteligencia Artificial había desarrollado alrededor de una docena de prototipos de sistemas expertos usando hardware y software de aquella época. A pesar del demostrado potencial de los sistemas expertos, la mayoría de aquellos prototipos no estaban siendo usados regularmente. Según la NASA esto se debió a que el lenguaje de programación usado para el desarrollo de estas aplicaciones era LISP. Se encontraron varias debilidades de LISP, entre las que se destacan tres: no estaba disponible para una amplia variedad de equipos de cómputo, no era fácilmente integrable con otras aplicaciones, y su costo era muy elevado.

La sección de Inteligencia Artificial notó que el uso de un lenguaje convencional (como C) eliminaría la mayoría de esos inconvenientes. Al principio se buscó que la nueva herramienta fuera desarrollada por terceros, pero los costos aún eran demasiado altos y los tiempos de entrega no eran satisfactorios. Por lo tanto, fue necesario que la sección de Inteligencia Artificial desarrollara su propio lenguaje para sistemas expertos basado en C.

Primeras versiones

El primer prototipo de CLIPS fue desarrollado durante la primavera (boreal) de 1985, y tomó poco más de dos meses. Era compatible con todos los desarrollos hechos por la sección de Inteligencia Artificial, y su sintaxis estaba basada en la sintaxis de ART (otra herramienta para el desarrollo de sistemas expertos). Sin embargo, CLIPS fue desarrollado sin tener acceso o haber conocido previamente el código fuente de ART.

Inicialmente, con el desarrollo de CLIPS se buscaba tener mayor conocimiento sobre la construcción de sistemas expertos y sentar las bases de un lenguaje para reemplazar las herramientas comerciales que estaban siendo usadas. La versión 1.0 de CLIPS demostró que eso era posible. Después de un desarrollo adicional, se vio que el costo de CLIPS sería significativamente menor al de otras herramientas y que sería ideal para entrenamiento. Otro año de desarrollo y de uso interno sirvió para mejorar portabilidad, desempeño, funcionalidad y documentación de soporte. A mediados de 1986, CLIPS v3.0 estuvo disponible para grupos fuera de la NASA.

Madurez y expansión

Otras funcionalidades agregadas transformaron CLIPS; ya no era una herramienta para entrenamiento sobre construcción de sistemas expertos, sino que ahora servía también para el desarrollo y ejecución de los mismos. Las versiones CLIPS v4.0 y v4.1 (1987) tenían significativas mejoras en cuanto a desempeño, integración con otros lenguajes, y capacidad de ejecución. CLIPS v4.2 (1988) fue una completa re-escritura del código fuente con el fin de hacerlo más modular. Esta versión también incluyó un manual detallado de la arquitectura de CLIPS y una aplicación de ayuda para la verificación y validación de programas basados en reglas. Nuevas funcionalidades vinieron con la CLIPS v4.3 (1989).

Originalmente, CLIPS era un lenguaje de reglas basado en el Algoritmo Rete (Programación Lógica). CLIPS v5.0 (1991) introdujo dos nuevos paradigmas de programación: Programación Imperativa y Programación Orientada a Objetos (POO). El lenguaje POO dentro de CLIPS es llamado COOL (CLIPS Object-Oriented Language, o Lenguaje Orientado a Objetos de CLIPS). CLIPS v5.1 (1991) ya soportaba las recientemente desarrolladas o mejoradas interfaces X Window, MS-DOS y Macintosh. CLIPS v6.0 (1993) tenía nuevas funcionalidades relacionadas con el reconocimiento de patrones en objetos/reglas y soporte a Ingeniería de Software basada en reglas. CLIPS v6.1 (1998) soportaba compiladores C++, aunque ya no soportaba los viejos compiladores C no ANSI. También se agregaron comandos para llevar control del tiempo de desarrollo y para funciones definidas por el usuario. CLIPS v6.2 es soportada por diversos sistemas operativos, y tiene mejoras en su interfaz de desarrollo para Windows 95/98/NT y MacOS.

Actualmente, CLIPS es mantenido fuera de la NASA como software de dominio público.

Other Languages
Deutsch: CLIPS
English: CLIPS
français: Clips (langage)
galego: CLIPS
italiano: CLIPS
日本語: CLIPS
македонски: CLIPS
Nederlands: CLIPS
polski: CLIPS
română: CLIPS
русский: CLIPS
svenska: Clips
українська: CLIPS