Experiences in System-of-Systems-Wide Architecture Evaluation over Multiple Product Lines
Software architecture evaluation, both for software products and software product lines, has become a mainstream activity in industry. Significant amount of practical experience exists in applying architecture evaluation in real projects. However, most of the methods and practices focus on evaluating individual products or product lines. In this paper, we study how to evaluate a system-of-systems consisting of several cooperating software product lines. In particular, the intent is to evaluate the system-of-systems-wide architecture for the ability to satisfy a new set of crosscutting requirements. We describe the experiences and practices of performing a system-of-systems-wide architecture evaluation in industry: the system-of-systems in question is a set of product lines whose products are used to create the All-IP 3G telecommunications network. The results indicate there are significant differences in evaluating the architecture of system-of-systems compared with traditional evaluations targeting single systems. The two main differences affecting architecture evaluation were the heterogeneity in the maturity levels of the individual systems, i.e., product lines, and the option that instead of simply evaluating each product line individually, responsibilities can be moved from one product line to another to satisfy the system-of-systems level requirements.
KeywordsArchitecture evaluation System-of-systems Industrial Experience
Unable to display preview. Download preview PDF.
- 2.Svahnberg, M.: An industrial study on building consensus around software architectures and quality attributes. Information and Software Technology (46), 818–850 (2004)Google Scholar
- 3.Hofmeister, C., Nord, R., Soni, D.: Applied Software Architecture. Addison-Wesley, Reading (2000)Google Scholar
- 4.Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley (2003)Google Scholar
- 5.Clements, P., Kazman, R., Klein, M.: Evaluating Software Architectures—Methods and Case Studies. Addison-Wesley, Boston (2002)Google Scholar
- 6.Nord, R., Tomayko, J.: Software architecture-centric methods and agile development. IEEE Software (2006)Google Scholar
- 7.Tyree, J., Akerman, A., Financial, C.: Architecture decisions: Demystifying architecture. IEEE Software (2005)Google Scholar
- 8.Rozanski, N., Woods, E.: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives. Addison-Wesley (2005)Google Scholar
- 10.Svahnberg, M., Wohlin, C., Lundberg, L., Mattsson, M.: A method for understanding quality attributes in software architecture structures. In: Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering (SEKE 2002), pp. 819–826. ACM Press, New York (2002)Google Scholar
- 11.Hillard, R., Kurland, M., Litvintchouk, S., Rice, T., Schwarm, S.: Architecture Quality Assessment, version 2.0, MITRE Corporation (August 7, 1996)Google Scholar
- 15.Myllärniemi, V., Savolainen, J., Männistö, T.: Performance variability in software product lines: A case study in the telecommunication domain. In: Software Product Line Conference, pp. 32–41 (2013)Google Scholar