For analyzing, designing, and developing a system-of-systems (SoS) systematically, a number of model-based approaches have been proposed and proposed. In order to support domain-general model-based technique, in particular, a general and high-level architecture should be established before applying specific techniques. Since the size and complexity of an SoS are significantly high, an SoS consists of multiple different levels and layers that should be differently engineered according to appropriate viewpoint-based methods.
Our high-level architecture mainly defines 5 levels: Micro-level, Intermediate-level, Macro-level, Runtime-level, and Maintenance & management-level. Based on the level definition, detailed layers could be internally designed according to a target SoS (and its type, goal, and constituents) to be developed. In addition, this architecture considers inherent uncertainties of an SoS. SoSs generally have both “open-at-the-top” and “open-at-the-bottom” characteristics, which indicate the uncertainty at higher levels and lower levels. Lastly, there are required interfaces between two different levels.