{'fraction_non_alphanumeric': 0.010662604722010662, 'fraction_numerical': 0.0, 'mean_word_length': 5.409756097560976, '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}}
The Themis Structural Computing Environment Structural Templates and Transformations

The field of structural computing is working to produce techniques and tools to ease the task of developing application infrastructure. This paper describes the Themis structural computing environment. Themis provides developers with a generic structure server and two key extension mechanisms that enable the rapid creation of tools for a variety of application domains. The two novel extension mechanisms enable support for structure templates and automated structure transformation. Each of these mechanisms is described in detail along with the interfaces and capabilities of the generic structure server. We evaluate the utility of Themis in supporting the migration of the InfiniTe information integration environment from an XML-based repository to the Themis structure server. The use of Themis has led to a significant reduction in the number of lines of code required to produce the InfiniTe prototype. In addition, the higher level of abstraction provided by Themis has led to code that is easier to understand and maintain than the XML-based code it replaces. The paper concludes with a discussion of how structural computing tools, such as Themis, can impact software engineering and software engineering research.