VILLASframework
Modular co-simulation framework
|
We designed a lightweight message format (or protocol) to facilitate a fast transmission with minimal (de-)serialization overhead. The on-wire format of the network datagrams is not subject to a standardization process.
In constrast to the Custom VILLAS Human Readable format, this binary format is space efficient and commonly used for network communication.
Usually a a simulator sends one message per timestep. A message contains a variable number of values. Each message contains a header with the following fields:
Timestamps are represented in Unix time.
The format of the packets is described by the following code:
For now, only the first message type (data
) is used. Therefore the complete protocol is stateless. Later we might want to support more complex simulation scenarios which require some kind of controlling.
All values are sent in network byte order (big endian)!
The source code of the format-type is available here: https://git.rwth-aachen.de/acs/public/villas/node/-/blob/master/lib/formats/villas_binary.cpp
The Custom VILLAS Binary format-type supports all generic format options.
In addition the following settings are supported:
Configures the source index field which is a 8bit field in the packet header.