 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.

Slides:



Advertisements
Presentaciones similares
Tipos de software y su desarrollo
Advertisements

¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
Ingeniería del Software UMG Ingeniería en Sistemas
LENGUAJES DE PROGRAMACIÓN
Unidad II Interfaces Hombre Máquina
Lenguajes de programación
INSTITUTO TECNOLOGICO DE MINATITLAN
 Es un sistema operativo desarrollado y comercializado por Apple.  Mac OS es un sistema perfecto que sólo funciona en ordenadores Apple, este sistema.
Introducción a la Programación
Tipos de Servicios Web.
INFOPATH.
Framework Hexápodo PHP fácil, rápido y sin dolor
Programación 1 Introducción
Ingeniería del Software
PROGRAMACION ORIENTADA
Software La buena programación no se aprende de generalidades, sino viendo cómo los programas significativos pueden hacerse claros, “fáciles” de leer,
Introducción al Software
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
 El termino OO, significa que el software es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos.
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Conforme a su cronología
1 LENGUAJES DE PROGRAMACIÓN Javier Martín Centro Asociado de Móstoles UNED.
DISEÑO DE SOFTWARE 1ª. Parte
LENGUAJE DE PROGRAMACIÓN
 Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas.
TIPOS DE SOFTWARE Se denomina software a un programa, equipamiento lógico o soporte lógico necesario para hacer posible la realización de una tarea con.
SISTEMAS OPERATIVOS EQUIPO 9: GRUPO: Luna Rodríguez Diana Alejandra
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
Metodología para solución de problemas
Ingeniería en Sistemas de Información
FUNDAMENTOS DE PROGRAMACION
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
 Un LENGUAJE DE PROGRAMACION es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas al cabo por maquinas como las computadoras.
PROYECTO INFORMÁTICO.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Sistemas Operativos.
MIME EXTENSIONES DE CORREO INTERNET MULTIPROPÓSITO. SERIE DE ESPECIFICACIONES DIRIGIDAS AL INTERCAMBIO TRANSPARENTE DE TODO TIPO DE ARCHIVOS A TRAVÉS DE.
Cristian Fonnegra Marin
SISTEMAS OPERATIVOS PRESENTADO POR: JOHANN SEBASTIAN PENAGOS.
INTRODUCCION. Microsoft es la empresa fabricante de los distintos Sistemas o plataformas operativas conocidas como Windows los cuales nos han permitido.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES.
SOFTWARE Jennifer Giselle De Diego Romero NL:9
Desarrollo DE apps móviles
Sistema operativo Por: Santiago Betancur Henao. Que es? Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los.
CALIDAD Y VALIDACIÓN DE SISTEMAS EXPERTOS
Lenguajes de Programación
SISTEMAS OPERATIVOS.
III. DESARROLLO DE SISTEMAS.. Podemos definir el desarrollo de sistemas informáticos como el proceso mediante el cual el conocimiento humano y el uso.
Ingeniería de Requerimientos
Software.
SISTEMAS OPERATIVOS Un sistema Operativo (SO) es en sí mismo un programa de computadora. Sin embargo, es un programa muy especial, quizá el más complejo.
UNITEC NEGOCIOS ELECTRÓNICOS ”DESARROLLO DE SOFTWARE ”
María Camila Restrepo C. Mantener la Operatividad del sistema
Desarrollo DE apps móviles
Software.
Tendencia De Los Sistemas Operativos
Proceso de desarrollo de Software
¿Qué es una plataforma educativa virtual? Se entiende por plataforma educativa como un sitio en la Web, que permite a un profesor contar con un espacio.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Fundamentos de Programación Unidad I Conceptos Básicos.
SOFTWARE DE COMPUTADORAS
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Herramientas de Office. Que es Office Microsoft Office es una suite ofimática que abarca el mercado completo en Internet e interrelaciona aplicaciones.
Juan Camilo Morales 10a.  Es el conjunto de herramientas que permiten al programador escribir programas informáticos, usando diferentes alternativas.
Requerimientos del software
Entregables del Proyecto
=MARCOS DE TRABAJO ORIENTADO A OBJETOS= « NETBEANS » INTEGRANTES: SOTELO CORTES JESVAN FIDEL JIMENEZ ALFARO ARTURO CAMARA.
Transcripción de la presentación:

 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.

 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.

 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.

 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.MacOS  Actualmente, CLIPS es mantenido fuera de la NASA como software de dominio público.

 Representación del Conocimiento: CLIPS permite manejar una amplia variedad de conocimiento, soportando tres paradigmas de programación: el declarativo, el imperativo, y el orientado a objetos. La programación lógica basada en reglas permite que el conocimiento sea representado como reglas heurísticas que especifican las acciones a ser ejecutadas dada una situación. La POO permite modelar sistemas complejos como componentes modulares. La programación imperativa permite ejecutar algoritmos de la misma manera que en C, Java, LISP y otros lenguajes.

 Portabilidad: CLIPS fue escrito en C con el fin de hacerlo más portable y rápido, y ha sido instalado en diversos sistemas operativos (Windows 95/98/NT, MacOS X, Unix) sin ser necesario modificar su código fuente. CLIPS puede ser ejecutado en cualquier sistema con un compilador ANSI de C, o un compilador de C++. El código fuente de CLIPS puede ser modificado en caso que el usuario lo considere necesario, con el fin de agregar o quitar funcionalidades.

 Integrabilidad: CLIPS puede ser embebido en código imperativo, invocado como una sub-rutina, e integrado con lenguajes como C, Java, FORTRAN y otros. CLIPS incorpora un completo lenguaje orientado a objetos (COOL) para la elaboración de sistemas expertos. Aunque está escrito en C, su interfaz más próxima se parece a LISP. Pueden escribirse extensiones a CLIPS sobre C, y al contrario, CLIPS puede ser llamado desde C. CLIPS puede ser extendido por el usuario mediante el uso de protocolos definidos.

 Desarrollo Interactivo: La versión estándar de CLIPS provee un ambiente de desarrollo interactivo y basado en texto; este incluye herramientas para la depuración, ayuda en línea, y un editor integrado. Las interfaces de este ambiente tienen menús, editores y ventanas que han sido desarrollados para MacOS, Windows 95/98/NT, X Window, entre otros.

 Verificación/Validación: CLIPS contiene funcionalidades que permiten verificar las reglas incluidas en el sistema experto que está siendo desarrollado, incluyendo diseño modular y particionamiento de la base de conocimientos del sistema, chequeo de restricciones estático y dinámico para funciones y algunos tipos de datos, y análisis semántico de reglas para prevenir posibles inconsistencias.

 Documentación: En la página web oficial de CLIPS se encuentra una extensa documentación que incluye un Manual de Referencia y una Guía del Usuario.  Bajo Costo: CLIPS es un software de dominio público.

 Como otros lenguajes para sistemas expertos, CLIPS estructura el conocimiento en hechos y reglas. Los hecho son información sobre el entorno que se usa para razonar. Mientras que las reglas son los elementos que permiten que el sistema evolucione, normalmente modificando hechos. Esa modificación puede ser directa sobre la base de hechos almacenada o como consecuencia de cambios en el entorno (por ejemplo, si una regla mueve un robot sus sensores proporcionarán hechos distintos en la siguiente lectura).

 A modo de ejemplo, supongamos un sistema en el que almacenamos hechos sobre personas y edades. Para ello necesitaríamos una plantilla adecuada:

 Y después podríamos crear hechos sobre personas de la siguiente forma:

 En el fragmento de código de arriba se han definido 3 hechos: existe un objeto de la clase persona con nombre "Manolo" y edad 54, otro objeto de la clase persona con nombre "Ignacio" y edad 18 y por último otro de la clase persona con nombre "Marisa" y edad 34.

 CLIPS puede ser encontrado en sourceforge