Composing design patterns: a scalability study of aspect-oriented programming

  • Authors:
  • Nelio Cacho;Claudio Sant'Anna;Eduardo Figueiredo;Alessandro Garcia;Thais Batista;Carlos Lucena

  • Affiliations:
  • Lancaster University, United Kingdom;Pontifical Catholic University of Rio de Janeiro - PUC-Rio, Brazil;Pontifical Catholic University of Rio de Janeiro - PUC-Rio, Brazil;Lancaster University, United Kingdom;Federal University of Rio Grande do Norte - UFRN, Brazil;Pontifical Catholic University of Rio de Janeiro - PUC-Rio, Brazil

  • Venue:
  • Proceedings of the 5th international conference on Aspect-oriented software development
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Pattern composition has been shown as a challenge to applying design patterns in real software systems. One of the main problems is that multiple design patterns in a system are not limited to affect only the application concerns. They also crosscut each other in multiple heterogeneous ways so that their separation and composition are far from being trivial. In this context, it is of paramount importance to systematically verify whether aspect-oriented programming (AOP) supports improved composability of design patterns. This paper presents a systematic investigation on how AOP scales up to deal with modularization of pattern-specific concerns in the presence of pattern interactions. We have made both qualitative and quantitative assessments of 62 pairwise compositions taken from 3 medium-sized systems implemented in Java and AspectJ programming languages. Our analysis has also included the evaluation of compositions involving more than two patterns. The assessment was based on four fundamental software attributes, namely separation of concerns, coupling, cohesion, and conciseness.