Skip to main content

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

  • Conference paper
Software Architecture (ECSA 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5292))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. 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. 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. Batory, D.S., Sarvela, J.N., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE Transanctions on Software Engineering 30(6), 355–371 (2004)

    Article  Google Scholar 

  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. Bosch, J.: Design and Use of Software Architectures. Addison-Wesley, Reading (2000)

    Google Scholar 

  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. 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. 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. 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-5

    Google Scholar 

  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. 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. 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. 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. 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. 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. 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. 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. Kruchten, P.: Architectural Blueprints. The “4+1” View Model of Software Architecture. IEEE Software 12(6), 42–50 (1995)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. 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. Rozanski, N., Woods, E.: Software Systems Architecture: Working with Stakeholders Using viewpoints and Perspectives. Addison-Wesley, Reading (2005)

    Google Scholar 

  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. 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. Svahnberg, M., van Gurp, J., Bosch, J.: A Taxonomy of Variability Realization Techniques. Software Practice & Experience 35(8), 705–754 (2005)

    Article  Google Scholar 

  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. Tang, A., Jin, Y., Han, J.: A rationale-based architecture model for design traceability and reasoning. Journal of Systems and Software 80(6), 918–934

    Google Scholar 

  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. Tyree, J., Akerman, A.: Architecture Decisions: Demystifying Architecture. IEEE Software 22(2), 19–27 (2005)

    Article  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ron Morrison Dharini Balasubramaniam Katrina Falkner

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Capilla, R., Ali Babar, M. (2008). On the Role of Architectural Design Decisions in Software Product Line Engineering. In: Morrison, R., Balasubramaniam, D., Falkner, K. (eds) Software Architecture. ECSA 2008. Lecture Notes in Computer Science, vol 5292. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-88030-1_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-88030-1_18

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-88029-5

  • Online ISBN: 978-3-540-88030-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics