Serveur de mémoire partagée

Le serveur de mémoire partagée (SHM Server, ou serveur de données) est un serveur maintenant les différentes propriétés à partager entre robots, et entre composants de chaque robot (simulateurs, IA, vue, etc…). L'intérêt est de composer ces différents acteurs sans hiérarchie, pour pouvoir simuler certaines fonctionnalités.

Fonctionnalités principales

Le serveur de données doit être conçu avec au moins les fonctionnalités suivantes :

  • mise à jour d'une propriété nommée, à la “key-value store”
  • polling des propriétés, écoutant les modifications
  • visibilité des propriétés (connexion en lecture-seule, écriture seule, lecture-écriture)
  • gestion de plusieurs transports (TCP, UDP, UNIX socket, etc…)

En ce qui concerne la séparation commande/état, comme ce n'est pas le cas pour toutes les propriétés, ce n'est pas à intégrer directement dans le serveur de données.