ECSA 2008: Software Architecture pp 241-255 | Cite as
On the Role of Architectural Design Decisions in Software Product Line Engineering
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 PointPreview
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)CrossRefGoogle 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-5Google 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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–934Google 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)CrossRefGoogle 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