Abstract
Background. A software product line is a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment. The most considerable benefit of using a software product line is the ability of large-scale reuse. Currently, machine learning models lack reproducibility and suffer from inconsistent deployment. There is a disconnect in machine learning engineering and traditional software that can cause issues when including machine learning models in a software product line. Aim. The study aims to outline an approach to address the problem allowing stakeholders better to weight their options in regards to how successfully include machine learning components in their software product line. Method. In the thesis, we developed a prototype and conducted interviews to gain insights into the topic. Results. Findings suggest that automatic product derivation with machine learning components has a few drawbacks. Manual effort is, in most cases, necessary. By having taken into account all the restrictions and constraints of software product line engineering and machine learning engineering, a composition-based approach is a viable option to architect software product lines. Conclusion. Utilising a composition-based approach with a component-based system will enable to retain the many benefits of a software product line while including machine learning components.