PP-C: Reengineering for Variability
A major obstacle for extending current software for cyber-physical production systems (CPPS software) is their monolithic and resources binding nature. In order to be able to add new functionality CPPS software needs to be modular and optimized for the application at hand. Hence, this part project is concerned with the remodularization of legacy CPPS software to make it ready for Industry 4.0.
The goal is to develop an end-to-end tool based approach to refactor existing industrial C-code into a software product line. Software product lines can then be specialized towards specific variants depending on selected features.
The challenges are to be able to identify and extract features that are only implicitly present in the code as it requires to connect explicit domain knowledge with the result of static analysis. To be able to perform refactoring variants need to be determined by static program analyses even if only few variants are known a priori.
The workflow of the approach is illustrated by the figure below: