Title :
Towards reusable components with aspects
Author :
Hoffman, Kevin ; Eugster, Patrick
Author_Institution :
Purdue Univ., West Lafayette, IN
Abstract :
The potential of aspect-oriented programming to represent cross-cutting concerns as reusable components has yet to be fully realized. Indeed, authors have detailed significant challenges in creating reusable aspect component libraries. Proposed solutions include restricting the power of aspects upfront, inferring concern interaction, and shaping base code to conform to abstract design rules. Another proposed strategy is to reduce obliviousness in return for increased modularity by extending AspectJ with explicit join points (EJPs). This paper presents the results of an empirical case study that aides in the understanding of the tradeoffs between obliviousness and modularity. We present a refactoring of the exception handling concern for three real-life Java applications to use EJPs instead of oblivious aspects. The empirical differences between this version and an equivalent oblivious version are analyzed. Finally, we present guiding principles on how to strike a favorable balance between obliviousness and modularity.
Keywords :
Java; configuration management; exception handling; object-oriented programming; software libraries; software maintenance; software reusability; AspectJ; Java applications; abstract design rules; aspect-oriented programming; equivalent oblivious version; exception handling refactoring; explicit join points; reusable aspect component libraries; Application software; Design engineering; Java; Libraries; Multidimensional systems; Permission; Programming; Security; Software design; Software quality; aspect-oriented programming; case study; modularity;
Conference_Titel :
Software Engineering, 2008. ICSE '08. ACM/IEEE 30th International Conference on
Conference_Location :
Leipzig
Print_ISBN :
978-1-4244-4486-1
Electronic_ISBN :
0270-5257
DOI :
10.1145/1368088.1368102