Advertisement

On the Role of Architectural Design Decisions in Software Product Line Engineering

  • Rafael Capilla
  • Muhammad Ali Babar
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5292)

Abstract

An increased attention to documenting architectural design decisions and their rationale has resulted in several approaches and prototype tools for capturing and managing architectural knowledge. However, most of them are focused on architecting single products and little attention has been paid to include design decisions in the context of product line architectures. This paper reports our work on analyzing the existing work on architectural design decisions for the specific needs of software product line engineering. We have studied two existing tools for managing design decisions to identify the changes required in these tools for supporting product line specific requirements. Based on this study, we report the extensions required in the data models of the tools and propose a unified data model to guide the tool development research for supporting explicitly the relationships between design decisions and variability models for software product line engineering.

Keywords

Product Line Design Decision Software Architecture Product Family Variation Point 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ali-Babar, M., Northway, A., Gorton, I., Heurer, P., Nguyen, T.: Introducing Tool Support for Managing Architectural Knowledge: An Experience Report. In: Proceedings of the 15th IEEE International Conference on Engineering Computer-Based Systems, Belfast, Northern Ireland (2008)Google Scholar
  2. 2.
    Alonso, A., León, G., Dueñas, J.C.: Framework for Documenting Design Decisions in product Families Development. In: ICECSS, pp. 206–211. IEEE CS, Los Alamitos (1997)Google Scholar
  3. 3.
    Babar, M.A., Gorton, I.: A Tool for Managing Software Architecture Knowledge. In: Proceedings of the 2nd Workshop on Sharing and Reusing Architectural Knowledge, ICSE Workshops (2007)Google Scholar
  4. 4.
    Batory, D.S., Sarvela, J.N., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE Transanctions on Software Engineering 30(6), 355–371 (2004)CrossRefGoogle Scholar
  5. 5.
    Benavides, D., Trinidad, P., Ruiz Cortés, A.: Automated Reasoning on Feature Models. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 491–503. Springer, Heidelberg (2005)Google Scholar
  6. 6.
    Bosch, J.: Design and Use of Software Architectures. Addison-Wesley, Reading (2000)Google Scholar
  7. 7.
    Bosch, J.: Software Architecture: The Next Step. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 194–199. Springer, Heidelberg (2004)Google Scholar
  8. 8.
    Capilla, R., Nava, F., Pérez, S., Dueñas, J.C.: A Web-based Tool for Managing Architec-tural Design Decisions. In: Proceedings of the Workshop on Sharing and Reusing Architectural Knowledge. ACM Digital Library, Software Engineering Notes, vol. 31(5)Google Scholar
  9. 9.
    Capilla, R., Nava, F., Dueñas, J.C.: Modeling and Documenting the Evolution of Architectural Design Decisions. In: Proceedings of the 2nd Workshop on Sharing and Reusing Architectural Knowledge, ICSE Workshops (2007)Google Scholar
  10. 10.
    Capilla, R., Sánchez, A., Dueñas, J.C.: An Analysis of Variability Modelling and Manage-ment Tools for Product Line Development. In: Proceedings of the Software and Services Variability Management Workshop – Concept Models and Tools. Helsinki University of Technology Software Business and Engineering Institut, Helsinki, Finland, HUT-SoberIT-A3, pp. 32–47 (2007) ISBN: 978-951-22-8747-5Google Scholar
  11. 11.
    Clements, P., Bachman, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.: Documenting Software Architectures. Views and Beyond. Addison-Wesley, Reading (2003)Google Scholar
  12. 12.
    Dueñas, J.C., Capilla, R.: The Decision View of Software Architecture. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 222–230. Springer, Heidelberg (2004)Google Scholar
  13. 13.
    Dhungana, R.R.D., Grünbacher, P., Prähofer, H., Federspiel, C., Lehner, K.: Architectural Knowledge in Product Line Engineering: An Industrial Case Study. In: Euromicro Conference on Software Engineering and Advanced Applications, pp. 186–197 (2006)Google Scholar
  14. 14.
    Dhungana, D., Grünbacher, P., Rabiser, R.: DecisionKing: A Flexible and Extensible Tool for Integrated Variability Model. In: Proceedings of the 1st Workshop on Variability Modelling of Software-intensive Systems (VAMOS), LERO, UL, Ireland (2007)Google Scholar
  15. 15.
    Fritsch, C., Lehn, A., Strohm, T.: Evaluating Variability Implementation Mechanisms. In: Procs. of International Workshop on Product Line Engineering (PLEES 2002), Technical Report at Fraunhofer IESE (No. 056.02/E), pp. 59-64 (2002)Google Scholar
  16. 16.
    Jansen, A., Bosch, J.: Software Architecture as a Set of Architectural Design Decisions. In: 5th IEEE/IFIP Working Conference on Software Architecture, pp. 109–118 (2005)Google Scholar
  17. 17.
    Jaring, M., Bosch, J.: Variability Dependencies in Product Family Engineering. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 81–97. Springer, Heidelberg (2004)Google Scholar
  18. 18.
    Kang, K.C., Cohen, S., Hess, J.A., Novak, W.E., Peterson, A.S.: Featured-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report, CMU/SEI-90-TR-21 ESD-90-TR-22, Software Engineering Institute, Carnegie Mellon University, Pittsburgh (1990)Google Scholar
  19. 19.
    Kruchten, P.: Architectural Blueprints. The “4+1” View Model of Software Architecture. IEEE Software 12(6), 42–50 (1995)CrossRefGoogle Scholar
  20. 20.
    Kruchten, P., Lago, P., van Vliet, H.: Building up and Reasoning About Architectural Knowledge. In: Hofmeister, C., Crnković, I., Reussner, R. (eds.) QoSA 2006. LNCS, vol. 4214, pp. 43–58. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Lago, P., van Vliet, H.: Explicit Assumptions Enrich Architectural Models. In: Inverardi, P., Jazayeri, M. (eds.) ICSE 2005. LNCS, vol. 4309, pp. 206–214. Springer, Heidelberg (2006)Google Scholar
  22. 22.
    Lee, K., Kang, K.C.: Feature Dependency Analysis for Product Line Component Design. In: Bosch, J., Krueger, C. (eds.) ICOIN 2004 and ICSR 2004. LNCS, vol. 3107, pp. 69–85. Springer, Heidelberg (2004)Google Scholar
  23. 23.
    Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architecture. Software Engineering Notes, ACM SIGSOFT, pp. 40–52 (October 1992)Google Scholar
  24. 24.
    Rozanski, N., Woods, E.: Software Systems Architecture: Working with Stakeholders Using viewpoints and Perspectives. Addison-Wesley, Reading (2005)Google Scholar
  25. 25.
    Sinemma, M., Deelstra, S., Nijhuis, J., Bosch, J.: COVAMOF: A Framework for Modeling Variability in Software Product Families. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 197–213. Springer, Heidelberg (2004)Google Scholar
  26. 26.
    Sinemma, M., van der Ven, J.S., Deelstra, S.: Using Variability Modeling Principles to Capture Architectural Knowledge. In: 1st SHARK Workshop (2006)Google Scholar
  27. 27.
    Svahnberg, M., van Gurp, J., Bosch, J.: A Taxonomy of Variability Realization Techniques. Software Practice & Experience 35(8), 705–754 (2005)CrossRefGoogle Scholar
  28. 28.
    Tang, A., Babar, M.A., Gorton, I., Han, J.A.: A Survey of the Use and Documentation of Architecture Design Rationale. In: 5th IEEE/IFIP Working Conference on Software Architecture (2005)Google Scholar
  29. 29.
    Tang, A., Jin, Y., Han, J.: A rationale-based architecture model for design traceability and reasoning. Journal of Systems and Software 80(6), 918–934Google Scholar
  30. 30.
    Trujillo, S., Azanza, M., Diaz, O., Capilla, R.: Exploring Extensibility of Architectural Design Decisions. In: Proceedings of the Workshop on Sharing and Reusing Architectural Knowledge and Design Intent (SHARK/ADI 2007), ICSE Workshops, Minneapolis, USA, May 2007. IEEE CS, Los Alamitos (2007)Google Scholar
  31. 31.
    Tyree, J., Akerman, A.: Architecture Decisions: Demystifying Architecture. IEEE Software 22(2), 19–27 (2005)CrossRefGoogle Scholar
  32. 32.
    Wang, A., Sherdil, K., Madhavji, N.H.: ACCA: An Architecture-centric Concern Analysis Method. In: 5th IEEE/IFIP Working Conference on Software Architecture (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Rafael Capilla
    • 1
  • Muhammad Ali Babar
    • 2
  1. 1.Universidad Rey Juan CarlosSpain
  2. 2.LERO, ULIreland

Personalised recommendations