{'fraction_non_alphanumeric': 0.017543859649122806, 'fraction_numerical': 0.0, 'mean_word_length': 5.6503067484662575, '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}}
Towards context-aware and resource-driven self-adaptation for mobile handheld applications

Mobile handheld computing is gaining momentum as more and more wireless handheld devices are being used to accomplish various computing tasks. Context-awareness can help to adapt and personalize applications or to optimize resource usage. However, many existing context infrastructures by themselves impose heavy resource requirements for deployment or highly affect the limited autonomy of the mobile device. In this paper we describe how resource-driven self-adaptation is used in our layered context-driven application middleware in order to enable deployment on a mobile device and optimize resource usage. Our evaluation shows that the introspection and intercession capabilities of the self-adapting middleware provide the necessary flexibility to achieve a balanced resource usage between the context-driven application middleware and the context-aware applications, and that the resource-driven self-adaptation is able to more than double the battery lifetime in real life scenarios.