{'fraction_non_alphanumeric': 0.016423357664233577, 'fraction_numerical': 0.0, 'mean_word_length': 5.060773480662983, '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}}
Processing UML models with visual scripts

We discuss how a CASE-tool supporting the Unified Modeling Language (UML) can be customized and extended using a visual scripting mechanism. We introduce a set of UML model operations that can be used, for example, to transform a UML diagram of one type into another, and to perform set theoretical operations on them. We discuss a visual scripting mechanism that can be used for executing these operations and for combining them to construct new operations with higher-level functionality. The visual scripting mechanism allows the automation of often-repeated software engineering tasks. We present examples of using the proposed techniques in UML based software engineering. We have a prototype implementation integrated to a real world UML modeling tool, the Nokia TED. The aim of this paper is to show how model operations can be exploited to perform interesting model analysis tasks, and how a visual language that uses these operations as primitives may be used for composing useful high-level functions for various software engineering purposes.