Le but de ce premier TP est de prendre en main le framework de communication. Pour cela, nous allons étudier le fonctionnement et le comportement d'un programme simple, selon différents contextes de simulation.
Créez un projet Java standard sous Netbeans et placez-y les sources du framework à partir de l'archive communication.zip.
Avant tout lancement de processus, il faut lancer le serveur
d'identification service.id.IdentificationServer
.
Le processus à lancer est le programme Chat.java
du
package par défaut du projet. Ce processus se connecte au système puis
diffuse chaque ligne entrée au clavier par l'utilisateur à tous les
autres processus en se basant sur un service de diffusion basique. On
quitte le processus en entrant la chaine "end".
Lancez plusieurs processus et vérifiez bien que cela marche correctement, que les messages sont bien diffusés. Regardez également les affichages du serveur d'identification.
Par défaut, le processus utilise une communication fiable sans
ajout de délai de propagation ni crash de processus. Il s'agit ici de
modifier les premières lignes de la méthode init
du
programme Chat.java
afin de modifier les attributs de
l'objet setting
utilisé à la connexion au système pour
simuler un certain modèle de système distribué.
Vous testerez notamment :
reliable
sur la
synchronicité des envois de messages et l'ordre de réception de ces
messages.crashProcess
. Pour info, dans le service de
diffusion basique, à chaque passsage dans la boucle réalisant la
diffusion, on simule un crash aléatoire.