An Event-based Capture-and-Compare Approach to Support the Evolution of Systems of Systems. (Experience Paper)
Industrial software systems are often systems of systems (SoS) that evolve continuously to meet new customer requirements or to address technological changes. Despite thorough testing of the different contributing parts, the full behavior of SoS only emerges at runtime. The systems in the SoS and their interactions thus need to be continuously monitored and checked during operation to determine compliance with requirements. In particular, after changes to one system, it is necessary to check whether the overall SoS still behaves correctly and as intended. Based on an existing monitoring framework we have been developing support for capturing and comparing event traces in SoS. Our approach facilitates and partly automates the identification of differences in event traces, which often indicate undesirable behavior introduced during evolution. In this paper we motivate the need for monitoring and evolution support in SoS using an industrial example and describe our event-based capture-and-compare approach. We evaluate the applicability and scalability of our tool-supported approach, demonstrating that it can cope with comparing event traces from an industrial SoS. We present our experiences and findings intended for researchers and practitioners working on maintenance and evolution of large-scale software systems.