{'fraction_non_alphanumeric': 0.017673048600883652, 'fraction_numerical': 0.0, 'mean_word_length': 5.181818181818182, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
User-level synthesis: treating product lines as systems of constraints

In this paper, we sketch how treating product lines as systems of possibly heterogeneous constraints allows one to elegantly and consistently manage product lines in terms of a product line of product lines. In fact, as will also be illustrated along our example scenarios, this leads to a framework for a consistent division of labour in an "easy for the many difficult for the few" fashion which supports correctness by construction. Central for this approach are our powerful model-based synthesis and code generation technologies, which turn systems of constraints into executable models or target code.