Bad Smells em Sistemas Orientados a Aspectos

  • Eduardo Kessler Piveta UFRGS
  • Marcelo Hecht UFRGS
  • Marcelo Soares Pimenta UFRGS
  • Roberto Tom Price UFRGS

Resumo


Este artigo adapta um conjunto de bad smells que podem ocorrer em sistemas orientados a objetos para o contexto de sistemas orientados a aspectos. Esta adaptação é feita de forma a descrever os problemas que cada bad smell acarreta ao estar presente em aspectos e propor o uso de um conjunto de refatorações para auxiliar na remoção destes.

Referências

Boehm, B. W. and Sullivan, K. J. (2000). Software economics: a roadmap. In ICSE Future of SE Track, pages 319-343.

Czarnecki, K. and Eisenecker, U. W. (2000). Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Boston.

De Volder, K. (1998). Aspect-oriented logic meta programming. In Workshop on Aspect Oriented Programming (ECOOP 1998).

Elssamadisy, A. and Schalliol, G. (2002). Recognizing and responding to bad smells in extreme programming. In Proceedings of the 24th International conference on Software Engineering.

Fowler, M., Beck, K., Brant, J., Opdyke, W., and Roberts, D. (2000). Refactoring: improving the design of existing code. Object Technology Series. Addison-Wesley.

Garcia, V. C., Piveta, E. K., Lucrédio, D., Alvaro, A., de Almeida, E. S., do Prado, A. F., and Zancanella, L. C. (2004). Manipulating crosscutting concerns. 4th Latin American Conference on Patterns Languages of Programming (SugarLoafPlop 2004).

Hanenberg, S., Oberschulte, C., and Unland, R. (2003). Refactoring of aspect-oriented software. In Net.Object Days 2003.

Hannemann, J. and Kiczales, G. (2001). Overcoming the prevalent decomposition in legacy code. In Workshop on Advanced Separation of Concerns in Software Engineering (ICSE 2001).

Hilsdale, E. and Kiczales, G. (2001). Aspect-oriented programming with AspectJ. Proceedings of the 16th Object Oriented Programming Systems Languages and Applications (OOPSLA'2001). Tutorial. Tampa Bay, FL, USA.

Iwamoto, M. and Zhao, J. (2003). Refactoring aspect-oriented programs. In The 4th AOSD Modeling With UML Workshop, UML'2003.

Janzen, D. and Volder, K. D. (2003). Navigating and querying code without getting lost. In Aksit, M., editor, Proc. 2nd Int Conf. on Aspect-Oriented Software Development (AOSD-2003), pages 178-187. ACM Press.

Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., and Griswold, W. G. (2001). An overview of AspectJ. In Knudsen, J. L., editor, Proc. ECOOP 2001, LNCS 2072, pages 327-353, Berlin. Springer-Verlag.

Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., and Irwin, J. (1997). Aspect-oriented programming. In Akșit, M. and Matsuoka, S., editors, 11th Europeen Conf. Object-Oriented Programming, volume 1241 of LNCS, pages 220-242. Springer Verlag.

Knuth, D. E. (1984). The TEX Book. Addison-Wesley, 15th edition.

Lopes, C. V. (1997). D: A Language Framework for Distributed Programming. PhD thesis, College of Computer Science, Northeastern University.

Monteiro, M. P. and ao M. Fernandes, J. (2004). Object-to-aspect refactorings for feature extraction. In Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD'2004). ACM Press.

M.P. Monteiro, J. F. (2005). Towards a catalog of aspect-oriented refactorings. In Mezini, M., editor, Proc. 4th, Int Conf. on Aspect-Oriented Software Development (AOSD2005). ACM Press.

Murphy, G. C., Lai, A., Walker, R. J., and Robillard, M. P. (2001). Separating features in source code: An exploratory study. In Proc. 23rd Int'l Conf. Software Engineering, pages 275-284. IEEE Computer Society.

Ossher, H. and Tarr, P. (2001). The shape of things to come: Using multi-dimensional separation of concerns with Hyper/J to (re)shape evolving software. Comm. ACM, 44(10):43-50.

Robillard, M. P. and Murphy, G. C. (2002). Capturing concern descriptions during program navigation. In Workshop on Tools for Aspect-Oriented Software Development (OOPSLA 2002).

Tarr, P., Ossher, H., Harrison, W., and Sutton Jr., S. M. (1999). N degrees of separation: Multi-dimensional separation of concerns. In Proc. 21st Int'l Conf. Software Engineering (ICSE'1999), pages 107 - 119. IEEE Computer Society Press.
Publicado
03/10/2005
PIVETA, Eduardo Kessler; HECHT, Marcelo; PIMENTA, Marcelo Soares; PRICE, Roberto Tom. Bad Smells em Sistemas Orientados a Aspectos. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 19. , 2005, Uberlândia/MG. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2005 . p. 184-199. DOI: https://doi.org/10.5753/sbes.2005.23819.