  Agent-based simulations, especially those including communication, are
complex to model and execute. To help researchers deal with this complexity and
to encourage modular and maintainable research software, the Python-based
framework mango (modular python agent framework) has been developed. The
framework enables users to quickly implement software agents with different
communication protocols (e.g., TCP) and message codecs (e.g., JSON).
Furthermore, mango provides various options for developing an integrated agent
simulation. This includes a scheduler module, which can control the agents'
tasks, a (distributed) clock mechanism for time synchronization, and a specific
simulation component, which can be coupled with other (co-)simulation software.
These features are complemented by modular implementation patterns and a
well-evaluated performance with the ability to simulate across multiple
processes to ensure scalability.
