Ce projet implémente l'algorithme d'onde ECHO pour les réseaux non dirigés. Pour simuler une exécution réaliste dans chaque répétition de l'algorithme, les nœuds capables d'exécuter le protocole génèrent de manière aléatoire.
Selon l'objectif du réseau, une structure de réseau appropriée doit être sélectionnée car il existe une corrélation entre le modèle de connexion du réseau, le coût et le temps du réseau. Par conséquent, le temps d'exécution est abandonné lorsque la connectivité du réseau est solide, mais cela augmente le coût (messages totaux envoyés) et produit des arbres peu profonds. D'un autre côté, si un réseau n'est pas bien connecté, le coût diminue mais que le temps augmente et la profondeur de l'arbre.
L'entrée est lue par un fichier .txt qui doit être situé dans le dossier SRC / Resources /. Ce fichier doit avoir un modèle unique qui doit être suivi afin que le programme s'exécute correctement. Les règles décrites ci-dessous doivent être suivies:
La première ligne du fichier doit être la taille du graphique. (pour éviter de lire le fichier deux fois)
Chacune des lignes de repos doit représenter un bord avec le format suivant: '$ Integer + Space || Tab + $ Integer' (par exemple, la ligne "3 2" ou "3 2" signifie que les nœuds avec la valeur 3 et 2 sont connectés).
Chaque valeur de nœud (Val) doit être un entier et satisfaire l'inégalité suivante: 0> = Val> Graphsize. Il est fortement conseillé, car des structures statiques ont été utilisées,
Le fait que toutes les valeurs des nœuds, dans la plage de [0, graphsize), soient utilisées afin d'éviter l'allocation de mémoire inutile, assurez-vous également que le graphique est connecté, sinon l'algorithme ne se terminera pas, car l'exécution de l'algorithme dans les composants connectés du graphique n'a pas encore été implémenté
@ src.uk.ac.ncl.echo.usealgorithm # Main: Si vous souhaitez tester votre fichier, ajoutez le nom du fichier dans le tableau de chaîne InputFileName et le fichier lui-même dans le dossier SRC / Resources /.
@ src.uk.ac.ncl.echo.usealgorithme: deux constantes sont déclarées pour aider à tirer des conclusions du rapport. Si vous modifiez Test = TRUE, le mode test est activé et chaque graphique exécutera l'algorithme Test_Runs Times. Puis un résultat.txt est créé contenant les résultats du test.
@ src.uk.ac.ncl.echo.echowavealgorithm: k est défini sur 2 par défaut.