From: A comparison study of co-simulation frameworks for multi-energy systems: the scalability problem
Co-simulation frameworks | Mosaik | HELICS | AIOMAS | |
---|---|---|---|---|
Scenario | Configuration | Programmatic (scripting) | JSON | Programmatic (Agent-based/ scripting) |
Complexity | Low | Low | High | |
Orchestrator | Synchronization | Scheduler (SimPy) | Scheduler (RTI) | Custom (Distributed clocks) |
Communication paradigm | Request/ Response | Publish/ Subscribe | Request/ Response | |
Data Exchange | TCP | ZeroMQ | TCP/RPC | |
Tipology | Time-stepped/ Event-based | Time-stepped/ Event-based | Time-stepped/ Event-based | |
Simulator Integration | Programming languages / Simulator Software | Python MATLAB Java C++ | Python MATLAB Java C++ Nim | Python |
Integration Complexity | Low | Low | High | |
Scalability | Horizontal | Distributed | Distributed | Distributed |
Vertical | Multi-process (Manual) | Multi-process (Automatic) | Concurrent Multi-threading (Automatic) Multi-processing (Manual) | |
Performance | Low | High | Medium |