Feature-Based Versioning for ML-Enabled Product Lines
摘要
Components based on Machine Learning (ML) are important for many product lines in the industry today, strongly impacting engineering processes. In particular, engineers need to manage the variability of ML-enabled features in product lines, while at the same time dealing with their continuous evolution, integration, and deployment. MLOps approaches improve the maturity of processes and tools for engineering ML-enabled systems, however, they lack support for feature-based version control, which is essential for product lines. This paper presents an approach providing feature-based versioning for ML-enabled product lines based on the Variation Control System (VarCS) ECCO. Specifically, we present use cases and requirements based on a common MLOps process. We extend ECCO to support Python code and Jupyter Notebooks, two widely used types of artifacts in this domain. We evaluate our approach regarding correctness and performance: the evaluation confirms the extensional correctness of our approach and shows acceptable quality of the intensional checkouts for valid product configurations. Furthermore, the performance is adequate for the investigated use cases.