{'fraction_non_alphanumeric': 0.015100671140939598, 'fraction_numerical': 0.0, 'mean_word_length': 5.483695652173913, '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}}
Robust-and-evolvable resilient software systems: open problems and lessons learned

How to build robust-and-evolvable resilient software systems? On the one hand, evolvability implies a system's ability to reach autonomously new, possibly unprecedented conditions and states; on the other hand, resilience and robustness refer to feature persistence in the face of perturbations and changes such as the ones brought about by system evolution. How to address such problem? How to make sure that a software system shall exhibit emerging properties such as reliability or safety irrespective of its environmental conditions and whatever its new configuration may be? In this paper we discuss these problems leveraging from three cases of adaptive software and systems designs. Our conclusions are that the complexity and characteristics of the system components in control of evolution as well as the forms of interaction of the systems with their environments play a key role in the ultimate emergence of sought properties and behaviours. Moreover we highlight how social eco-systems in heterarchical organisation appear to have a stronger resilience and robustness throughout their evolutions.