Supporting architectural design of acknowledged SoS - Gonçalves, Marcelo Benites (2016)
System-of-Systems (SoS) refer to complex, large-scale, and sometimes critical software-intensive systems that has raised as a promising class of systems in several application domains. In parallel, software architectures play a significant role in the development of software-intensive systems, dealing with both functional and non-functional requirements. In particular, systematic processes to design SoS software architectures can tackle challenges from SoS development, including to handle collaboration of independent constituent systems with different owners, missions, and interests. Despite the relevance and necessity of software-intensive SoS for diverse application domains, most of their software architectures have been still developed in an ad hoc manner. In general, there is a lack of structured processes for architecting SoS, hindering the secure adoption of SoS, reducing possibilities of sharing common architectural solutions, and negatively impacting in the success rate for these systems. This thesis presents SOAR (\\General Process for Acknowledged SoS Software Architectures\") that supports the establishment of architectural design processes for acknowledged SoS. Conceived to provide different levels of support according to each SoS development context, it comprises a high level kernel that describes what must be done when architecting SoS and also three practices with specific activities and work products to guide how to perform architectural analysis, synthesis, and evaluation. To evaluate SOAR, three surveys, a viability study, and an experiment were conducted. Results achieved in these evaluation studies indicate that SOAR can positively support the instantiation of architecting processes for acknowledged SoS and, as a consequence, contribute to the development and evolution of these complex, software-intensive systems.