These are the main elements in the architecture involved in the synchronization and communication between simulations:
- DataPack: user-defined data structures used to exchange data between engine servers and clients. They are as well the input and output of transceiver functions.
- Functions: user-defined Python functions that allow data exchange between different components of NRP Core.
- Engine: provides both an abstraction layer and an interface to integrate simulators in NRP-core. Each engine represents a process in which a concrete instance of a simulator is running. For each of them there is a client side component in the simulation loop process interfacing the engine process for simulation control and data exchange.
- Simulation Loop: main loop where synchronization of engines, transmission of data and execution of transceiver functions happens.
Architecture overview