Formal Foundations for Analyzing and Refactoring Delta-Oriented Model-Based Software Product Lines
Christopher Pietsch, Udo Kelter, Timo Kehrer, Christoph Seidl · 2019
Model-Based Software Product Line (MBSPL) Engineering combines Model-Based Software Engineering (MBSE) and Software Product Line (SPL) Engineering by specifying variability in models and generating model variants as products of an MBSPL. Delta Modeling (DM) is a transformational approach for implementing MBSPLs by adding, removing or modifying model elements through delta modules to activate individual features. To date, the applicability of DM to real-world MBSPLs is severely hindered due to the resulting complex network of interrelated delta modules in which errors are hard to identify and fix without unintentionally harming overall consistency. To address this challenge, we present a set of analyses to identify problems in a network of delta modules as well as a construction kit to assemble refactorings to remedy these problems and simplify the network. We give a modeling-language independent formalization of delta modules based on graph transformation concepts. This is the basis for our analyses which, in turn, build the basis for our refactorings to prevent unintended side-effects.