tem, which is the first major step toward its under-
standing or transformation into a system that better
reflects the quality needs of the application domain.
This paper presents a migrating proposal, that inte-
grates different techniques and mechanisms to guide
and help software engineers in redesign and rebuild of
software systems, using transformations from object-
oriented to aspect-oriented paradigm.
This integration has the goal of guiding the user in
the task of retrieving the system design, according to
the aspect-oriented paradigm, willing to get a better
degree of reuse and develop a system that is easier to
maintain. It also helps to improve development pro-
ductivity and support for changes in the requirements.
Additionally, an evaluation was accomplished to
show the reengineering proccess usefulness. By fol-
lowing the Phoenix, it could be verified that the
AOSD brings several and important benefits to soft-
ware development. The way as the aspects is com-
bined with the system modules allows the inclusion
of additional responsibilities without committing the
clarity of the code, maintainability, reusability, and
providing a greate reliability.
As a future work, the possibility of using the Ob-
ject Management Group (OMG) Model Driven De-
velopment (MDD) in the Phoenix approach is being
studied to enable rapid design, development, modifi-
cation and deployment of the aspect-oriented appli-
cation. The idea is that through MVCASE, the Soft-
ware Engineer could generate complete, working ap-
plications directly from a visual model, in this case an
UML+AO specifications, and using active synchro-
nization to keep both model and code up to date dur-
ing rapid application changes.
Graphical visualization of the possible crosscutting
concerns source code is also being developed. In this
way, the task of identifying different concerns in the
legacy system should be facilitated.
REFERENCES
Almeida, E., Bianchini, C., Prado, A., and Trevelin, L.
(2002). MVCASE: An integrating technologies tool
for distributed component-based software develop-
ment. In Proceedings of the 6th Asia-Pacific Net-
work Operations and Management Symposium. (AP-
NOMS’2002) Poster Session. IEEE Computer Society
Press.
Alvaro, A., Lucr
´
edio, D., Garcia, V. C., de Almeida, E. S.,
do Prado, A. F., and Trevelin, L. C. (2003). Orion-RE:
A Component-Based Software Reengineering Envi-
ronment. In Proceedings of the 10th Working Con-
ference on Reverse Engineering (WCRE), pages 248–
257. IEEE Computer Society Press.
Bayer, J. (2000). Towards engineering product lines using
concerns. In Workshop on Multi-Dimensional Sep-
aration of Concerns in Software Engineering (ICSE
2000).
Caldiera, G. and Basili, V. R. (1991). Identifying and quali-
fying reusable software components. IEEE Computer,
24(2):61–71.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J.
(1995). Design Patterns - Elements of Reusable
Object-Oriented Software. Addison Wesley Profes-
sional Computing Series. Addison-Wesley.
Garcia, V. C., Lucr
´
edio, D., Frota, L., Alvaro, A.,
de Almeida, E. S., and do Prado, A. F. (2004a). A case
tool for aspect-oriented software development (in por-
tuguese). In XI Tools Section - XVIII Brazilian Sym-
posium on Software Engineering (SBES 2004). ISBN
85-7669-004-7.
Garcia, V. C., Lucr
´
edio, D., do Prado, A. F., de Almeida,
E. S., and Alvaro, A. (2004b). Using aspect min-
ing and refactoring to recover knowlegde embedded in
object-oriented legacy system. In Proceedings of the
IEEE International Conference on Information Reuse
and Integration (IEEE IRI-2004). IEEE Computer So-
ciety Press.
Garcia, V. C., Piveta, E. K., Lucr
´
edio, D., Alvaro, A.,
de Almeida, E. S., do Prado, A. F., and Zancanella,
L. C. (2004c). Manipulating Crosscutting Concerns.
4th Latin American Conference on Patterns Lan-
guages of Programming (SugarLoafPlop 2004).
Jacobson, I. and Lindstrom, F. (1991). Reengineering of
old systems to an object-oriented architecture. In Pro-
ceedings of the Object-Oriented Programming Sys-
tems, Languages, and Applications (OOPSLA’91),
pages 340–350. ACM Press.
Kendall, E. A. (2000). Reengineering for separation of con-
cerns. In Workshop on Multi-Dimensional Separation
of Concerns in Software Engineering (ICSE 2000).
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C.,
Lopes, C., Loingtier, J.-M., and Irwin, J. (1997).
Aspect-Oriented Programming. In Proceedings of the
11st European Conference Object-Oriented Program-
ming (ECOOP’97), volume 1241 of LNCS, pages
220–242. Springer Verlag.
Lee, E., Lee, B., Shin, W., and Wu, C. (2003). A reengi-
neering process for migrating from an object-oriented
legacy system to a component-based system. In Pro-
ceedings of the 27th Annual International Computer
Software and Applications Conference (COMPSAC),
pages 336–341. IEEE Computer Society Press.
Leite, J. C., Sant’anna, M., and Freitas, F. G. (1994). Draco-
PUC: A Technology Assembly for Domain Oriented
Software Development. In Proceedings of the 3rd In-
ternational Conference on Software Reuse (ICSR’94),
pages 94–100. IEEE Computer Society Press.
Ross, D. T. (1977). Structured analysis (SA): A language
for communicating ideas. IEEE Transactions on Soft-
ware Engineering, 3(1):16–34. Special collection on
Requirement Analysis.
TOWARDS AN APPROACH FOR ASPECT-ORIENTED SOFTWARE REENGINEERING
279