{'fraction_non_alphanumeric': 0.0191625266146203, 'fraction_numerical': 0.0, 'mean_word_length': 5.714285714285714, '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}}
Ensuring model continuity when simulating self-adaptive software systems

Self-adaptivity in software systems aims to balance the use of costly resources, i.e. of servers and energy, under given constraints such as Quality of Service (QoS) requirements. Simulation does not require risky testing in running systems and has less assumptions and limitations than formal verification when evaluating the effect of self-adaptation mechanisms. Existing simulation frameworks for analyzing self-adaptive software systems require re-implementing algorithms to conform to the abstraction and interfaces of the simulation framework. We present an approach for coupling simulation-based analyses of self-adaptive software systems with self-adaptation mechanisms that eliminates the need to re-implement the mechanisms and ensures model continuity. The evaluation demonstrates the low complexity required when our approach is used to ensure model continuity between simulation and self-adaptation framework. It presents the results of two experiments we performed after coupling the SimuLizar simulation framework and the CACTOS runtime management framework for Cloud platforms. With this coupling, Cloud data center operators benefit from what-if-analyses of self-adaptation mechanisms and software engineers can optimize the QoS of systems on the drawing board without acquiring deep knowledge of simulation internals.