Comparing Multiple MATLAB/Simulink Models Using Static Connectivity Matrix Analysis
ISSN der Zeitschrift
Software Engineering 2020
Wartung und Evolution 2
Gesellschaft für Informatik e.V.
Model-based languages such as MATLAB/Simulink are crucial for the development of embedded software systems. To adapt to changing requirements, engineers commonly copy and modify existing systems to create new variants. Denoted clone-and-own, this straightforward reuse strategy entails severe maintenance and consistency issues as redundant and similar assets proliferate. Software product lines can be a remedy but require all existing variants to be compared prior to their actual migration. However, current work mostly revolves around comparing only two systems and those approaches coping with more are not applicable to embedded software systems such as MATLAB/Simulink. We bridge this gap and propose Static Connectivity Matrix Analysis (SCMA), a novel comparison procedure that evaluates multiple MATLAB/Simulink model variants at once. We transfer models into matrix form and identify all similar structures between them, even with parts being completely relocated during clone-and-own. Moreover, we allow engineers to tailor results and to focus on any arbitrary variant subset, enabling individual reasoning prior to migration. We provide a feasibility study from the automotive domain, showing our matrix representation to be suitable and SCMA to be fast and precise.