{'fraction_non_alphanumeric': 0.01436265709156194, 'fraction_numerical': 0.0, 'mean_word_length': 5.126373626373627, '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}}
Reusing models in multi-agent simulation with software components

Simulation models are abstract representations of systems one wants to study through computer simulation. In multi-agent based simulation, such models usually represent agents and their relations. An important issue concerning these models is how they can be effectively reused across different simulations. But while much attention has been given to other engineering issues, model reuse has remained mostly untreated. To help address this issue, in this paper we present both a method and a software architecture for multi-agent simulation designed with reuse in mind. We employ software components as fundamental reusable model assets and show how their composition can also be reused. Our technique depends on some domain specific assumptions, such as the fact that agents must be related by social networks, and we argue that these are actually helpful in the context of software components. A case study is also given in order to illustrate clearly how the same component can be reused in two distinct simulation problems using our approach.