Rendez-vous de robots: Simulation d’un algorithme réparti Nombre d’étudiants: 2 (possibilité d’avoir deux groupes de 2 étudiants) Contact: Swan Dubois ([email protected]) Marjorie Bournat ([email protected]) Mot-clefs: robots, rendez-vous, simulateur, JBotSim. Contexte Un système distribué/réparti est un système composé de plusieurs entités indépendantes. Un algorithme réparti est un algorithme exécuté par ces entités dans le but de résoudre un problème commun. L’agorithme distribué [3] que vous étudierez durant ce projet est un algorithme de rendez-vous. Le problème du rendez-vous consiste à faire en sorte que deux entités indépendantes se rejoignent en un même point sans aide extérieure. Aucune des deux entités ne connaı̂t bien sûr au préalable la position de l’autre entité qu’elle doit rencontrer. Les entités auxquelles on s’intéresse sont des robots. Ils sont identiques (aucun moyen ne permet de les distinguer), ils sont autonomes (ils se suffisent à eux même pour exécuter un algorithme), ils possèdent une mémoire illimitée, ils sont asynchrones (ils ne se déplacent pas à la même vitesse, et leurs vitesses ne sont pas constantes au cours du temps). Ils se déplacent dans une grille inifinie dont ils connaissent l’origine (0, 0). Chacun des robots connaı̂t également ses propre coordonnées dans cette grille. L’exécution de l’algorithme permet que les deux robots se rencontrent rapidement (en un temps polynomial en fonction de la distance initiale qui les sépare). Le but de ce projet est de comprendre cet algorithme et de le simuler sous JBotSim [1, 2] afin d’en apporter une validation et une analyse expérimentale. JBotSim est une interface au-dessus de Java qui permet de simuler des systèmes dynamiques (évoluant au cours du temps). Ici, on veut simuler le mouvement de robots, cette interface est donc approrpiée pour notre problème. Déroulement du projet / objectifs • Dans un premier temps il vous sera demandé de prendre en main le simulateur JBotSim [1, 2]. • Puis vous devrez vous familiariser avec l’algorithme de rendez-vous décrit dans l’article [3]. • Enfin, il vous sera demandé d’implémenter cet algorithme de rendez-vous sous le simulateur JBotSim. Pré-requis: savoir coder en java. References [1] Arnaud Casteigts. http://jbotsim.sourceforge.net/. 1 [2] Arnaud Casteigts. Jbotsim: a tool for fast prototyping of distributed algorithms in dynamic networks. In Proceedings of the 8nd international ICST conference on simulation tools and techniques, SIMUTools’15, Athens, Greece, 2015. [3] Andrew Collins, Jurek Czyzowicz, Leszek Gasieniec, and Arnaud Labourel. Tell me where I am so I can meet you sooner. 2010. 2