{'fraction_non_alphanumeric': 0.02800658978583196, 'fraction_numerical': 0.003844041735310269, 'mean_word_length': 5.134680134680135, '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}}
Combining Context-Oriented Programming and Feature Diagrams : Towards a Position Statement

Context-Oriented Programming (COP) is an emerging programming paradigm which aims to alleviate the management of behavioural variations resulting from context changes [6]. The basic idea is to allow the developer to focus on the business code without having to hard-code alternatives to variations in the context. A context-oriented program is defined as a set of layers dynamically activated and deactivated at runtime according to the evolution of the context. An issue barely tackled in COP is the modelling, at a high level, of the context layers and the conditions of their activation. Two sorts of constraints on layer activation and deactivation require special attention: (1) the static constraints independent of the context status, e.g. exclusivity between the UDP and TCP protocols, and (2) the dynamic constraints evaluated at runtime, e.g. the loss of the wifi connection automatically disables the voice over IP feature. A rather straightforward way to express the constraints of type (1) is to model each layer as a feature. The resulting feature diagram (FD) [7] represents the hierarchy of layers along with their cross-layer constraints. The constraints of type (2), however, require further investigations because they involve dynamic configuration changes and can vary from one product to another. Some approaches have already been proposed to deal with these two issues. Fernandes et al. [4] present UbiFEX, a modelling notation extending existing FD languages with contextual information. The general FD generated with UbiFEX is composed of an FD, a context FD with the associated activation expressions, and context rules binding the context and feature models together. UbiFEX also comes with a simulation