🤖 AI Summary
The integration of machine learning (ML) components into software product lines (SPLs) suffers from a lack of systematic variability modeling and reuse mechanisms for ML artifacts. Method: This paper proposes the first structured framework unifying SPL engineering and ML component development, grounded in feature modeling. It supports systematic variability modeling of ML functionality, component substitution, hyperparameter tuning, and cross-configuration reuse within SPLs. A prototype implementation is realized via the VariaMos tool. Contribution/Results: Empirical evaluation across multiple product configurations demonstrates improved consistency in ML component modeling, enhanced development efficiency, and strengthened decision support capabilities. The work bridges a critical theoretical and practical gap at the intersection of SPL and ML engineering, delivering a scalable, data-driven methodology for product line engineering.
📝 Abstract
Modern software systems increasingly integrate machine learning (ML) due to its advancements and ability to enhance data-driven decision-making. However, this integration introduces significant challenges for software engineering, especially in software product lines (SPLs), where managing variability and reuse becomes more complex with the inclusion of ML components. Although existing approaches have addressed variability management in SPLs and the integration of ML components in isolated systems, few have explored the intersection of both domains. Specifically, there is limited support for modeling and managing variability in SPLs that incorporate ML components. To bridge this gap, this article proposes a structured framework designed to extend Software Product Line engineering, facilitating the integration of ML components. It facilitates the design of SPLs with ML capabilities by enabling systematic modeling of variability and reuse. The proposal has been partially implemented with the VariaMos tool.