Concern-based Refactorings Supported by Class Models to Reengineer Object-Oriented Software into Aspect-Oriented Ones

Paulo Afonso Parreira Júnior, Matheus Carvalho Viana, Rafael Serapilha Durelli, Valter Vieira de Camargo, Heitor Augustus Xavier Costa, Rosângela Aparecida Dellosso Penteado

2013

Abstract

Reengineering Object-Oriented Software (OO) into Aspect-Oriented Software (AO) is a challenging task, mainly when it is done by means of refactorings in the code-level. The reason for it is that direct transformations from OO code to AO one involve several design decisions due to syntactic and semantic differences of both paradigms. To make this task more controlled and systematic, we can make use of concern-based refactorings supported by models. This type of refactorings concentrates on transforming broader scenarios into a set of context-dependent scenarios, rather than specific ones, as in code-level refactorings. In this paper we propose a set of concern-based refactorings that allows design decisions to be made during the reengineering process, improving the quality of the final models. Two of them are presented in more details in this paper. An example is presented to assess the applicability of the proposed refactorings. Moreover, we also present a case study, in which AO class models created based on the refactorings are compared with AO class models obtained without the aid of these refactorings. The data obtained in this case study indicated to us that the use of the proposed refactorings can improve the efficacy and productivity of a maintenance group during the process of software reengineering.

References

  1. Analyse-it. Statistical analysis software for researchers in environmental & life sciences, engineering, manufacturing and education. Available in: http://www.analyse-it.com/. Accessed on: Jan/2013.
  2. Boger, Marko and Sturm, Thorsten. “Tools-support for Model-Driven Software Engineering”, In Proceedings of Practical UML-Based Rigorous Development Methods. (2001).
  3. Costa, H. A. X. ; Parreira Júnior, P. A. ; Camargo, V. V. ; Penteado, R. A. D. . “Recovering Class Models Stereotyped With Crosscutting Concerns”. In: Session Tool of XVI Working Conference on Reverse Engineering (WCRE), Lille, França. (2009).
  4. Evermann, J. “A MetaLevel Specification and Profile for AspectJ in UML”. Victoria University Wellington, Wellington, New Zealand. AOSD - Aspect Oriented Software Development. (2007).
  5. Figueiredo E., Sant'Anna C., Garcia A., and Lucena C. Applying and Evaluating Concern-Sensitive Design Heuristics. In Proceedings of the 23rd Brazilian Symposium on Software Engineering Fortaleza, 2009.
  6. Gamma, E., Helm, R., Johnsn, R., Vlisside, J. “Design Patterns: Elements of Reusable Object-Oriented Software”. Addison-Wesley, (1995).
  7. Hannemann, J., and Kiczales, G. Design Pattern Implementation in Java and AspectJ. In Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2002) SIGPLAN Notices, Vol. 37, N°11, ACM 161-173 (2002).
  8. Hannemann, J.; Murphy, G. C.; Kiczales, G. Role-Based Refactoring Of Crosscutting Concerns. In Procedings of the Aspect-Oriented Software Development, New York, Usa. P.135-146. (2005).
  9. Hannemann, J. “Aspect-Oriented Refactoring: classification and challenges”. In Procedings of the International Workshop On Linking Aspect Technology And Evolution, Bonn, Germany. p. 1-5 (2006).
  10. Iwamoto, M.; Zhao, J. Refactoring Aspect-Oriented Programs. In Procedings of the International Workshop On Aspect-Oriented Modeling With UML, Boston, USA P. 1-7 (2003).
  11. JSpider. The Open Source Web Robot. Available in: jspider.sourceforge.net/. Accessed at: Jan. 2013.
  12. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., Irwin, J. “Aspect-Oriented Programming”. 11th European Conference on ObjectOriented Programming. v. 241 de LNCS, p. 220-242. Springer-Verlag (1997).
  13. Marin, M.; Moonen, L.; Van Deursen, A. An Approach To Aspect Refactoring Based On Crosscutting Concern Types. Sigsoft Software Engineering Notes, V.30, N.4, P.1-5. (2005).
  14. Monteiro, M. P.; Fernandes, J. M. L. Towards A Catalogue Of Refactorings And Code Smells For Aspectj. Transactions On Aspect Oriented Software Development (Taosd) - Lecture Notes In Computer Science, N.3880, P.214-258 (2006).
  15. Montgomery, D. C., Design and Analysis of Experiments, 5 ed., Wiley, 2000.
  16. Parreira Júnior, P. A. “Recovering Aspect-Oriented Class Models from Object-Oriented Systems by Modelbased Refactorings”. Master Dissertation. UFSCar. São Carlos. Brazil. 2011 (available only in portuguese).
  17. Parreira Júnior, P. A.; Penteado, R. A. D.; Camargo, V. V.; Costa, H. A. X. “Mobre: Refactoring from Annotated OO Class Models to AO Class Models”. In: CBSoft Tools Session, 2011, São Paulo/SP. II Brazilian Conference on Software: Theory and Practice (CBSoft), 2011 (to be publish in portuguese).
  18. Piveta, E. K. et al. “Avoiding Bad Smells In AspectOriented Software”. In: International Conference On Software Engineering And Knowledge Engineering - Seke, Boston, Usa, 2007. Proceedings... Boston: Seke 2007. P.81-87.
  19. Silva, B. et al. Refactoring Of Crosscutting Concerns With Metaphor-Based Heuristics. Electronic Notes In Theoretical Computer Science (Entcs), Vol. 233, P. 105-125. (2009).
  20. Soares, S., Laureano, E., and Borba, P. “Implementing distribution and persistence aspects with AspectJ”. In Procedings of the 17th ACM Conference OOPSLA'02, 174 -190. (2002).
  21. Van Gorp, P. Stenten, H. Mens, T. and Demeyer, S., “Towards Automating Source Consistent UML Refactorings,” Proc. Unified Modeling Language Conf. (2003).
Download


Paper Citation


in Harvard Style

Afonso Parreira Júnior P., Carvalho Viana M., Serapilha Durelli R., Vieira de Camargo V., Augustus Xavier Costa H. and Aparecida Dellosso Penteado R. (2013). Concern-based Refactorings Supported by Class Models to Reengineer Object-Oriented Software into Aspect-Oriented Ones . In Proceedings of the 15th International Conference on Enterprise Information Systems - Volume 2: ICEIS, ISBN 978-989-8565-60-0, pages 46-57. DOI: 10.5220/0004442200460057


in Bibtex Style

@conference{iceis13,
author={Paulo Afonso Parreira Júnior and Matheus Carvalho Viana and Rafael Serapilha Durelli and Valter Vieira de Camargo and Heitor Augustus Xavier Costa and Rosângela Aparecida Dellosso Penteado},
title={Concern-based Refactorings Supported by Class Models to Reengineer Object-Oriented Software into Aspect-Oriented Ones},
booktitle={Proceedings of the 15th International Conference on Enterprise Information Systems - Volume 2: ICEIS,},
year={2013},
pages={46-57},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004442200460057},
isbn={978-989-8565-60-0},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 15th International Conference on Enterprise Information Systems - Volume 2: ICEIS,
TI - Concern-based Refactorings Supported by Class Models to Reengineer Object-Oriented Software into Aspect-Oriented Ones
SN - 978-989-8565-60-0
AU - Afonso Parreira Júnior P.
AU - Carvalho Viana M.
AU - Serapilha Durelli R.
AU - Vieira de Camargo V.
AU - Augustus Xavier Costa H.
AU - Aparecida Dellosso Penteado R.
PY - 2013
SP - 46
EP - 57
DO - 10.5220/0004442200460057