Skip to main content

Aspect-Oriented Model-Driven Software Product Line Engineering

  • Chapter

Part of the Lecture Notes in Computer Science book series (TAOSD,volume 5560)

Abstract

Software product line engineering aims to reduce development time, effort, cost, and complexity by taking advantage of the commonality within a portfolio of similar products. The effectiveness of a software product line approach directly depends on how well feature variability within the portfolio is implemented and managed throughout the development lifecycle, from early analysis through maintenance and evolution. This article presents an approach that facilitates variability implementation, management, and tracing by integrating model-driven and aspect-oriented software development. Features are separated in models and composed of aspect-oriented composition techniques on model level. Model transformations support the transition from problem to solution space models. Aspect-oriented techniques enable the explicit expression and modularization of variability on model, template, and code level. The presented concepts are illustrated with a case study of a home automation system.

Keywords

  • Software product line development
  • Aspect-oriented software development
  • Model-driven software development

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-642-03764-1_4
  • Chapter length: 42 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   64.99
Price excludes VAT (USA)
  • ISBN: 978-3-642-03764-1
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   84.99
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Anastasopoulos, M., Muthig, D.: An evaluation of aspect-oriented programming as a product line implementation technology. In: Bosch, J., Krueger, C. (eds.) ICOIN 2004 and ICSR 2004. LNCS, vol. 3107, pp. 141–156. Springer, Heidelberg (2004)

    Google Scholar 

  2. AOSD Community Wiki. Glossary (2007), http://www.aosd.net/wiki/

  3. Apel, S., Leich, T., Saake, G.: Aspectual mixin layers: aspects and features in concert. In: ICSE, pp. 122–131 (2006)

    Google Scholar 

  4. Aracic, I., Gasiunas, V., Mezini, M., Ostermann, K.: An overview of CaesarJ. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 135–173. Springer, Heidelberg (2006)

    CrossRef  Google Scholar 

  5. Baniassad, E.L.A., Clarke, S.: Theme: An approach for aspect-oriented analysis and design. In: ICSE, pp. 158–167 (2004)

    Google Scholar 

  6. Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. In: ICSE 2003: Proceedings of the 25th International Conference on Software Engineering, Washington, DC, USA, pp. 187–197. IEEE Computer Society, Los Alamitos (2003)

    Google Scholar 

  7. Beuche, D., Spinczyk, O.: Variant management for embedded software product lines with pure: : consul and aspectc++. In: OOPSLA Companion, pp. 108–109 (2003)

    Google Scholar 

  8. BigLever. Gears (2007), http://www.biglever.com/

  9. Chitchyan, R., Rashid, A., Sawyer, P., Garcia, A., Alarcon, M.P., Bakker, J., Tekinerdogan, B., Clarke, S., Jackson, A.: Report synthesizing state-of-the-art in aspect-oriented requirements engineering, architectures and design. Tech. Rep. AOSD-Europe Deliverable D11, AOSD-Europe-ULANC-9, Lancaster University (May 18, 2005)

    Google Scholar 

  10. Clements, P.C., Northrop, L.M.: Software Product Lines: Practices and Patterns. Addison Wesley, Reading (2001)

    Google Scholar 

  11. Coplien, J.O.: Multiparadigm Design for C++. Addison Wesley, Reading (1998)

    Google Scholar 

  12. Cottenier, T., van den Berg, A., Elrad, T.: Joinpoint inference from behavioral specification to implementation. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 476–500. Springer, Heidelberg (2007)

    CrossRef  Google Scholar 

  13. Czarnecki, K., Antkiewicz, M.: Mapping features to models: A template approach based on superimposed variants. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 422–437. Springer, Heidelberg (2005)

    CrossRef  Google Scholar 

  14. Eclipse. Eclipse modeling framework (EMF) (2007), http://www.eclipse.org/emf

  15. Eclipse. Graphical Modeling Framework (GMF) (2007), http://www.eclipse.org/gmf/

  16. eCos. Operating system (2007), http://ecos.sourceware.org/

  17. Fabro, M.D.D., Valduriez, P.: Semi-automatic model integration using matching transformations and weaving models. In: SAC, pp. 963–970 (2007)

    Google Scholar 

  18. Filman, R.E., Elrad, T., Clarke, S., Aksit, M.: Aspect-Oriented Software Development. Addison-Wesley Longman, Amsterdam (2004)

    Google Scholar 

  19. Filman, R.E., Friedman, D.P.: Aspect-oriented programming is quantification and obliviousness. Tech. rep. (2000)

    Google Scholar 

  20. Gray, J., Lin, Y., Zhang, J.: Automating change evolution in model-driven engineering. IEEE Computer 39(2), 51–58 (2006)

    Google Scholar 

  21. Greenfield, J., Short, K., Cook, S., Kent, S.: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, Chichester (2004)

    Google Scholar 

  22. Groher, I., Voelter, M.: Expressing feature-based variability in structural models. In: Workshop on Managing Variability for Software Product Lines (2007)

    Google Scholar 

  23. Groher, I., Voelter, M.: XWeave: Models and Aspects in Concert. In: AOM 2007: Proceedings of the 10th international workshop on Aspect-oriented modeling, pp. 35–40. ACM Press, New York (2007)

    CrossRef  Google Scholar 

  24. Heidenreich, F., Wende, C.: Bridging the gap between features and models. In: Second Workshop on Aspect-Oriented Product Line Engineering (2007)

    Google Scholar 

  25. IBM. Rational Rose (2007), http://www-128.ibm.com/developerworks/rational/

  26. Interactive Objects. Arcstyler (2007), http://www.interactive-objects.com/

  27. Kannan, M., Ramesh, B.: Managing variability with traceability in product and service families. In: HICSS, p. 76 (2002)

    Google Scholar 

  28. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    CrossRef  Google Scholar 

  29. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    CrossRef  Google Scholar 

  30. Kruchten, P.: The 4+1 view model of architecture. IEEE Software 12(6), 42–50 (1995)

    CrossRef  Google Scholar 

  31. Lohmann, D., Scheler, F., Tartler, R., Spinczyk, O., Schröder-Preikschat, W.: A quantitative analysis of aspects in the ecos kernel. In: EuroSys 2006: Proceedings of the ACM SIGOPS/EuroSys European Conference on Computer Systems 2006, pp. 191–204. ACM, New York (2006)

    Google Scholar 

  32. Loughran, N., Rashid, A.: Framed aspects: Supporting variability and configurability for AOP. In: Bosch, J., Krueger, C. (eds.) ICOIN 2004 and ICSR 2004. LNCS, vol. 3107, pp. 127–140. Springer, Heidelberg (2004)

    Google Scholar 

  33. Maeder, P., Riebisch, M., Philippow, I.: Traceability for managing evolutionary change. In: SEDE, pp. 1–8 (2006)

    Google Scholar 

  34. Mezini, M., Ostermann, K.: Variability management with feature-oriented programming and aspects. In: SIGSOFT FSE, pp. 127–136 (2004)

    Google Scholar 

  35. No Magic. Magicdraw (2007), http://www.magicdraw.com/

  36. Object Management Group. XML Metadata Interchange (XMI) specification (2007), http://www.omg.org/mof/

  37. Oldevik, J., Haugen, O.: Higher-order transformations for product lines. In: SPLC, pp. 243–254 (2007)

    Google Scholar 

  38. OpenArchitectureWare (2007), http://www.openarchitectureware.org

  39. OpenArchitectureWare. User guide version 4.2 (2007), http://www.eclipse.org/gmt/oaw/doc/4.2/openArchitectureWare-42-reference.pdf

  40. OSGi Alliance. Osgi framework (2007), http://osgi.org/

  41. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005)

    MATH  Google Scholar 

  42. Pure systems. pure::variants (2007), http://www.pure-systems.com/

  43. Spring Framework (2007), http://www.springframework.org/

  44. Stahl, T., Völter, M.: Model-Driven Software Development: Technology, Engineering, Management. Wiley & Sons, Chichester (2006)

    Google Scholar 

  45. Sun Microsystems. Java Enterprise Edition (2007), http://java.sun.com/javaee/

  46. Telelogic. DOORS (2007), http://www.telelogic.com/products/doors

  47. Voelter, M., Groher, I.: Handling variability in model transformations and generators. In: 7th OOPSLA Workshop on Domain-Specific Modeling (2007)

    Google Scholar 

  48. Voelter, M., Groher, I.: Product line implementation using aspect-oriented and model-driven software development. In: SPLC, pp. 233–242 (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Groher, I., Voelter, M. (2009). Aspect-Oriented Model-Driven Software Product Line Engineering. In: Katz, S., Ossher, H., France, R., Jézéquel, JM. (eds) Transactions on Aspect-Oriented Software Development VI. Lecture Notes in Computer Science, vol 5560. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03764-1_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-03764-1_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-03763-4

  • Online ISBN: 978-3-642-03764-1

  • eBook Packages: Computer ScienceComputer Science (R0)