Algorithmique de la mobilité

↑ Accueil du cours


Random Waypoint Model

Dans ce modèle simple, les noeuds choisissent une destination aléatoire (dans la zone de simulation), s'y rendent à une certaine vitesse (aléatoire aussi, mais bornée par une valeur maximum), attendent un temps aléatoire, puis recommencent. Il est supposé que vous disposez déjà de la classe WaypointNode, dont nous réutiliserons le code ici.

Q1. Créer une classe RWPNode (pour Random Way Point) qui hérite de la classe WaypointNode.

Q2. Faire en sorte que le noeud choisisse une destination aléatoire au démarrage (méthode onStart()).

Q3. Implémenter une variante simple où les noeuds vont tous à la même vitesse (valeur par défaut) et ne s'arrêtent pas sur les destinations, c'est à dire qu'ils choisissent directement une nouvelle destination lorsque la précédente est atteinte. Bien sûr, l'idée est de surcharger la méthode onArrival() de la classe WaypointNode.

Q4. Vérifier que la classe se comporte comme attendu. Penser à indiquer à JBotSim, dans votre main(), d'utiliser la classe RWPNode par défaut, comme expliqué ici.

Variante avec pauses et vitesses variables

Q5. Faire en sorte que les noeuds utilisent des vitesses aléatoires (entre 0 et une valeur maximum fixée).

Q6. Introduire des pauses de durée aléatoire sur les destinations. La méthode la plus simple est d'appeler getTime() dans la méthode onClock() en y ajoutant les tests adéquats (note: getTime() retourne le nombre de tops d'horloge écoulés depuis le début).