{'fraction_non_alphanumeric': 0.026881720430107527, 'fraction_numerical': 0.0, 'mean_word_length': 4.848167539267016, '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}}
Multi-step concern refinement

A Model-Driven Software Product Line (MD-SPL) uses metamodels, models, and transformations to create a family of products using a Model Refinement Line (MRL). However, an MD-SPL must evolve and provide mechanisms to add new crosscutting concerns, such as security or logging, to the applications. Our problem is that we want to preserve and reuse the original MRL. In this paper, we present the challenges associated with this problem. We illustrate them by evaluating different model-driven approaches to add crosscutting concerns into an application using high-level aspects. Furthermore, we propose an approach to add crosscutting concerns as early aspects and to preserve the original MRL. This approach adds a new MRL that refines a high-level model of the concern. This high-level model is related with the high-level application model in the original MRL. The refinement of the application model and the concern model proceeds in parallel. The presented approach is a work in progress and requires us to tackle several challenges in order to implement and validate the proposal.