{'fraction_non_alphanumeric': 0.019065190651906518, 'fraction_numerical': 0.0, 'mean_word_length': 5.534136546184739, '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': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Platform Constraints Supporting an Ambiguous Mapping Model

Abstract Model transformations constitute the linking element between the different layers of abstraction in Model-Based User Interface Development (MBUID). They map source elements onto target elements and define rules for the execution of these mappings. While the execution of the transformation requires unambiguous mappings, ambiguous mappings are very common in MBUID (e.g. an abstract “selection” element could be mapped either to a drop-down list or to a set of radio buttons). These ambiguities have to be resolved during the design process considering the target platform characteristics among others. The definition and evaluation of such constraints is usually performed informally by the designer when selecting the unambiguous mappings. The target platform properties are thus only integrated implicitly into the transformation, i.e. the transformation has to be reprogrammed for every change of the platform characteristics. This paper therefore presents a proposal for a conditional ambiguous mapping model that allows the explicit definition of platform constraints based on platform models. Furthermore, all possible (ambiguous) mappings for a pair of source and target user interface description languages can be described so that the platform constraints can be attached to them. This allows the automatic selection of (unambiguous) mappings suitable for the target platform during the execution of the transformation. Consequently, a single transformation can support a variety of platforms. A case study shows the applicability of the approach.