{'fraction_non_alphanumeric': 0.02048780487804878, 'fraction_numerical': 0.0, 'mean_word_length': 5.7947019867549665, '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}}
Optimizing Component-Based Embedded Software

As functionalities required by embedded systems increase, higher levels of abstraction become necessary to fulfill development exigencies. At the same time, traditional physical and economical constraints such as size, memory usage and energy consumption subsist, making embedded systems development even more complex as it must face two contradictory requirements. In this paper, we expose how a component-based development framework is able to support these two conflicting demands. We follow a component-based approach to benefit from reusability and separation of concerns at design-time, producing flexible systems. We propose a set of flexibility-oriented properties allowing architects to generate, for a same architecture, a set of systems with different flexibility capabilities; these optimization techniques allow developers to pay for flexibility only where it is actually desired. Experiments conducted on several use-cases confirm the effectiveness of our approach.