Académique Documents
Professionnel Documents
Culture Documents
Cliquez pour modifier le style des Java Agent DEvelopment sous-titres du masque Framework
5/8/12
infrastructure de logiciels utilise comme environnement pour la cration, le dploiement et l'excution d'un ensemble d'agents.
un environnement pour crer et tester
Elle fournit :
des agents;
La plateforme JADE
plate-forme multi-agents cr par le laboratoire
TILAB: Collaboration de Telecom Italia, Motorola, Whitestein Technologies AG, Profactor GmbH, and France Telecom R&D.
Free et Open Source. 100 % Java; Une Interface graphique et outils de dbogage; conformes aux normes FIPA (Foundation
for
5/8/12
Agent
5/8/12
l'infrastructure physique sur laquelle se dploient les agents (Container). contient 1 ou plusieurs Containers : 1 seul maincontainer.
AMS Agent Management System supervise
l'enregistrement des agents, leur authentification, leur accs et l'utilisation du systme (pages blanches).
Agent Communication Channel Intra-Container InterMessage Containers Transport Message (Java events) Transport (Java RMI)
JADE Platform
Container Agen t Agen t Container Agen t Agen t
Messag e
JADE Platform
Container Agen t Agen t
Agen t
JADE Platform
Container Agen t Agen t Agen t
5/8/12
Les Agents
Chaque agent doit s'enregistrer un AMS pour
d'un agent. On lui donne plusieurs paramtres tels que l'adresse de transport, l'adresse de service de rsolution de nom, Un exemple est : <name@HAP >(Home Agent Platform)
5/8/12
Quelques commandes
Lancement de la Platform
java -cp lib\jade.jar jade.Boot gui
java -cp lib\jade.jar jade.Boot -gui -platform-id MyPlatform
Lancement
java -cp lib\jade.jar;chemin des classes jade.Boot 5/8/12 -gui agents AgentName:AgentClass
Pratique
Excuter lexemple de BOOK TRADING:
5/8/12
5/8/12
jade.core.Agent.
pour initialiser lagent (ex: enregistrement des services offerts). mthode: doDelete().
Pour arrter lagent il faut faire appel la Tester cette mthode sur votre agent. Si la mthode void takeDown() est
implment elle est xcut juste avant que lagent termine. oprations de fin comme la suppression des 5/8/12 services offerts.
Le passage dargument
Les arguments peuvent tre passs un
agent.
5/8/12
5/8/12
peut contenir la description dun ou plusieurs services fournis par un agent. class ServiceDescription.
Un service est dcrit par une instance de la Un service est enregistr en utilisant la
mthode register() de la class DFService, cette dernire permet de communiquer avec lagent DF de la Platform.
5/8/12
try { // initialisation de la description DFAgentDescription dfd = new DFAgentDescription(); dfd.setName(getAID()); /* service 1*/ ServiceDescription sd1 = new ServiceDescription(); sd1.setType("calcul"); sd1.setName("calculus service"); 5/8/12
agent et voir en utilisant lagent sniffer les communication entre votre agent et lagent DF.
5/8/12
class ServiceDescription.
Un service est cherch en utilisant la
mthode search () de la class DFService, cette dernire permet de communiquer avec lagent DF de la Platform. 5/8/12
recherche des services fournis par le premier Agent. utilisant lagent sniffer les diffrentes communications.
5/8/12
5/8/12
Abstr act cl as s
OneShotBehav iour
CyclicBehav iour
don e= t r u e don e= fa ls e
SequentialBeha viour
<<protected>> bodyAction()
ParallelBehav iour
<<protected>> bodyAction()
FSMBehavi our
<<protected>> bodyAction()
5/8/12
5/8/12
implment de faon excuter la mthode handleElapsedTimeout() aprs une priode passe comme argument au constructeur. excute sa tche priodiquement par la mthode onTick().
5/8/12
Travail faire
Crer un agent qui fournis le service de
calcul.(enregistrement).
Crer un agent client qui veut faire des
On va utiliser un:
Behaviour de type CyclicBehaviour pour
5/8/12
5/8/12
tape 1: prparation
(jade.core.Runtime)
Runtime rt = Runtime.instance();
Lancement de lagent :
agent1.start();