Ver todos los grupos »

Laboratorio de Computación lógica, Lenguajes, Implementación, y Paralelismo (CLIP Lab)

Universidad Politécnica de Madrid

Responsable: Manuel Hermenegildo

Contacto: Manuel Hermenegildo

Cloud Computing, Ingeniería de Servicios, Internet de las Cosas, Métodos formales, Paradigmas de Programación, Requisitos, calidad y pruebas

El CLIP Lab es un grupo de investigación dinámico, con importante
presencia internacional e impacto, que ha estado activo durante más de
veinticinco años, desde su fundación en 1989 por Manuel
Hermenegildo. Sus principales áreas de investigación incluyen la
implementación de lenguajes de programación declarativos, análisis de
programas y verificación, uso eficiente y simple de arquitecturas
paralelas y distribuidas, extensión de lenguajes declarativos a otros
paradigmas de programación (por ejemplo, restricciones, objetos,
agentes, movilidad, etc.), implementación de sistemas secuenciales y
paralelos, así como entornos de desarrollo de programas (incluida la
depuración estática / dinámica e interfaces de usuario) y la
computación basada en servicios.

El grupo ha desarrollado, entre otros, el lenguaje multiparadigma y
entorno de desarrollo de programas Ciao, con licencia LGPL. Ciao se
utiliza tanto en aplicaciones industriales como académicas, y es la
plataforma principal para el desarrollo aplicaciones basadas en
lógica, realizar investigación en lenguajes multiparadigma, y explorar
el análisis avanzado de programas. Ciao ofrece exclusivas
posibilidades de extensión que han permitido escribir muchas
bibliotecas que aportan una funcionalidad significativa, como
resolutores de restricciones, concurrencia, primitivas de programación
distribuida y de agentes, persistencia, orden superior, objetos,
interfaces con lenguajes externos, etc. En este contexto, CLIP también
ha desarrollado la biblioteca PiLLoW, posiblemente la biblioteca más
utilizada para la creación de interfaces de sistemas de programación
lógica (y de restricciones) con la WWW. El grupo también ha
desarrollado y distribuido libremente un generador de documentación
automática para sistemas de programación basados en lógica (LPdoc).

El grupo también ha definido e implementado varios marcos de análisis
estático tanto para lenguajes lógicos con restricciones como para Java
(incluido Java bytecode), y lenguajes imperativos (C), incluyendo
representaciones de programas de bajo nivel, como ensamblador o LLVM.
Dichos marcos de análisis se han utilizado para un gran rango de
aplicaciones que van desde la detección automática de paralelismo, a
la verificación y certificación de propiedades tales como el consumo
de energía o el tiempo de ejecución, o al aumento del rendimiento
mediante una mejor compilación. La información obtenida por dichos
análisis también se ha utilizado para descubrir inconsistencias con
respecto a aserciones del programa para guiar herramientas de
depuración estática / dinámica. Todas estas técnicas están integradas
en un preprocesador genérico, CiaoPP. El grupo también ha desarrollado
varias técnicas para la visualización en 2D y 3D del comportamiento en
tiempo de ejecución de programas (con restricciones).

El grupo ha estado involucrado en más de 50 proyectos de investigación
europeos, grupos de trabajo y redes temáticas, así como otros
proyectos internacinales y nacionales. Entre los más recientes se
incluyen los proyectos activos TRACES, N-GREENS y StrongSoft, así como
los ya terminados ENTRA, POLCA, PROMETIDOS-CM, DOVES, HATS, SCUBE,
ES_PASS, MOBIUS, MERIT y PROMESAS-CM.

Los miembros del grupo han publicado también más de 300 artículos en
revistas congresos de primer nivel, tales como POPL, PLDI, SAS, ICLP,
FLOPS, etc.

Además, el grupo ha realizado y mantiene intensas colaboraciones con
la industria (Motorola, Apple, ATOS, Telefónica I + D, DEIMOS Space,
ISOCO, GTD, Indra, Cadena Ser, Dalet, Airbus, etc.) y muchos
institutos de investigación (en particular, somos parte del IMDEA
Software Institute). En particular, el sistema Ciao, así como algunas
herramientas relacionadas, están siendo utilizados por la industria en
el desarrollo de varios productos. En este sentido, el sistema Ciao ha
sido un relevante vehículo de demostración y transferencia de
tecnología sobre análisis, verificación, depuración, optimización e
implementación desarrolladas por el grupo a lo largo de los años.

Muchos de los egresados del grupo se encuentran ahora en importantes
instituciones y empresas internacionales (Universidad de Texas en
Austin, Universidad de Melbourne, NASA, SRI, IBM, Microsoft, Google,
Motorola, por nombrar algunos).

Visitar sitio web »