The mosaik API¶
The mosaik API defines the communication protocol between mosaik and the simulators it couples. We differentiate between a low-level and a high-level version of the API.
The low-level API uses plain network sockets to exchange JSON encoded messages.
The high-level API is an implementation of the low-level API in a specific programming language. It encapsulates all parts related to networking (socket handling, an event loop, message (de)serialization) and provides an abstract base class with a few methods that have to be implemented in a subclass. A high-level API implementation is currently available for Python and Java. Implementations for other languages will be added when needed.
The figure below depicts the differences between the two API levels.