Mathieu Castets Master 2 TI
Année 2012-2013
Rapport – Fishmarket
UE Systèmes Multi-Agents
Introduction
Ce dossier présente le programme implémentant le protocole d’enchère au poisson
(Fishmarket) vu en cours grâce aux agents. Le code fourni en annexe ainsi que le programme
implémente le protocole dans la version la plus avancée « Plusieurs enchères, un vendeur et un
nombre quelque de preneurs par enchère »
Architecture du programme
Le projet Fishmarket a été développé sous l’IDE NetBeans. Il est
découpé en 3 paquetages comme le montre la figure ci-contre.
Package « agents »
Ce package contient les 3 agents nécessaires pour utiliser le
protocole. Chaque instance d’agent à sa propre interface
graphique.
Le fichier Buyer.java contient le code de l’agent Acheteur.
Le fichier Market.java contient le code de l’argent Marché, aussi
appelé Modérateur. Ce fichier est au centre du protocole, il gère
le protocole d’enchère et fait la liaison entre les agents
acheteurs et vendeurs.
Package « gui »
Ce package contient les interfaces graphiques pour chaque agent. On retrouve donc logiquement 3
fichiers : un fichier pour chaque agent.
Package « utils »
Ce package contient des classes utilisées pour communiquer entre les agents.
Le fichier Bid.java représente une enchère et contient forcement l’identifiant de l’agent vendeur et le
montant de son enchère et peut contenir éventuellement l’identifiant d’un agent preneur.
Le fichier Message.java représente le contenu d’un message ACL dans JADE. Cette classe est
sérializable et nous permet, de passer en paramètre d’un message ACL de nombreuses informations
(action à réaliser, enchère correspondante, …) plutôt qu’une simple chaine de caractères.