Abstract
Modularity is the single attribute of software that allows a program to be intellectually manageable [29]. The recipe for modularizing is to define a narrow interface, hide an implementation detail, keep low coupling and high cohesion. Over a decade ago, aspect-oriented programming (AOP) was proposed in the literature to "modularize the un-modularizable" [24]. Since then, aspect-oriented languages have been providing new abstraction and composition mechanisms to deal with concerns that could not be modularized because of the limited abstractions of the underlying programming language. This paper is a continuation of our earlier work [32] and further investigates AO software with regard to coupling and cohesion. We compare two versions (Java and AspectJ) of ten applications to review AOP within the context of software modularity. It turns out that the claim that "the software built in AOP is more modular than the software built in OOP" is a myth. © 2011 Springer-Verlag.
Author supplied keywords
Cite
CITATION STYLE
Przybyłek, A. (2011). Where the truth lies: AOP and its impact on software modularity. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 6603 LNCS, pp. 447–461). https://doi.org/10.1007/978-3-642-19811-3_31
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.