Abstract
Object-Oriented Software Reengineering (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 is that direct transformation from OO code to AO one needs of several design decisions due to differences of both paradigms. To make this transformation more controlled and systematic, we propose the use of concern-based refactorings, supported by class models. It allows design decisions to be made during the reengineering process, improving the quality of the final models. 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 another obtained without the aid of them. The data obtained indicated that the use of the proposed refactorings improved the efficacy and productivity of maintenance groups during the process of software reengineering.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Parreira Júnior, P.A., et al.: Concern-based refactorings supported by class models to reengineer object-oriented software into aspect-oriented ones. In: International Conference on Enterprise Information Systems (ICEIS), 2013, Angers/FR (2013)
Boger, M., Sturm, T.: Tools-support for model-driven software engineering. In: Proceedings of Practical UML-Based Rigorous Development Methods (2001)
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, Lille, France (2009)
Evermann, J.: A metalevel specification and profile for aspectj in UML. In: AOSD. Victoria University Wellington, Wellington (2007)
Figueiredo, E., Sant’Anna, C., Garcia, A., Lucena, C.: Applying and evaluating concern-sensitive design heuristics. In: Brazilian Symposium on Software Engineering, Fortaleza (2009)
Gamma, E., Helm, R., Johnsn, R., Vlisside, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Hannemann, J., Kiczales, G.: Design pattern implementation in java and aspectj. In: Conference on Object-Oriented Programming Systems, Languages and Applications. SIGPLAN Notices, Vol. 37(11), pp. 161–173. ACM (2002)
Hannemann, J., Murphy, G.C., Kiczales, G.: Role-based refactoring of crosscutting concerns. In: AOSD, New York, pp. 135–146, (2005)
Hannemann, J.: Aspect-oriented refactoring: classification and challenges. In: International Workshop On Linking Aspect Technology and Evolution, Bonn (2006)
Iwamoto, M., Zhao, J.: Refactoring aspect-oriented programs. In: International Workshop On Aspect-Oriented Modeling With UML, Boston, pp. 1–7 (2003)
JSpider. j-spider.sourceforge.net/. Accessed January 2013
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-C., Irwin, J.: Aspect-oriented programming. In: Akşit, Mehmet, Matsuoka, Satoshi (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Marin, M., Moonen, L., Van Deursen, A.: An approach to aspect refactoring based on crosscutting concern types. Sigsoft Softw. Eng. Notes 30(4), 1–5 (2005)
Monteiro, M.P., Fernandes, J.M.: Towards a catalogue of refactorings and code smells for aspectj. In: Rashid, A., Akşit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 214–258. Springer, Heidelberg (2006)
Montgomery, D.C.: Design and Analysis of Experiments, 5th edn. Wiley, New York (2000)
Parreira Júnior, P.A.: Recovering aspect-oriented class models from object-oriented systems by model-based refactorings. Master Dissertation. UFSCar, São Carlos. Brazil (2011) (in Portuguese)
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, São Paulo/SP (2011) (in Portuguese)
Piveta, E., Moreira, A., Pimenta, M., Araújo, J., Guerreiro, P., Price, T.: Avoiding bad smells in aspect-oriented software. In: International Conference on Software Engineering and Knowledge Engineering, Boston, pp. 81–87 (2007)
Da Silva, B.C., Figueiredo, E., Garcia, A., Nunes, D.: Refactoring of crosscutting concerns with metaphor-based heuristics. Electron. Notes Theor. Comput. Sci. (Entcs) 233, 105–125 (2009)
Soares, S., Laureano, E., Borba, P.: Implementing distribution and persistence aspects with AspectJ. In: ACM Conference OOPSLA’02, pp. 174–190 (2002)
Van Gorp, P., Stenten, H., Mens, T., Demeyer, S.: Towards Automating Source-Consistent UML Refactorings. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 144–158. Springer, Heidelberg (2003)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Júnior, P.A.P., Penteado, R.D., Viana, M.C., Durelli, R.S., de Camargo, V.V., Costa, H.A.X. (2014). Reengineering of Object-Oriented Software into Aspect-Oriented Ones Supported by Class Models. In: Hammoudi, S., Cordeiro, J., Maciaszek, L., Filipe, J. (eds) Enterprise Information Systems. ICEIS 2013. Lecture Notes in Business Information Processing, vol 190. Springer, Cham. https://doi.org/10.1007/978-3-319-09492-2_18
Download citation
DOI: https://doi.org/10.1007/978-3-319-09492-2_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-09491-5
Online ISBN: 978-3-319-09492-2
eBook Packages: Computer ScienceComputer Science (R0)