Skip to main content

Improving Extensibility of Object-Oriented Frameworks with Aspect-Oriented Programming

  • Conference paper
Reuse of Off-the-Shelf Components (ICSR 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4039))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alves, V., Matos, P., Cole, L., Borba, P., Ramalho, G.: Extracting and Evolving Mobile Games Product Lines. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 70–81. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  2. Batory, D., Cardone, R., Smaragdakis, Y.: Object-Oriented Frameworks and Product-Lines. In: 1st Software Product-Line Conference (SPLC) Denver, August 1999, pp. 227–248 (1999)

    Google Scholar 

  3. Cacho, N., et al.: Composing Design Patterns: A Scalability Study of Aspect-Oriented Programming. In: Proceedings of AOSD 2006, Bonn, Germany (2006)

    Google Scholar 

  4. Chavez, C., Garcia, A., Kulesza, U., Sant’Anna, C., Lucena, C.: Taming Heterogeneous Aspects with Crosscutting Interfaces. Journal of the Brazilian Computer Society (to appear, 2006)

    Google Scholar 

  5. Codenie, W., et al.: From Custom Applications to Domain-Specific Frameworks. Communications of the ACM 40(10) (October 1997)

    Google Scholar 

  6. Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)

    Google Scholar 

  7. Fayad, M., Schmidt, D., Johnson, R.: Building Application Frameworks: Object-Oriented Foundations of Framework Design. John Wiley & Sons, Chichester (1999)

    Google Scholar 

  8. Gamma, E., et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  9. Garcia, A.: From Objects to Agents: An Aspect-Oriented Approach. PhD Thesis, Computer Science Department, PUC-Rio (April 2004)

    Google Scholar 

  10. Griswold, W., et al.: Modular Software Design with Crosscutting Interfaces. IEEE Software, Special Issue on Aspect-Oriented Programming (January 2006)

    Google Scholar 

  11. Hannemann, J., Kiczales, G.: Design Pattern Implementation in Java and AspectJ. In: Proceedings of OOPSLA 2002, pp. 161–173 (2002)

    Google Scholar 

  12. Kiczales, G., et al.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  13. Kiczales, G., et al.: Getting Started with AspectJ. Comm. ACM 44, 59–65 (2001)

    Article  Google Scholar 

  14. Kulesza, U., et al.: A Generative Approach for Multi-Agent System Development. In: Choren, R., Garcia, A., Lucena, C., Romanovsky, A. (eds.) SELMAS 2004. LNCS, vol. 3390, pp. 52–69. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  15. Kulesza, U., et al.: Implementing Framework Crosscutting Extensions with XPIs and AspectJ., Technical Report, PUC-Rio, Brazil (April 2006)

    Google Scholar 

  16. Kulesza, U., Garcia, A., Bleasby, F., Lucena, C.: Instantiating and Customizing Product Line Architectures using Aspects and Crosscutting Feature Models. In: Proceedings of the Workshop on Early Aspects, OOPSLA 2005, San Diego (2005)

    Google Scholar 

  17. Kulesza, U., Garcia, A., Lucena, C.: Composing Object-Oriented Frameworks with Aspect-Oriented Programming. Technical Report, PUC-Rio, Brazil (April 2006)

    Google Scholar 

  18. Kvale, A., et al.: A Case Study on Building COTS-Based System using Aspect-Oriented Programming. In: Proceedings of SAC 2005, pp. 1491–1498 (2005)

    Google Scholar 

  19. Mattson, M., Bosch, J., Fayad, M.: Framework Integration: Problems, Causes, Solutions. Communications of the ACM 42(10), 80–87 (1999)

    Article  Google Scholar 

  20. Mattsson, M., Bosch, J.: Framework Composition: Problems, Causes, and Solutions. In: [7], pp. 467–487 (1999)

    Google Scholar 

  21. Mezini, M., Ostermann, K.: Variability Management with Feature-Oriented Program-ming and Aspects. In: Proceedings of FSE 2004, pp. 127–136 (2004)

    Google Scholar 

  22. Mezini, M., Ostermann, K.: Conquering Aspects with Caesar. In: Proc. of AOSD 2003, Boston, Massachusetts, USA, March 17-21, 2003, pp. 90–99 (2003)

    Google Scholar 

  23. Riehle, D., Gross, T.: Role Model Based Framework Design and Integration. In: Proceedings of OOPSLA 1998, Vancouver, BC, Canada, October 18-22, 1998, pp. 117–133 (1998)

    Google Scholar 

  24. Smaragdakis, Y., Batory, D.: Mixin Layers: An Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs. ACM TOSEM 11(2), 215–255 (2002)

    Article  Google Scholar 

  25. Sullivan, K., et al.: Information Hiding Interfaces for Aspect-Oriented Design. In: Proceedings of ESEC/FSE 2005, Lisbon, Portugal, September 5-9, 2005, pp. 166–175 (2005)

    Google Scholar 

  26. Zhang, C., Jacobsen, H.: Resolving Feature Convolution in Middleware Systems. In: Proceedings of OOPSLA 2004, Vancouver, BC, Canada, October 24-28, 2004, pp. 188–205 (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kulesza, U., Alves, V., Garcia, A., de Lucena, C.J.P., Borba, P. (2006). Improving Extensibility of Object-Oriented Frameworks with Aspect-Oriented Programming. In: Morisio, M. (eds) Reuse of Off-the-Shelf Components. ICSR 2006. Lecture Notes in Computer Science, vol 4039. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11763864_17

Download citation

  • DOI: https://doi.org/10.1007/11763864_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-34606-7

  • Online ISBN: 978-3-540-34607-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics