Print this Page



The endeavour of constructing critical systems evolved from engineering complicated systems in the last century, to architecting critical systems-of-systems (SoS) in this century.

A system-of-systems is a combination of autonomous existing systems that fulfills its own operational mission.

The upcoming generation of SoS will operate in open environments: the available subsystems are partially known at design-time. Despite this, the SoS must fulfill its mission as long as necessary. Thus, the main characteristics of SoS are:

  • unpredictability of the environment: constituent subsystems are dynamically discovered, composed, and operated in a continuous way at run-time; they have their own mission and may evolve independently
  • criticality: the SoS dynamically enforces high confidence and resilience; it cope with internal and external disturbances
  • long-lasting: the SoS must continuously reconfigure according to the evolution of its constituents

Scientific foundations

Architecture is at the frontend of engineering when dealing with SoS:

  • architecture plays a fundamental role in the engineering of software throughout its lifetime including both design-time and run-time;
  • architecture descriptions must be first class citizens;
  • architecture descriptions must be active at run-time;
  • complexity and criticality of software call for architecture in complement to engineering;
  • architecture-driven engineering paves the way to tame the complexity of critical software-intensive systems-of-systems.

Therefore, a rigorous approach is needed that does concentrate on the architecture of evolving systems and SoS. This encompasses the description, analysis, construction and evolution of SoS:

  • Description: SoS-specific composition mechanisms that are explicit, formally defined, and operate on active architectural models at run-time;
  • Analysis: techniques and tools for the architecture-centric model-based analysis of SoS; including structural, behavioural, and quality properties; combining simulation, model checking, and testing;
  • Construction: abstractions and mechanisms for expressing architecture transformations, where the application of these transformations will support refinement from abstract to concrete SoS architectures;
  • Evolution: continuous feedback together with the models of the mission and the architecture, in order to decide when, how, and where evolution is appropriate.

Permanent link to this article: