Generic Analysis of Model Product Lines via Constraint Lifting
Andreas Bayha, Vincent Aravantinos
TL;DR
This paper tackles the challenge of ensuring correctness across all variants in a model product-line by introducing a generic constraint lifting mechanism. It formulates a formal core for models, adds variability through feature models and symbolic binding, and defines a lifting operator to transform single-model constraints into product-line wide constraints. An SMT-based implementation demonstrates translating models, variability, and lifted constraints into solvable formulas, validated on a SFIT DSML case study with real industrial data from BMW and Miele. The results show successful detection of introduced failures, alignment with existing domain-specific analyses, and practical scalability, supporting broader adoption of language-independent product-line verification methods.
Abstract
Engineering a product-line is more than just describing a product-line: to be correct, every variant that can be generated must satisfy some constraints. To ensure that all such variants will be correct (e.g. well-typed) there are only two ways: either to check the variants of interest individually or to come up with a complex product-line analysis algorithm, specific to every constraint. In this paper, we address a generalization of this problem: we propose a mechanism that allows to check whether a constraint holds simultaneously for all variants which might be generated. The main contribution of this paper is a function that assumes constraints that shall be fulfilled by all variants and generates ("lifts") out of them constraints for the product-line. These lifted constraints can then be checked directly on a model product-line, thus simultaneously be verified for all variants. The lifting is formulated in a very general manner, which allows to make use of generic algorithms like SMT solving or theorem proving in a modular way. We show how to verify lifted constraints using SMT solving by automatically translating model product-lines and constraints. The applicability of the approach is demonstrated with an industrial case study, in which we apply our lifting to a domain specific modelling language for manufacturing planning. Finally, a runtime analysis shows scalability by analyzing different model product-lines with production planning data from the BMW Group and Miele.
