Mineração de interesses no processo de modernização dirigida a arquitetura
![Thumbnail](/bitstream/handle/ufscar/549/5515.pdf.jpg?sequence=5&isAllowed=y)
Visualizar/ Abrir
Data
2013-08-27Autor
Santibáñez, Daniel Gustavo San Martín
Metadata
Mostrar registro completoResumo
Software systems are considered legacy when they were developed many years ago with outdated technologies and their maintenance process consumes a large amount of resources. One cause of these problems is the inadequate modularization of its crosscutting concerns. In this situation, an alternative is to modernize the system with a new language to provide better support for concern modularization. ADM (Architecture-Driven Modernization) is an OMG model-driven proposal to modernize legacy systems and consist of a set of metamodels in which the main metamodel is KDM (Knowledge Discovery Metamodel), which allows to represent all the characteristics of a system. The modernization process begins with reverse engineering to represent the legacy system in a KDM model. Thereafter, refactorings can be applied to the model and then generate the modernized code. However, the current proposals do not support crosscutting concerns modularization. This occurs because the first step is to identify the elements which contribute with the implementation of a particular concern and it is not supplied by ADM. In this sense, this dissertation presents an approach for mining crosscutting concerns in KDM models, thus establishing the first step towards to a Concern-Driven modernization. The approach is a combination of two techniques, a concern library and a modified K-means clustering algorithm, which comprises four steps where the input is a KDM model and the result is the same KDM model with annotated concerns and some log files. In addition, we developed an Eclipse plugin called CCKDM to implement the approach. An evaluation was performed involving three software systems. The results show that for systems using APIs to implement their concerns the developed technique is an effective method for identifying them, achieving good values of precision and recall.