CLIP Lab
The Computational logic, Languages, Implementation, and Parallelism Laboratory

Welcome to CLIP Lab

CLIP El Grupo de Investigación CLIP -Facultad de Informática UPM

Áreas de trabajo


El grupo de Computación Lógica, Implementación y Paralelismo (CLIP --
http://cliplab.org) inició su actividad investigadora en la Facultad de Informática en 1990. Desde entonces se ha esforzado en obtener resultados que conjuguen la producción de tecnología con una clara aplicación práctica y la investigación de calidad.

Las áreas de investigación del grupo se centran en la Programación Lógica y de Restricciones, fundamentalmente en los campos de análisis de programas, implementación de sistemas secuenciales y paralelos, visualización y entornos de desarrollo de programas (incluyendo depuración e interfaces de usuario). Fruto de este trabajo son más de 100 publicaciones en revistas y actas de congresos internacionales y la participación en numerosos proyectos de investigación. Los resultados de la investigación del grupo han ido apareciendo en un buen número de productos conocidos en el área.

El entorno de programación lógica y de restricciones Ciao Prolog es uno de los sistemas desarrollados por el grupo CLIP. Ciao Prolog es software libre distribuido con licencia GNU LGPL, y se está utilizando actualmente tanto en aplicaciones empresariales como en el entorno académico (constituye, por ejemplo, la plataforma principal del grupo para el desarrollo y la investigación). Entre las ventajas ofrecidas por Ciao Prolog resalta su extensibilidad, que ha permitido desarrollar muchas librerías que añaden funcionalidades significativas al sistema, tales como resolutores de restricciones, concurrencia, primitivas para la programación distribuida y de agentes inteligentes, persistencia, orden superior, objetos, interfaces a otros lenguajes de programación, etc. Como ejemplos podemos destacar la librería PiLLoW, posiblemente el componente más utilizado para la interconexión entre sistemas de programación lógica (y de restricciones) y la WWW, y LPdoc, un generador automático de documentación para sistemas de programación lógica y de restricciones, ambos distribuidos como software libre.

Asimismo, el grupo CLIP ha definido e implementado varios marcos de análisis estático de programas. El análisis estático permite obtener propiedades no triviales sobre el comportamiento de un programa sin necesidad de ejecutarlo. Sus aplicaciones son muy amplias: desde la detección automática de posibilidades de paralelismo a la mejora de la eficiencia mediante compilación optimizante, pasando por la detección automática de inconsistencias en los programas con el fin de auxiliar al programador y de guiar las herramientas de depuración. Todas las técnicas mencionadas se han integrado en un preprocesador genérico que puede parametrizarse y ampliarse para analizar diferentes propiedades en diversas variantes de lenguajes lógicos y de restricciones. El grupo también ha desarrollado técnicas para la visualización de la ejecución de programas, tanto secuenciales como paralelos, en 2D y 3D.

Cooperación internacional y proyectos de investigación


Entre las actividades del grupo ha destacado siempre su participación en organizaciones de carácter académico y en proyectos de investigación al más alto nivel. Es actualmente uno de los nodos fundadores de CologNet, la recientemente iniciada Red de Excelencia en Lógica Computacional, donde coordina el área de Tecnologías de Implementación de Sistemas de Lógica Computacional. Pertenece también a AgentLink, la Red de Excelencia Europea en Computación basada en Agentes y ha formado parte del grupo de trabajo sobre restricciones de la ERCIM, el programa europeo HCM Abile y en las redes de excelencia COMPULOG II y III.

El grupo ha participado (y participa) asimismo en numerosos proyectos de investigación nacionales e internacionales. Entre ellos podemos citar los europeos ASAP, AMOS, DiSCiPl, Radioweb, Vocal, ACCLAIM, ParForCe, PEPMA y PRINCE, los españoles CUBICO, EDIPIA, ELLA e IPL-D, y los de colaboración Fulbright y NATO-NSF entre España y Estados Unidos, entre otros. En todos ellos el trabajo ha girado en torno al desarrollo e implementación de sistemas programación lógica y el análisis estático para éstos. Como ejemplos, el ya terminado proyecto DiSCiPl versaba sobre técnicas de depuración de programas lógicos y de restricciones, utilizando análisis estático y visualización, y el recientemente iniciado AMOS (www.amosproject.org) se centra en el uso de herramientas y técnicas de programación lógica para auxiliar en la construcción de programas utilizando componentes de software libre.

La calidad del grupo ha atraído la visita de numerosos investigadores de reconocido prestigio internacional, que han permanecido con nosotros por períodos que van desde algunos días a varios meses. Estas estancias se complementan con visitas de miembros del grupo a otas universidades y centros de investigación, y con estancias en la Facultad de estudiantes de licenciatura y doctorado de otras universidades extranjeras.

La labor académica desarrollada se completa con la participación en el desarrollo de congresos en el área de lenguajes de programación, tanto como miembros del comité de programa como en la organización de los mismos. En particular, el año pasado, el grupo CLIP organizó un evento conjunto que incluyó el Simposio Internacional de Análisis Estático (SAS'02) y el Workshop Internacional sobre Desarrollo y Transformación de Programas (LOPSTR'02).

Finalmente, se ha mantenido colaboración con un gran número de empresas en diferentes proyectos. De entre ellas podemos destacar SAGE, Iberdrola, Ibermática, Motorola Inc. (E.E.U.U.), Conecta (Italia), PrologIA (Francia), Cosytec (Francia), OM Partners (Bélgica) y Dalet (Israel). El sistema Ciao Prolog se está utilizando en empresas para el desarrollo de diversos productos que incluyen interfaces WWW, sistemas B2B y de agentes.

Colaboración e información de contacto


El grupo está siempre interesado en la admisión de alumnos colaboradores. Los aspirantes pueden ser tanto estudiantes de cualquier curso que quieran introducirse en el mundo académico y de la investigación como licenciados con interés en realizar una tesis doctoral, pasando por alumnos que deseen realizar un buen trabajo de fin de carrera. No es requisito imprescindible tener conocimientos previos, pero se valorará el expediente académico y el deseo de aprendizaje. Para colaborar con el grupo CLIP es necesario entregar un currículum vitae (incluyendo expediente académico) a:

Astrid Beascoa, D-2301
abeascoa@cliplab.org
Facultad de Informática - UPM
E-28660 Boadilla del Monte, Madrid, SPAIN