Título: Una herramienta para la fusión de programas puramente funcionales Marco de Trabajo: PROYECTO GRADO Área de desarrollo: Métodos Formales Autor: Facundo Domínguez Contacto: fdomin@fing.edu.uy Día: VIERNES Hora: 16:00:00 Palabras Claves: fusión de programas, recursión Resumen: Desde que se empieza a escribir software a gran escala, la elaboración de metodologías que permitan escribir, verificar, mantener y reusar el código se han vuelto el centro de estudio del área que hoy se conoce como Ingeniería de Software. Con los años, diversos paradigmas de programación y metodologías de desarrollo, construidos para resolver estos problemas, han fomentado intensamente la construcción y el uso de componentes modulares que son combinadas para obtener soluciones a problemas concretos. El empleo de componentes modulares en el paradigma de programación funcional acarrea la necesidad de manipular estructuras de datos que sirvan como medio de comunicación entre unas y otras. Dependiendo de la situación, el uso intenso de un diseño de estas características puede ser un factor de ineficiencia debido a la generación y consumo de las estructuras de datos intermedias. Muchas veces ocurre que si el diseño no se hubiese hecho modular el programa seguramente sería menos claro, pero más eficiente, dado que no tendría que computar el fardo de tales estructuras. Existen técnicas de transformación de programas funcionales, que dado un programa escrito en forma modular, pueden combinar diferentes partes del mismo para construir un programa equivalente que no emplee estas estructuras de datos intermedias. En los últimos años, han aparecido trabajos que apuntan a automatizar estas técnicas para poder incluirlas dentro de las etapas de un compilador. Así, los desarrolladores de software pueden beneficiarse del diseño modular sin preocuparse por cuestiones de eficiencia. El objetivo de esta charla es presentar una implementación de un sistema que realiza automáticamente algunas de estas transformaciones sobre programas escritos en Haskell. El presente trabajo se desarrolla en el marcado de un proyecto CSIC [1] y forma parte de nuestro proyecto de grado. [1] Fusión de programas recursivos con efectos. Proyecto CSIC I+D, Responsable: Alberto Pardo, 2002-2004. |
Ultima modificacion 5 de Octubre 2004 16:30 |