Skip to main content

An Evaluation of Aspect-Oriented Programming as a Product Line Implementation Technology

  • Conference paper
Software Reuse: Methods, Techniques, and Tools (ICSR 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3107))

Included in the following conference series:

Abstract

A systematic approach for implementing software product lines is more than just a selection of techniques. Its selection should be based on a systematic analysis of technical requirements and constraints, as well as of the types of variabilities, which occur in a particular application domain and are relevant for the planned product line (PL). In addition, each technique should provide a set of guidelines and criteria that support developers in applying the techniques in a systematic and unified way. This paper presents a case study that was performed to evaluate aspect-oriented programming (AOP) as a PL implementation technology. The systematical evaluation is organized along a general evaluation schema for PL implementation technologies.

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. Weiss, D., Lai, C.T.R.: Software Product-Line Engineering. A Family-Based Software Development Process. Addison-Wesley (1999)

    Google Scholar 

  2. Homepage of PuLSETM, http://www.iese.fhg.de/pulse/

  3. Homepage of the PoLITe project, http://www.polite-project.de/

  4. Homepage of the ViSEK project (in German), http://www.visek.de/

  5. Muthig, D., Anastasopoulos, M., Laqua, R., Patzke, S.K.T.: Technology Dimensions of Product Line Implementation Approaches State-of-the-art and State-of-the-practice Survey, IESE-Report No. 051.02/E (September 2002)

    Google Scholar 

  6. Cointe, P. (ed.): ECOOP 1996. LNCS, vol. 1098. Springer, Heidelberg (1996)

    Google Scholar 

  7. Stroustrup, B.: The C++ programming language, 3rd edn. Addison-Wesley, Reading (1997)

    Google Scholar 

  8. Basset, P.: Framing Software Reuse. Lessons From the Real World. Yourdon Press (1997)

    Google Scholar 

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

    Google Scholar 

  10. Elrad, T., Filman, R.E., Bader, A.: Aspect-oriented Programming. COMMUNICATIONS OF THE ACM 44(10) (2001)

    Google Scholar 

  11. Bachmann, F., Bass, L.: Managing Variability in Software Architectures. In: proceedings of the Symposium on Software Reusability, SSR 2001, Toronto, Ontario, Canada, May 18-20 (2001)

    Google Scholar 

  12. McGregor, J.D.: The Evolution of Product Line Assets, Report Number CMU/SEI- 2003-TR-005, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, USA (June 2003)

    Google Scholar 

  13. Coplien, J.O.: Multi-Paradigm Design for C++. Addison-Wesley, Reading (1999)

    Google Scholar 

  14. Atkinson, C., et al.: Component-based Product Line Engineering with UML. Component Software Series. Addison-Wesley, Reading (2001)

    Google Scholar 

  15. Kolb, R., Muthig, D.: Challenges in Testing Software Product Lines. In: CONQUEST 2003. 7th Conference on Quality Engineering in Software Technology - Proceedings (2003), pp. 103–113 (2003)

    Google Scholar 

  16. McGregor, J.D.: Testing a Software Product Line, Report Number CMU/SEI-2001-TR- 022, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, USA (December 2001)

    Google Scholar 

  17. Hannemann, J., Kiczales, G.: Overcoming the prevalent decomposition of legacy code. In: Proc. of Workshop on Advanced Separation of Concerns at the International Conference on Software Engineering (ICSE), Toronto, Canada (2001)

    Google Scholar 

  18. Krueger, C.: Towards a Taxonomy for Software Product Lines. In: Proceedings of the 5th International Workshop on Product Family Engineering, Siena, Italy (November 2003)

    Google Scholar 

  19. Fritsch, C., Lehn, A., Strohm, D.T.: Evaluating Variability Implementation Mechanisms. In: Proceedings of International Workshop on Product Line Engineering, Seatle, USA (2002)

    Google Scholar 

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

    Google Scholar 

  21. Tarr, P., Ossher, H., Harrison, W., Sutton, S.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: ICSE 1999 Conference Proceedings, pp. 107–119 (1999)

    Google Scholar 

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

    Chapter  Google Scholar 

  23. The AspectJ Programming Guide, the AspectJ team, Xerox Corporation, 2002-2003 Palo Alto Research Center

    Google Scholar 

  24. Svahnberg, M.: Supporting Software Architecture Evolution. Blekinge Institute of Technology Doctoral Dissertation Series No 2003:03.

    Google Scholar 

  25. Homepage of the Eclipse project, http://www.eclipse.org/

  26. Homepage of Ant, http://ant.apache.org/

  27. Homepage of T9, http://www.t9.com/

  28. Jacobson, I.: Use Cases and Aspects–Working Seamlessly Together, IBM Corporation (2003), available at http://www.ivarjacobson.com

  29. Batory, D., Liu, J., Sarvela, J.N.: Refinements and Multi-Dimensional Separation of Concerns. In: Proceedings of ESEC/FSE 2003, Helsinki, Finland, September 1-5 (2003)

    Google Scholar 

  30. Patzke, T., Muthig, D.: Product Line Implementation with Frame Technology: A Case Study, IESE-Report No. 018.03/E (March 2003)

    Google Scholar 

  31. Alexander, R.: The Real Costs of Aspect-Oriented Programming, Quality Time. IEEE Software (November/December 2003)

    Google Scholar 

  32. Elrad, T., Moderator, Aksit, M., Kiczales, G., Lieberherr, K., HaroldOssher, Panelists: Discussing Aspects of AOP. Communications of the ACM 44(10) (October 2001)

    Google Scholar 

  33. Lopez-Herrejon, R.E., Batory, D.: Using AspectJ to implement product lines, A case study, Technical Reports, Department of Computer Sciences, The University of Texas at Austin (2002), available at http://www.cs.utexas.edu

  34. Lopez-Herrejon, R.E., Batory, D.: A Standard Problem for Evaluating Product- Line Methodologies. In: Third International Conference on Generative and Component- Based Software Engineering, Erfurt, Germany (September 2001)

    Google Scholar 

  35. Laddad, R.: AspectJ in Action. Manning Publications (June 2003)

    Google Scholar 

  36. Krueger, D.C.W.: Software Mass Customization, BigLever Software Inc. (October 2001), http://www.biglever.com

  37. Beuche, D., Spinczyk, O.: Variant Management for Embedded Software Product Lines with Pure:Consul and AspectC+. In: Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, Anaheim, CA, USA (October 2003)

    Google Scholar 

  38. Macke, S.: Generative Programmierung mit AspectJ (in german), Diploma Thesis, Fachhochschule Kaiserslautern, Angewandte Informatik (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Anastasopoulos, M., Muthig, D. (2004). An Evaluation of Aspect-Oriented Programming as a Product Line Implementation Technology. In: Bosch, J., Krueger, C. (eds) Software Reuse: Methods, Techniques, and Tools. ICSR 2004. Lecture Notes in Computer Science, vol 3107. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27799-6_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-27799-6_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22335-1

  • Online ISBN: 978-3-540-27799-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics