Implementing Framework Crosscutting Extensions with EJPs and AspectJ - Kulesza, Uirá; Coelho, Roberta; Alves, Vander; Costa Neto, Alberto; Garcia, Alessandro; Lucena, Carlos; von Staa, Arndt; Borba, Paulo (Anais do Simpósio Brasileiro de Engenharia de Software (SBES); 2006: Anais do XX Simpósio Brasileiro de Engenharia de SoftwareDO - 10.5753/sbes.2006.21212, 2006)
Uma abordagem para extensão de frameworks baseada em um novo conceito, denominado Extension Join Points (EJPs), tem sido proposta anteriormente. EJPs possibilitam a extensão sistemática de frameworks, através do uso de aspectos de variabilidade e integração. Neste artigo, nós mostramos como os EJPs podem ser implementados usando os mecanismos da linguagem AspectJ. Para avaliar a utilidade dos EJPs no processo de extensão de frameworks, nós os utilizamos no desenvolvimento de 3 frameworks OO de diferentes domínios. Como um resultado de nossos estudos de caso, nós apresentamos: (i) uma categorização inicial de diferentes tipos de contratos entre frameworks, EJPs e aspectos, os quais podem ser implementados em AspectJ; e (ii) um conjunto de lições aprendidas quando especificando os EJPs.