3.3.3 Réalisation de l'interface graphique
Nous avons réalisé notre simulation sous forme
d'Applet héritant de la classe JApplet de la bibliothèque Swing.
L'interface graphique a été implémentée avec le
plugin Visual Editor de l'EDI (Environnement de développement
intégré) Java [15, 16, 17] Eclipse 3.2.
Définition 3.4 Les Swing sont des composants (boutons,
fenêtres, label, menus ...) utilisés pour faire des interfaces
graphiques. Ces composants sont regroupés dans le package Swing. Eclipse
3.2 comporte par défaut ce package.
Remarque 3.4 Les nombres manipulés dans la simulation sont
tous des réels de format double, le type de codage est : IEEE 754.
L'interface de simulation est présentée dans la
figure 3-8.
1 : Un bouton permettant l'affichage du rapport des
résultats de la simulation.
2 : Onglets des entrées de la simulation, des deux
stratégies et selon la méthode sélectionnée. Les
champs doivent contenir des nombres positifs.
3 : L'écran de simulation, les robots mobiles sont
représentés par des points de masses.
4 : Permet de contrôler la vitesse de simulation.
5 : Les résultats de la simulation, contient un
chronomètre qui calcule le temps de convergence, et affiche à la
fin de simulation la vitesse moyenne des agents donnée par
l'équation 3.3. Ainsi que le nombre de liens de communication (senseurs)
dans le système nécessaires à l'accomplissement de la
stratégie.
Utilsateur
setPrecision()
Donner uneprécision deconvergence
Si méthode = PC hiérarchique
Si le nombredecouches est2
Si méthode = PC à liens
Choisir la s tratégieetla méthode
setNgroupes() Sais ir le nombredegroupes
Choisir Nombre decouches
Sasir le nombre d'agents
Sais ir lenombre de liens
Lanc er la s imulation
LancerSimulation()
setN couches ()
Selectionner()
setNagents()
setNliens()
Positionner les agents
Interface:Interface
putPoint()
Ec ranSimulation()
Initialier Ec ran
Calculer les nombres de couches possibles
CalculNcouches()
Calc ulerla positionducentre
CalculCentre()
Afficher le temps de simulation Calc ulTemps ()
Sauv egarder les résultats Sauv egarderResult
Afficher le centre
putPoint()
La position des agents atteintle centre
Si méthode = Pours uite cy clique
Affichervitessede c onvergence
Calc uler lesnouvelles positions
Créer les agents
Si méthode = pours uite cy clique
Afficher le rapportdes résultats des s imulations
Vites seDeConvergence()
Agent()
Calc uler la matricede transformation
CalculPositions()
Ec ran: EcranSimulation
FinSimulation()
Circ ulante()
Afficher les nouvelles pos itions
Calc uler les rapports de taux
Ec rire()
Calc ulTaux()
Update()
PosAgent:Agent
A:Matrice
Taux :Taux
Rap port: Rappo
FIG. 3-8Interface principale de la simulation
6 : Boutons de contrôle, permettant de lancer la
simulation, l'arrêter puis la reprendre, l'annuler ou de tout
réinitialiser.
Remarque 3.5 Le temps de convergence:
Représente le nombre d'unités de temps
nécessaires à l'accomplissement du rendez-vous. L'unité
est le pas de la méthode de Runge Kutta, que nous avons vu au chapitre
3, et qui est égale à h = 0.1.
L'applet permet de tester les différentes
stratégies étudiées dans le chapitre 2, et de percevoir le
comportement des agents réalisant une stratégie de rendez-vous
sans l'intervention de l'utilisateur entre le lancement et l'accomplissement de
la simulation. Un rapport (voir la figure 3-9), sous forme d'une Jframe avec un
bouton fermer, peut être visualisé à la fin de chaque
simulation, regroupant tous les résultats obtenus, pour un groupe
d'agents donné, et aussi les rapports de taux calculés entre les
méthodes de la poursuite cyclique et qui permettent de comparer entre
elles. Dans l'exemple de la figure, le résultat du rapport de taux entre
la poursuite cyclique hiérarchique à 4 couches et la
traditionnelle signifie que la première converge 64 fois plus rapidement
que la seconde.
FIG. 3-9 - Rapport des résultats
|