{'fraction_non_alphanumeric': 0.013097072419106317, 'fraction_numerical': 0.0, 'mean_word_length': 5.098591549295775, '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}}
Modular simulation environments: an object manager based architecture

To perform a simulation project, simulationists employ simulation specific software tools, general purpose software tools, and perhaps software developed to meet the needs of a particular project. Ideally, these divergent tools would work together in a seamless simulation environment. Modular simulation environments are one way of meeting this goal. Software tools can be added to or deleted from a modular simulation as needed. Thus, the simulation environment can be configured on a project by project basis or even dynamically during the course of a project. The flow of data between the tools in the environment is also a primary concern. An object manager based architecture provides the capabilities to add and delete software tools as necessary as well as to control the flow of data between the software tools. Each software tool and each data set can be viewed as an object with certain attributes. The object manager controls the invocation of the software tools as well as meeting input data requirements and organizing and managing the results of each operation. The design of such an object manager is presented. An example modular simulation environment is given and its configuration and operation illustrated.