Modularizing design patterns with aspects: a quantitative study

  • Authors:
  • Alessandro Garcia;Cláudio Sant'Anna;Eduardo Figueiredo;Uirá Kulesza;Carlos Lucena;Arndt von Staa

  • Affiliations:
  • Computing Department, InfoLab 21, Lancaster University, Lancaster, United Kingdom;Computer Science Department, LES, SoC+Agents Group, PUC-Rio, Rio de Janeiro, RJ, Brazil;Computer Science Department, LES, SoC+Agents Group, PUC-Rio, Rio de Janeiro, RJ, Brazil;Computer Science Department, LES, SoC+Agents Group, PUC-Rio, Rio de Janeiro, RJ, Brazil;Computer Science Department, LES, SoC+Agents Group, PUC-Rio, Rio de Janeiro, RJ, Brazil;Computer Science Department, LES, SoC+Agents Group, PUC-Rio, Rio de Janeiro, RJ, Brazil

  • Venue:
  • Transactions on Aspect-Oriented Software Development I
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Design patterns offer flexible solutions to common problems in software development. Recent studies have shown that several design patterns involve crosscutting concerns. Unfortunately, object-oriented (OO) abstractions are often not able to modularize those crosscutting concerns, which in turn compromise the system reusability and maintainability. Hence, it is important verifying whether aspect-oriented approaches support improved modularization of crosscutting concerns relative to design patterns. Ideally, quantitative studies should be performed to compare OO and aspect-oriented implementations of classical patterns with respect to fundamental software engineering attributes, such as coupling and cohesion. This paper presents a quantitative study that compares Java and AspectJ solutions for the 23 Gang-of-Four patterns. We have used stringent software attributes as the assessment criteria. We have found that most aspect-oriented solutions improve separation of pattern-related concerns, although only four aspect-oriented implementations have exhibited significant reuse. This paper also discusses the scalability of the analyzed solutions with respect to separation of concerns, and the determination of a predictive model for the modularization of design patterns with aspects.