Defensa Tesis Licenciatura Pablo Revert y Andrés Taján
Título: Reificación de relaciones en lenguajes orientados a objetos. Director: Lic. Dan Rozenfarb
| Qué |
|
|---|---|
| Cuándo |
11/12/2009 de 09:00 am a 10:00 am |
| Dónde | Aula 11, Pabellon 1 |
| Agregar evento al calendario |
|
- Título: Reificación de relaciones en lenguajes orientados a objetos
- Director: Lic. Dan Rozenfarb
- Jurados: Lic. Máximo Prieto, Dr. Diego Garbervetsky
- Resumen
Generalmente, cuando apreciamos que dos entidades mantienen un vínculo, decimos que se encuentran relacionadas. De esta forma podemos comprender el significado de “Juan es padre de Pedro”. Si más tarde se nos presenta el vínculo “Mario es padre de Jorge”, vemos que éstas poseen cierta semejanza. Llamamos Relación a esta idea de semejanza.Una Relación describe la “forma” que tendrán los vínculos que de ella se desprendan.
Los lenguajes y técnicas de modelado orientado a objetos (OO) -comoUML- han popularizado el uso de Clases y Relaciones para describir y diseñar software. Sin embargo, los lenguajes de programación carecen de elementos sintácticos y semánticos para expresar Relaciones directamente. Esto lleva al programador a implementarlas en forma ad-hoc y facilita que la abstracción se pierda en el código. En esta tésis estudiamos las consecuencias de reificar la abstracción “Relación” en los lenguajes de programación OO. Así, mientras desarrollamos un modelo conceptual, prototipamos un framework en Smalltalk Squeak.
Comprobamos que el ambiente resultante ofrece importantes beneficios al pensar y elaborar programas. Un estilo de programación más declarativo, con transiciones más naturales entre un diseño e su implementación; nuevas posibilidades al definir atributos y colaboraciones entre objetos (gracias a las a la reificación de relación, rol y vínculo); una sencilla integración con herramientas de de nivel meta (ej. persistencia, interfaz de usuario, distribución); soporte a sharing anticipado y no anticipado; objetos con protocolos uniformes, inferidos de la mera definición de la la relación; son algunas de ellos.
Finalmente, lo prometedor de los resultados obtenidos y la naturalidad y fluidez con que el modelo evolucionó en forma paradigmática hacia otras áreas o dominios de problema (ej. Programación orientada a roles, Traits, Metaprogramación) invita a continuar explorando las posibilidades y límites de esta línea de investigación.


