[en] AN ASPECT-ORIENTED APPROACH TO FRAMEWORK DEVE LOPMENT - UIRA KULESZA (2007)
[pt] Esse trabalho propõe uma abordagem sistemática para o desenvolvimento de frameworks usando técnicas orientadas a aspectos (OA). O objetivo central da abordagem é melhorar a capacidade de extensão e configuração de frameworks orientados a objetos (OO) para diferentes cenários de reutilização, através de uma melhor gerência de suas características. A abordagem é composta por: (i) um conjunto de diretrizes para o projeto e implementação de frameworks usando programação orientada a aspectos; e (ii) um modelo generativo usado para a instanciação automática do framework e suas variabilidades OO e OA. As diretrizes propõem a definição de um conjunto de pontos de junção de extensão (EJPs - extension join points) no código do framework, os quais podem ser usados para estender a funcionalidade básica do framework através da implementação de aspectos de extensão. Tais aspectos são responsáveis pela implementação de características transversais opcionais, alternativas ou de integração demandadas por usuários do framework. A abordagem é demonstrada com a implementação / refatoração de 3 frameworks OO pertencentes a diferentes domínios de aplicação. Uma avaliação da abordagem por meio de um estudo qualitativo e um estudo quantitativo é também apresentada. Finalmente, diversas lições aprendidas e discussões resultantes da experiência de uso da abordagem são descritas.