Skip to content

RSP Introduction

Yoav Grimland edited this page Sep 3, 2024 · 6 revisions

RSP Introduction

While for some applications, no separation between the simulator and the agent is acceptable, for others, a client-server model is essential. In this model, there is absolute separation between the agent and the simulator, so that the agent cannot access any hidden information from the simulator, and a simulator may be used remotely, using the internet. For this, a "remote simulator" is used. Below, is the specification for the communication protocol between the client (henceforth, agent) and the server (henceforth, simulator).

Specifications

The latest and first version of the protocol is 1, and its specification is available here.

Versioning guarantees

RSP protocol versions are natural numbers. This means 1, 12, 1003, etc. are all valid RSP versions. Beyond invariant sections of the protocol, which are clearly marked as such, in each specification of each version of it, no compatibility between different versions can be assumed.

Should a phrasing error, typo, logic error, or any kind of error be spotted in a version, current or previous, if the error will be deemed inconsequential, such as in cases where the error is related to an edge-case not encountered in practical communication, or assuming most people's interpretation of the errant section, was the intended one, that version's specification may be updated, technically changing behavior. Otherwise, depending on the recency of the version, a new version number may be created, with a corrected specification, to fix the issue.

Clone this wiki locally