Skip to main content

When Aspect-Orientation Meets Software Product Line Engineering

  • Chapter
  • First Online:
Domain Engineering
  • 1292 Accesses

Abstract

Aspect-oriented software development (AOSD) and software product line engineering (SPLE) are two approaches for software reuse, which promote model-driven development and variability management. While AOSD supports developing crosscutting concerns separately from traditional units and weaving them to different software products, software product line engineering (SPLE) handles the development and maintenance of families of software products utilizing different domain and application engineering techniques. In this chapter, we review the existing points of synergy between these two approaches and, in particular, the complementary and aggregative use of these approaches. Furthermore, we present a method that uses aspect-oriented principles for horizontal reuse and domain engineering guidelines for vertical reuse. We term this kind of use dimensional synergy. The presented method supports defining families of aspects and their weaving rules applied to families of software products, potentially increasing the reuse throughout the entire development life cycle. We exemplify the method on a Check-In check-Out product line and a family of security aspects, utilizing UML 2 class and sequence diagrams.

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 EPUB and 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
Hardcover Book
USD 54.99
Price excludes VAT (USA)
  • Durable hardcover 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

Notes

  1. 1.

    A few methods can be classified as both, e.g., [21]. However, these methods usually focus on one of these paradigms and extend the methods towards the other.

  2. 2.

    ADOM actually includes a sixth stereotype, «reuse», which is out of the scope of this chapter.

  3. 3.

    We assume that the name spaces of the concern specification and the match pattern of the same aspect are distinctive, otherwise adding the model (package) name to the element names is required.

References

  1. Aldawud, O., Bader, A., Elrad, T.: Weaving with statecharts. Workshop on Aspect-Oriented Modeling with UML. Ensehede, The Netherlands (2002)

    Google Scholar 

  2. Aldawud, O., Elrad, T., Bader, A.: A UML profile for aspect oriented modeling. Workshop on Advanced Separation of Concerns in Object-Oriented Systems, Tampa Bay (2001)

    Google Scholar 

  3. Alves de Oliveira, E., Gimenes, I.M.S., Huzita, E.H.M., Maldonado, J.C.: A variability management process for software products lines. In: The 2005 Conference of the Centre for Advanced Studies on Collaborative Research, Toranto, pp. 225–241. IBM (2005)

    Google Scholar 

  4. Anastasopoulos, M., Muthig, D.: An evaluation of aspect-oriented programming as a product line implementation technology. Software reuse: methods, techniques, and tools. LNCS 3107, 141–156 (2004)

    Google Scholar 

  5. AspectJ. http://www.eclipse.org/aspectj/, Access date: 21/4/2013

  6. AspectWerkz. http://aspectwerkz.codehaus.org/

  7. Bachmann, F., Clements, P.C.: Variability in software product lines. Technical Report CMU/SEI-2005-TR-012. http://www.sei.cmu.edu/library/abstracts/reports/05tr012.cfm (2005)

  8. Barth, B., Butler, G., Czarnecki, K., Eisenecker, U.: Generative programming. In: ECOOP 2001 Workshops, Panels and Posters, Budapest. Lecture Notes in Computer Science, vol. 2323, pp. 135–149. Springer, Berlin (2002)

    Google Scholar 

  9. Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.J.: Eclipse Modeling Framework. The Eclipse Series. Addison-Wesley, Reading (2003)

    Google Scholar 

  10. Chen, L., Babar, M.A.: A systematic review of evaluation of variability management approaches in software product lines. Inf. Software Technol. 53, 344–362 (2011)

    Article  Google Scholar 

  11. Chitchyan, R., Rashid, A., Sawyer, P., Garcia, A., Alarcon, M.P., Bakker, J., Tekinerdogan, B., Jackson, A., Clarke, S.: Survey of aspect oriented analysis and design approaches. AOSD-Europe Network of Excellence. http://www.aosd-europe.net/ (2005)

  12. Clarke, S.: Extending standard UML with model composition semantics. Sci. Comput. Program. 44(1), 71–100 (2002). http://www.cs.tcd.ie/people/Siobhan.Clarke/papers/SoCP2001.pdf

    Google Scholar 

  13. Clauß, M.: Generic modeling using UML extensions for variability. In: OOPSLA 2001 Workshop on Domain Specific Visual Languages, pp. 11–18 (2001)

    Google Scholar 

  14. Clauß, M.: Modeling variability with UML. In: GCSE 2001 Young Researchers Workshop (2001)

    Google Scholar 

  15. Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2002)

    Google Scholar 

  16. Coriat, M., Jourdan, J., Fabien, B.: The SPLIT method: building product lines for software-intensive systems. In: The 1st Conference on Software Product Lines: Experience and Research Directions, pp. 147–166 (2000)

    Google Scholar 

  17. Baniassad, E., Clements, P., Araujo, J., Moreira, A., Rashid, A., Tekinerdogan, B.: Discovering early aspects. IEEE Softw. 23(1), 61–70 (2006)

    Article  Google Scholar 

  18. Elrad, T., Filman, R.E., Bader, A.: Aspect-oriented programming: introduction. Commun. ACM 44(10), 29–32 (2001)

    Article  Google Scholar 

  19. Frakes, W.B., Kang, K.: Software Reuse research: status and future. IEEE Trans. Software. Eng. 31(7), 529–536 (2005)

    Article  Google Scholar 

  20. Fuentes, L., Sànchez, P.: Designing and Weaving Aspect-Oriented Executable UML models. J. Object. Technol. 6(7), 109–136. (2007) Special Issue: Aspect-Oriented Modeling, http://www.jot.fm/issues/issue_2007_08/article5

  21. Gomaa, H.: Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley Professional, Boston (2004)

    Google Scholar 

  22. Griss, M.L.: Implementing product-line features by composing aspects. In: Proceedings of the First Conference on Software Product Lines: Experience and Research Directions (SPLC), Kluwer, Norwell, pp. 271–288 (2000)

    Google Scholar 

  23. Griss, M., Favaro, J., d’Alessandro, M.: Integrating feature modeling with the RSEB. In: The 5th International Conference on Software Reuse (ICSR), pp. 76–85. IEEE Computer Society, Washington, DC (1998)

    Google Scholar 

  24. Groher, I., Voelter, M.: XWeave—models and aspects in concert. In: Proceedings of the 10th International Workshop on Aspect-Oriented Modeling, pp. 35–40. ACM, New York (2007)

    Google Scholar 

  25. Groher, I., Baumgarth, T.: Aspect-orientation from design to code. Workshop on Aspect-Oriented Requirements Engineering and Architecture Design, Lancaster (2004)

    Google Scholar 

  26. Groher, I., Schulze, S.: Generating aspect code from UML models. Workshop on Aspect-Oriented Modelling with UML (held with AOSD 2003), Boston (2003)

    Google Scholar 

  27. Halmans, G., Pohl, K., Sikora, E.: Documenting application-specific adaptations in software product line engineering. In: The 20th International Conference on Advanced Information Systems Engineering (CAiSE'2008), LNSC, vol. 5074, pp. 109–123. Springer, Berlin (2008)

    Google Scholar 

  28. Halmans, G., Pohl, K.: Communicating the variability of a software-product family to customers. Softw. Syst. Model. 2(1), 15–36 (2003)

    Article  Google Scholar 

  29. Herrmann, S.: Composable designs with UFA. Workshop on Aspect-oriented Modelling, Enschede, The Netherlands (2002)

    Google Scholar 

  30. Kande, M.M.: A concern-oriented approach to software architecture. Computer Science PhD, Swiss Federal Institute of Technology (EPFL), Lausanne (2003)

    Google Scholar 

  31. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University (1990)

    Google Scholar 

  32. Katara, M., Katz, S.: A concern architecture view for aspect-oriented software design. Software. Syst. Model. (2006) doi: 10.1007/s10270-006-0032-x, Springer

    Google Scholar 

  33. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP), LNCS, vol. 1241, pp. 220–242. Springer, Berlin (1997)

    Google Scholar 

  34. Kim, D., France, R., Ghosh, S.: A UML-based language for specifying domain-specific patterns. J. Vis. Lang. Comput. 15(3–4), 265–289 (2004)

    Article  Google Scholar 

  35. Klein, J., Fleurey F., Jézéquel, J.: Weaving multiple aspects in sequence diagrams. In: Transactions on Aspect Oriented Software Development, LNCS vol. 4620, pp. 167–199. Springer, Berlin (2007)

    Google Scholar 

  36. Kulesza, U., Garcia, A., Lucena, C.: Generating aspect-oriented agent architectures. In: Workshop on Early Aspects, pp. 42–49 (2004)

    Google Scholar 

  37. Kulesza, U., Garcia, A., Bleasby, F., Lucena, C.: Instantiating and customizing product line architectures using aspects and crosscutting feature models. In: Workshop on Early Aspects OOPSLA (2005)

    Google Scholar 

  38. Lee, K., Kang, K.C., Kim, M., Park, S.: Combining feature-oriented analysis and aspect-oriented programming for product line asset development. In: Proceedings of the 10th International on Software Product Line Conference (SPLC), Baltimore, pp. 103–112. IEEE Computer Society, Washington, DC (2006)

    Google Scholar 

  39. Lopez-Herrejon, R., Batory, D.: From crosscutting concerns to product lines: a function composition approach. Technical Report TR-06-24, University of Texas, Austin (2006)

    Google Scholar 

  40. Loughran, N., Sampaio, A., Rashid, A., Bruel, J.M.: From requirements documents to feature models for aspect oriented product line implementation. In: Satellite Events at the MoDELS 2005 Conference. Heidelberg, LNCS, vol. 3844, pp. 262–271. Springer, Berlin (2006)

    Google Scholar 

  41. Morin, B., Barais, O., Jézéquel, J.M.: Weaving aspect configurations for managing system variability. In: 2nd International Workshop on Variability Modelling of Software-intensive Systems (VaMoS), pp. 53–62. ICB Research Report No. 22 (2008)

    Google Scholar 

  42. Morisio, M., Travassos, G., Stark, M.: Extending UML to support domain analysis. In: The 15th IEEE International Conference on Automated Software Engineering, pp. 321–324. IEEE Computer Society, Washington, DC (2000)

    Google Scholar 

  43. OMG: Unified Modeling Language: Superstructure, Version 2.4.1. http://www.omg.org/spec/UML/2.4.1/Superstructure/PDF/ (2011). Access 21 Apr 2013

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

    Google Scholar 

  45. Reddy, Y.R., Ghosh, S., France, R., Straw, G., Bieman, J., McEachen, N., Song, E., Georg, G.: Directives for composing aspect-oriented design class models. Transactions on aspect-oriented software development. LNCS 3880, 75–105 (2006)

    Google Scholar 

  46. Reinhartz-Berger, I., Sturm, A.: Enhancing UML models: a domain analysis approach. J. Database Manag. 19(1), 74–94 (2008)

    Article  Google Scholar 

  47. Reinhartz-Berger, I., Sturm, A.: Utilizing domain models for application design and validation. Inf. Software. Technol. 51(8), 1275–1289 (2009)

    Article  Google Scholar 

  48. Reinhartz-Berger, I., Tsoury, A.: Experimenting with the comprehension of feature-oriented and UML-based core assets. In: Halpin, T. et al. (eds.) BPMDS 2011 and EMMSAD 2011, Lecture Notes in Business Information Processing (LNBIP) vol. 81, pp. 468–482 Springer, Berlin (2011)

    Google Scholar 

  49. Riebisch, M., Böllert, K., Streitferdt, D., Franczyk, B.: Extending the UML to model system families. In: Fifth International Conference on Integrated Design and Process Technology (IDPT), Dallas, 4–8 June 2000

    Google Scholar 

  50. Robak, S., Franczyk, B., Politowicz, K.: Extending the UML for modeling variability for system families. Int. J. Appl. Math. Comput. Sci. 12(2), 285–298 (2002)

    MATH  Google Scholar 

  51. Schauerhuber, A., Schwinger, W., Kapsammer, E., Retschitzegger, W., Wimmer M., Kappel, G.: A survey on aspect-oriented modeling approaches. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.141.7562. Accessed 21 April 2013

  52. Sinnema, M., Deelstraa, S.: Classifying variability modeling techniques. Inf. Software. Technol. 49(7), 717–739 (2007)

    Article  Google Scholar 

  53. Soffer, P., Reinhartz-Berger, I., Sturm, A.: Facilitating reuse by specialization of reference models for business process design. CAiSE'07 Workshop Proceedings, Tapir Academic Press, pp. 339–347 (2007)

    Google Scholar 

  54. Crawford, D.: Special issue on aspect-oriented programming. Commun. ACM 44(10) (2001)

    Google Scholar 

  55. Stein, D., Hanenberg, S., Unland, R.: Expressing different conceptual models of join point selections in aspect-oriented design. In: Proceedings of the 5th International Conference on Aspect-Oriented Software Development (AOSD), ACM, pp. 15–26 (2006)

    Google Scholar 

  56. Stein, D., Hanenberg, S., Unland, R.: A UML-based aspect-oriented design notation for AspectJ. In: Proceeding of the 1st International Conference on Aspect-Oriented Software Development, ACM, pp. 106–112 (2002)

    Google Scholar 

  57. Stoiber, R., Meier, S., Glinz, M.: Visualizing product line domain variability by aspect-oriented modeling. In: Proceedings of the 2nd International Workshop on Requirements Engineering Visualization (REV), pp. 8–13. IEEE Computer Society, Washington, DC (2007)

    Google Scholar 

  58. Svahnberg, M., Van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Software. Pract. Experience 35(8), 705–754 (2005)

    Article  Google Scholar 

  59. Webber, D., Gomaa, H.: Modeling variability in software product lines with variation point model. Sci. Comput. Program. 53, 305–331 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  60. Wikipedia: Security engineering. http://en.wikipedia.org/wiki/Security_engineering (2007). Accessed 21 Apr 2013

  61. Yu, Y., Leite, J.C.S.d.P., Mylopoulos, J.: From goals to aspects: discovering aspects from requirements goal model. In: International Conference on Requirements Engineering, Kyoto (2004)

    Google Scholar 

  62. Ziadi, T., Hélouët, L., Jézéquel, J.M.: Towards a UML profile for software product lines. Software product-family engineering (PFE'2004). LNCS 3014, 129–139 (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Iris Reinhartz-Berger .

Editor information

Editors and Affiliations

Appendix: The Woven Model for Secured CICO Applications

Appendix: The Woven Model for Secured CICO Applications

Figures 13, 14 present the woven model resulted after weaving the security (domain) aspect into the CICO (domain) base model. In these figures, the elements that belong only to the base model appear in white, the base model elements that are combined with aspect elements appear in bold and gray, and the elements that are added due to the aspect model, or more accurately due to the merge guidance, appear in gray.

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Reinhartz-Berger, I. (2013). When Aspect-Orientation Meets Software Product Line Engineering. In: Reinhartz-Berger, I., Sturm, A., Clark, T., Cohen, S., Bettin, J. (eds) Domain Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36654-3_4

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-36653-6

  • Online ISBN: 978-3-642-36654-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics