jueves, 11 de diciembre de 2008

Viernes 19/12 , 16:30 hrs: Defensa Tesis de Reingeniería de Jerarquías Polimórficas Utilizando Traits

Nuevamente estoy con poco tiempo para postear... tengo pendiente seguir con los tips que presente en Smalltalks 2008, pero por ahora copio esta invitación a la defensa de tesis de Claudio y Nicolás que además dieron una presentación muy buena en Smalltalks 2008 sobre este tema...
----------------
Invitamos a todos a la defensa de la siguiente tesis de licenciatura, que
se llevará a cabo el Viernes 19 de Diciembre a las 16:30 hrs, aula a
confirmar:

Título: "Reingeniería de Jerarquías Polimórficas Utilizando Traits"

Alumnos: Acciaresi, Claudio y Buttarelli, Nicolás Martín
Director: Hernán Wilkinson
Jurados: Máximo Prieto, Gabriela Arévalo
--------------------------------------------------------------------
Resumen
Los Traits son una nueva herramienta de modelado que permite al
programador compartir comportamiento entre objetos sin utilizar la
subclasificación. Este nuevo concepto fue llevado a Smalltalk en el año
2003 y desde entonces a la actualidad se realizaron varios trabajos
utilizando Traits. Sin embargo, la mayoría de estos aborda el tema desde
un punto de vista más bien práctico realizando refactorizaciones de
jerarquías ya implementadas. Este trabajo en cambio, estudia a los Traits
en un marco teórico donde se considera que programar no es otra cosa que
representar conocimiento.
Para cumplir con este objetivo se reimplementó la jerarquía de Collection
utilizando Traits.  Una vez generado el nuevo modelo se realizó un
análisis del mismo en comparación con la jerarquía implementada en el
ambiente de desarrollo elegido: Squeak. Dicho análisis se basó en la
definición e implementación de métricas de calidad y de performance
tomadas sobre ambos modelos.
Durante el desarrollo se encontraron un conjunto de ventajas y desventajas
en el uso de esta nueva herramienta, pero además, se redefinieron los
Traits como la reificación de características comunes entre objetos. De
esta manera, se separa el concepto de Traits con el de eliminar código
duplicado, y se analiza si el hecho de reificar características comunes
entre los objetos del dominio nos ayuda a crear mejores modelos
computacionales de la realidad.