Recuperação de modelos de classes orientados a aspectos a partir de sistemas orientados a objetos usando refatorações de modelos
Ver/
Fecha
2011-05-27Autor
Parreira Júnior, Paulo Afonso
Metadatos
Mostrar el registro completo del ítemResumen
Aspect-Oriented Programming allows encapsulating the so-called "Crosscutting Concerns (CCC) - software requirements whose implementation is tangled and scattered throughout the functional modules - into new abstractions, such as Aspects, Pointcuts, Advices and Inter-type Declarations. The reengineering of an OO software to an AO is not an easy task due to the existence of different abstractions in these technologies. We develop a set of nine refactorings of annotated OO class models to AO class models. In the context of this work, "annotated class models" are UML class diagrams whose elements (classes, interfaces, attributes and methods) are annotated with stereotypes representing the existing CCC in the application source code. The set of refactorings developed is divided into: i) generic refactorings; and ii) specific refactorings. Three generic refactorings and six specific refactorings to the persistence (which is divided into management and connections, transaction and synchronization) and logging concerns and to the Singleton and Observer design patterns were created. The generic refactorings are responsible for transforming an annotated OO model with indications of CCC into a partial AO model. This model is called partial because it is usually not fully modularized, i.e., there are remaining software elements stereotyped with indications of particular concerns. These refactorings are applicable to any kind of CCC; this is possible, because what is taken into consideration is the scenario in which these concerns appear in the class model. The specific refactorings are responsible for transforming partial AO models into final ones, whose CCC have been fully modularized in aspects. For that, each refactoring has a set of specific steps for modularization of a particular kind of concern. An Eclipse plug-in, called MoBRe was developed to assist the software engineer in the tasks of refactoring application. As a major contribution, the refactorings proposed in this paper allow obtaining well designed AO models. This is so because: i) they provide a step-by-step guide to the modularization of certain CCC and can avoid that software engineers choose inappropriate strategies for modularization of these CCC; and ii) they were prepared based on good design practices recommended by the scientific community. Thus, besides, the models the use of refactorings can lead to generation of better-quality code, for example, free of bad smells. A case study was conducted to assess the applicability of the proposed refactorings in order to compare an AO model generated by them with an AO model obtained from the literature.
Colecciones
Ítems relacionados
Mostrando ítems relacionados por Título, autor o materia.
-
Catálogo de padrões para o desenvolvimento de software como um serviço multi-tenant
Leite, Bruno Dias (Universidade Federal de São Carlos, UFSCar, Programa de Pós-Graduação em Ciência da Computação - PPGCC, , 20/10/2014)Software as a Service (SaaS) represent a form of software distribution on demand and accessible via the Internet. The development of SaaS enables service users (tenants) to benefit from the low cost of deployment and ... -
Reengenharia de interfaces utilizando Wrapping.
Affonso, Frank José (Universidade Federal de São Carlos, UFSCar, Programa de Pós-Graduação em Ciência da Computação - PPGCC, , 05/09/2003)With the technological evolution and the increasing utilization of the Internet, companies and governmental institutions have been looking for modern solution to replace and improve their legacy systems. These kind of ... -
Insight : uma abordagem guiada pela informação para análise qualitativa com suporte de visualização e mineração de texto
Hernandes, Elis Cristina Montoro (Universidade Federal de São Carlos, UFSCar, Programa de Pós-Graduação em Ciência da Computação - PPGCC, Câmpus São Carlos, 25/08/2014)Usually, experimental studies that are conducted to generate evidences on the different scientific fields produce many qualitative data to be analyzed by researchers. For instance, this is the case of defects lists ...