{'fraction_non_alphanumeric': 0.02682403433476395, 'fraction_numerical': 0.0, 'mean_word_length': 5.304054054054054, '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}}
Self-adaptive systems, services, and product lines

Self-adaptive systems, services, and product lines can be seen as different facets of the same problem. Self-adaptation provides the requirements, product lines a conceptual means to frame them, and services a possible technology to implement the resulting systems. This short paper starts presenting an overview of the many solutions proposed for adding self-adaptive capabilities to software systems. It also introduces service-based solutions and software product lines to discuss what self-adaptive systems can borrow from them. The paper proposes then the solutions we have developed so far to contribute to the aforementioned scenario. It touches FLAGS, for eliciting the requirements of these systems, DYNAMO, an example of flexible and dynamic service compositions, and DyBPEL, a means to enact dynamic service-centric product lines. Some final remarks conclude the paper.