{'fraction_non_alphanumeric': 0.017123287671232876, 'fraction_numerical': 0.0, 'mean_word_length': 5.643939393939394, '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}}
A declarative formal approach to dynamic reconfiguration

Self-adapting software adapts its behavior in an autonomic way, by dynamically adding, suppressing and recomposing components, and by the use of computational reflection. One way to enforce software robustness while adding adaptative behavior is disposing of a formal support allowing these programs to be modeled, and their properties specified and verified. We propose FracL, a formal framework for specifying and reasoning about dynamic reconfiguration programs written in a Fractal-like programming style. FracL is founded on first-order logic, and allows the specification and proof of properties concerning both functional concerns and control concerns. Its encoding using the Focal proof framework, enable us to prove FracL soundness and to obtain a mechanized framework for reasoning on concrete architectures.