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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Weiss, D., Lai, C.T.R.: Software Product-Line Engineering. A Family-Based Software Development Process. Addison-Wesley (1999)
Homepage of PuLSETM, http://www.iese.fhg.de/pulse/
Homepage of the PoLITe project, http://www.polite-project.de/
Homepage of the ViSEK project (in German), http://www.visek.de/
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)
Cointe, P. (ed.): ECOOP 1996. LNCS, vol. 1098. Springer, Heidelberg (1996)
Stroustrup, B.: The C++ programming language, 3rd edn. Addison-Wesley, Reading (1997)
Basset, P.: Framing Software Reuse. Lessons From the Real World. Yourdon Press (1997)
Czarnecki, K., Eisenecker, U.: Generative Programming. Methods, Tools and Applications. Addison-Wesley, Reading (2000)
Elrad, T., Filman, R.E., Bader, A.: Aspect-oriented Programming. COMMUNICATIONS OF THE ACMÂ 44(10) (2001)
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)
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)
Coplien, J.O.: Multi-Paradigm Design for C++. Addison-Wesley, Reading (1999)
Atkinson, C., et al.: Component-based Product Line Engineering with UML. Component Software Series. Addison-Wesley, Reading (2001)
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)
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)
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)
Krueger, C.: Towards a Taxonomy for Software Product Lines. In: Proceedings of the 5th International Workshop on Product Family Engineering, Siena, Italy (November 2003)
Fritsch, C., Lehn, A., Strohm, D.T.: Evaluating Variability Implementation Mechanisms. In: Proceedings of International Workshop on Product Line Engineering, Seatle, USA (2002)
Czarnecki, K., Eisenecker, U.W.: Generative Programming, Methods, Tools, and Applications. Addison-Wesley, Reading (2000)
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)
Kiczales, G., et al.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
The AspectJ Programming Guide, the AspectJ team, Xerox Corporation, 2002-2003 Palo Alto Research Center
Svahnberg, M.: Supporting Software Architecture Evolution. Blekinge Institute of Technology Doctoral Dissertation Series No 2003:03.
Homepage of the Eclipse project, http://www.eclipse.org/
Homepage of Ant, http://ant.apache.org/
Homepage of T9, http://www.t9.com/
Jacobson, I.: Use Cases and Aspects–Working Seamlessly Together, IBM Corporation (2003), available at http://www.ivarjacobson.com
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)
Patzke, T., Muthig, D.: Product Line Implementation with Frame Technology: A Case Study, IESE-Report No. 018.03/E (March 2003)
Alexander, R.: The Real Costs of Aspect-Oriented Programming, Quality Time. IEEE Software (November/December 2003)
Elrad, T., Moderator, Aksit, M., Kiczales, G., Lieberherr, K., HaroldOssher, Panelists: Discussing Aspects of AOP. Communications of the ACMÂ 44(10) (October 2001)
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
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)
Laddad, R.: AspectJ in Action. Manning Publications (June 2003)
Krueger, D.C.W.: Software Mass Customization, BigLever Software Inc. (October 2001), http://www.biglever.com
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)
Macke, S.: Generative Programmierung mit AspectJ (in german), Diploma Thesis, Fachhochschule Kaiserslautern, Angewandte Informatik (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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