Apoio computacional para auxiliar a reengenharia de sistemas legados Java para AspectJ - Kawakami, Daniel (2007)
Guidelines that conduce the reengineering from legacy systems implemented in Java language to Aspect-Oriented language, AspectJ, preserving the original functionality, was proposed in the Aspecting method. Some case studies based on Aspecting was performed and it inferred that the reduction of efforts could be observed if computational support had been created previously and used. The List of Indications (of aspects) originally specified in Aspecting used lexical analysis for identification of crosscutting concerns found in Java code. Therefore, an Indication Model was presented in this paper in order to perform identification of crosscutting concerns in legacy code by syntactic analysis, using AST (Abstract Syntax Tree) and reorganization of Java code to AspectJ. The resulting system has enhancements in its internal structure, due to the separation of crosscutting concerns and elimination of problems related to scattering and tangling of code, observing better modularization, legibility and maintenance of system. A computational support that automates some of guidelines of system reengineering makes this migration process possible. Thus computational support called ReJAsp (apoio computacional para Reengenharia de sistemas Java para AspectJ) was built as plug-in of Integrated Development Environment Eclipse. The evaluation of ReJAsp was performed as case studies using systems written in Java, one of them found at Internet and others developed by students of computer science course of UFSCar.