Improving extensibility of object-oriented frameworks with aspect-oriented programming

  • Authors:
  • Uirá Kulesza;Vander Alves;Alessandro Garcia;Carlos J. P. de Lucena;Paulo Borba

  • Affiliations:
  • PUC-Rio, Computer Science Department, Rio de Janeiro, Brazil;Informatics Center, Federal University of Pernambuco, Recife, Brazil;Computing Department, Lancaster University, Lancaster, United Kingdom;PUC-Rio, Computer Science Department, Rio de Janeiro, Brazil;Informatics Center, Federal University of Pernambuco, Recife, Brazil

  • Venue:
  • ICSR'06 Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Object-oriented frameworks are nowadays a common and useful technology used in the implementation of software system families. Despite their benefits, over the last years many researchers have described the inadequacy of object-oriented mechanisms to address the modularization and composition of many framework features, thus reducing the extent to which a framework can be extended. The crosscutting nature of many framework features is identified as one of the main causes of these problems. In this paper, we analyze how aspect-oriented programming can help to improve the design, implementation, and extension of object-oriented frameworks. We propose the concept of Extension Join Points (EJPs) as a way of designing and documenting existing crosscutting extension points. EJPs improve framework extensibility, including superior composability of the framework core functionality with other modules or frameworks. Four case studies of frameworks from diverse domains are presented to illustrate our proposal. This paper also discusses lessons learned on the application of our approach to the development and extension of these frameworks.