Software Architecture
Software intensive systems are often independently developed, operated, managed, and evolved. Progressively, communication networks enabled these independent systems to interact, yielding a new kind of complex system, i.e. a system that is itself composed of systems, the so called System of Systems (SoS) By its very nature, SoS is evolutionarily developed and exhibits emergent behavior. Actually, software architecture research has mainly focused on single systems, mostly large or very large distributed systems whose software architecture is described as design time configurations of components linked together through connectors. However, it is well known that the restricted characteristics of single (even very large distributed) systems lead to architectural solutions (in terms of theories, languages, tools, and methods) that do not scale up to the case of systems of systems. Indeed, novel architectural solutions are needed to handle the complexity of software intensive systems of systems in particular regarding the software architecture challenges implied by evolutionary development and emergent behavior. This paper presents the challenges facing software architecture research to address software intensive systems of systems. It analyzes the discriminating characteristics of system of systems when compared with single systems from the software architecture perspective and focuses on recent advances in software architecture research to formally describe the architecture of software intensive systems of systems.
Lecture Notes in Computer Science