Architectural decision-making on interoperability in software-intensive systems - Valle, Pedro Henrique Dias (2021)
Software-intensive systems are increasingly present in several domains, such as Industry 4.0, military, smart cities, and smart agriculture. Due to the increasing complexity and size of these systems, their architectural design has become a considerably complicated task. In contrast, interoperability has played an essential role in the success of softwareintensive systems since this class of systems is sometimes composed of individual systems that need to communicate. However, software architects have faced difficulties in comprehending, analyze, and select suitable interoperability architectural solutions for these systems. Motivated by this scenario, the main objective of this doctoral thesis is to provide software architects means to support the decision-making on how to address the different levels of interoperability in software-intensive systems. More specifically, we established: (i) a typology of architectural strategies organized by strategy type and four different interoperability levels; and (ii) a catalog composed of main interoperability issues and the set of architectural patterns to mitigate these issues. This catalog is considered validated because it was defined according to information obtained systematically in the scientific literature and confirmed in the survey results that we performed with 33 practitioners. As a result, we observed that this catalog could support software architects to decide better which architectural solutions could solve each interoperability issue in their integration projects.