Apoio computacional para auxiliar a reengenharia de sistemas legados Java para AspectJ
Resumen
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.