{'fraction_non_alphanumeric': 0.02188183807439825, 'fraction_numerical': 0.0, 'mean_word_length': 5.502369668246446, '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': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Developing Heterogeneous Software Product Lines with FAMILE – a Model-Driven Approach

—Model-Driven Software Development and Software Product Line Engineering are independent disciplines, which both promise less development effort and increased software quality. While Model-Driven Software Development relies on raising the level of abstraction and automatic code generation, Software Product Line Engineering is dedicated to planned reuse of software components based upon a common platform, from which single products may be derived. The common platform consists of different types of artefacts like requirements, speciﬁcations, architecture deﬁnitions, source code, and so forth. Only recently, research projects have been started dealing with model-driven development of software product lines. So far, the resulting tools can only handle one type of artefact at the same time. In this paper, requirements, concepts and limitations of tool support for heterogeneous Software Product Line Engineering are discussed. As a proof of concept, an extension to the model-driven tool chain FAMILE is presented, which supports mapping of features to different types of artefacts in heterogeneous software projects at the same time. The added value of the approach is presented by an example product line, which has been developed in a strictly model-driven way using FAMILE.