El lenguaje de aspectos amistoso Casper
Author
Professor Advisor
Abstract
Mientras los programas se vuelven más complejos, nacen nuevos problemas. Uno de ellos es la poca modularidad que se tiene con las llamadas funcionalidades transversales. Estas funcionalidades están dispersas por toda la aplicación y no pueden separarse mediante el paradigma de la programación orientada a objetos. Para solucionar este problema nace el paradigma de la programación orientada a aspectos.
En la programación orientada a aspectos se modularizan las funcionalidades trans- versales en una entidad llamada aspecto. El aspecto se ejecuta donde corresponde gracias a que, conceptualmente, el programa se está monitoreando por el aspecto en toda su ejecución, decidiendo cuando se debe ejecutar una acción provista por el aspecto. La- mentablemente, el monitoreo de la aplicación conlleva a un sobrecosto que, muchas veces, los desarrolladores no están dispuestos a pagar.
En este trabajo se presenta Casper, un lenguaje orientado a aspectos construido sobre Pharo Smalltalk. Las características más importantes buscadas por Casper son la simplicidad de uso, la explicitud de lo que sucede con los aspectos y bajar el sobrecosto de la ejecución de los programas que utilicen Casper.
Casper basa sus funcionalidades en PHANtom. PHANtom es un lenguaje de aspectos construidos sobre Pharo Smalltalk. Ambos lenguajes tienen sintaxis similares, pero las implementaciones son muy diferentes. Casper busca mejorar los sobrecostos generados al usar PHANtom. Para ello Casper propone compilar las funcionalidades dadas por los aspectos junto con los métodos originales. Gracias a la compilación, Casper expone las funcionalidades al desarrollador, en cambio, PHANtom esconde las funcionalidades y nunca muestra de forma explícita donde se ejecuta una funcionalidad transversal.
Se comprobó el uso de Casper refactorizando SPY. SPY es un framework para el aná- lisis dinámico de programas. SPY instrumentaliza los métodos que se quieren analizar. Casper provee la instrumentalización de SPY con aspectos. Se realizaron pruebas sobre SPY versus SPY con Casper versus SPY con PHANtom. Se tomaron los tiempos sobre la preparación de la aplicación misma y lo que demora en ejecutar. Estos resultados comprueban un sobrecosto del uso de aspectos en la aplicación. Sin embargo, también demuestra que la ejecución de la refactorización de SPY con Casper es mucho menos costosa que la refactorización de SPY usando PHANtom.
General note
Ingeniero Civil en Computación
Identifier
URI: https://repositorio.uchile.cl/handle/2250/113918
Collections