Bridging software engineering gaps towards system of systems development - Ramos, Marcelo Augusto (2014)
While there is a growing recognition of the importance of System of Systems (SoS), there is still little agreement on just what they are or on by what principles they should be constructed. Actually, there are numerous SoS definitions in the literature. The difficulty in specifying what are the constituent systems, what they are supposed to do, and how they are going to do it frequently lead SoS initiatives to complete failures. Guided by a sample SoS that comprises all the distinguishing SoS characteristics and a generic SoS Engineering (SoSE) process, this thesis explores the SoS development from different Software Engineering (SE) perspectives that include requirements, analysis, design, and reengineering. For the Requirements Engineering (RE), we propose a scene-based RE approach to describe the SoS progressively as an arrangement of elementary but meaningful related behaviors named scenes. The objective is making easier the description and the understanding of the SoS dynamism. For the analysis, we propose extensions to statecharts to visually improve the modeling of systems interactions. They are symbolic notations that result from an analogy with multi-layer Printed Circuit Boards (PCB). The resulting diagrams are named PCBstatecharts. For the design, we propose an extension to the conventional SPLE process in such a way that SPL can become a natural source of SoS members. Domain engineering is extended to deliver components able to share abilities in SoS environments. Then, application engineers can design families of products that comply with different SoS requirements and still improve their products using the abilities of other SoS members. For the reengineering, we propose an approach extension to evolve legacy systems to SPL and then to SoS members. We demonstrate that when legacy systems are reengineered properly, they can share useful abilities, work cooperatively, and compose SoS