Abstract
This paper introduces a novel co-simulation framework running on the Java Virtual Machine built on a software architecture known as the Entity-Component-System. Popularised by games, this architecture favours composition over inheritance, allowing for greater flexibility. Rather than using a fixed inheritance tree, an entity is defined by its traits, which can be seamlessly changed during simulation. The framework supports the Functional Mock-up Interface standard for co-simulation, as well as the System Structure and Parameterisation standard for defining the system structure. Furthermore, the employed architecture allows users to seamlessly integrate physics engines, plotting, 3D visualisation, co-simulation masters and other types of systems into the framework in a modular way. To show its effectiveness, this paper compares the framework to four similar open-source co-simulation frameworks by simulating a quarter-truck system defined using the System Structure and Parameterisation standard.