Sujet TER - Master 1 - Année 2005-2006

Réalisation d'un logiciel de Chat dédié sous Madkit intégré à un logiciel de partage de documents

Présenté par Jacques Ferber

MadKit est une plate-forme de développement de systèmes multiagents fonctionnant en Java. Madkit fonctionne en mode distribué de manière "transparente" à partir d'une architecture "peer to peer" sans nécessiter de serveur dédié. Il est ainsi possible de faire communiquer des agents à distance sans avoir à se préoccuper des problèmes de communication qui sont gérés par la plate-forme. Madkit utilise le protocole TCP et les sockets pour la gestion des messages entre agents.

Madkit utilise le modèle AGR (Agent/Groupe/Rôle) pour structurer les communications entre agents. Les groupes sont distribués de manière automatique sur les différents noyaux Madkit présents. MadKit est un système OpenSource que l'on peut télécharger à www.madkit.org. MadKit dispose d'une architecture à base de plugins qui lui permet d'avoir une vision modulaire des applications.

Le modèle AGR, à partir duquel est construit MadKit est fondé sur une interaction entre groupes, rôles et agents :

L'organisation de MadKit sous forme de groupes et de rôles.

Image du "bureau" de MadKit
(cliquer sur l'image pour l'élargir)

Madkit fonctionne de manière distribuée selon un mode peer to peer. Il introduit aussi la notion de « communauté », c’est à dire d’application distribuée à laquelle un ensemble d’agents peuvent se réunir et partager des applications et des documents. Il est ainsi possible de réaliser facilement de nombreuses applications distribuéees: chat, partage de documents, jeux distribués, etc..

Une application de type logiciel de causerie ou "chat" a été développé dans MadKit. Elle permet à des utilisateurs de converser simplement soit avec tout le monde, soit sur un "topic" dédié avec quelques utilisateurs.

Or, il existe de nombreux besoins en termes de messagerie instantanée: beaucoup d'utilisateurs désirent avoir des logiciels de messagerie dédiés, sans utiliser des logiciels de type MSN ou LiveCom (Wanadoo), c'est à dire de pouvoir créer pour un petit groupe d'utilisateurs des logiciels de causerie protégés.

Le logiciel de Chat de MadKit permet de répondre à ces besoins. Néanmoins ce logiciel souffre de quelques défauts:

- sur le plan de l'interface graphique, l'interface n'est pas très attractive car il s'agit simplement d'un mode texte. Entre autre, il n'y a pas la possibilité d'avoir des smileys, il n'y a pas la possibilité de définir un profil d'utilisateur, de transférer des images ou du son. Il existe un logiciel de partage de documents (Share) qui permet de le faire sous MadKit, mais il n'est pas intégré au Chat.

- sur le plan du réseau, il faut connaitre l'adresse IP d'un des agents déjà utilisant le chat.

- Il existe plusieurs types d'agents de communication: Communicator, NetComm (NetAgent) et JXTAgent.. Lequel est le plus adapté à ce type d'application?

Travail à fairedans le cadre du TER

Il s'agit d'améliorer le Chat de MadKit en liaison avec le logiciel de partage de documents (Share) de manière à en faire un logiciel complet de causerie simultané et de partage de documents permettant de créer un petit réseau personnel de messagerie instantané.

Le travail porte sur les aspects suivants:

Note: il s'agit de produire un logiciel réellement exploitable par n'importe qui. Ce n'est pas une maquette!!

Il faudra donc prendre grand soin aux techniques de programmation, et assurer l'utilisabilité du logiciel.