WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Planification multi-agents pour la composition dynamique

( Télécharger le fichier original )
par Brakni Ilhem
Université de Tébessa -algerie - Ingénieur d'état en informatique 2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

VI. Implémentation des agents du système

Comme nous avons vus, notre système est composé d'un ensemble d'agents en interaction pour résoudre le problème soumis par l'utilisateur. La meilleure façon d'implémenter un système multi-agents est l'utilisation d'une plateforme multi-agents. Celle utilisée dans notre travail est JADE. (Voir annexe B).

VI.1. implémentation de l'agent administrateur

Les principales méthodes utilisées par cet agent sont :

Setup() : c'est la méthode principale de chaque agent de JADE. Elle contient toutes les actions exécutées par cet agent.

public class Agent_Administrateur extends GuiAgent{

ArrayList<String> Idents_AS=new ArrayList<String>();

public void setup() { Idents_AS.add("Agent_S_Vol"); Idents_AS.add("Agent_S_Train"); Idents_AS.add("Agent_S_Bus");

// Lancement de l'agent médiateur et des agents service

// envoie des idents des agents services à l'agent médiateur ACLMessage msg = new ACLMessage(ACLMessage.INFORM) ; msg.addReceiver(new AID("Agent_Mediateur",AID.ISLOCALNAME)) ; msg.setContent(Idents_AS);

send(msg) ;

}

// L'agent médiateur réagit selon le type de l'événement(ev) // récupéré de l'interface graphique

protected void onGuiEvent(GuiEvent ev)

{

switch(ev.getType()) {

case conect_client:

// Création et lancement d'une instance de l'agent //client

// Lui envoyer l'identificateur de l'agent médiateur ACLMessage msg = new ACLMessage(ACLMessage.INFORM) ; msg.addReceiver(new

AID("Agent_Client",AID.ISLOCALNAME)); msg.setContent("Agent_Mediateur");

send(msg) ;

break;

case connect_admin:

while(non_valide_mp){

// récupération mot de passe administrateur, // vérification mot de passe

}

// Afficher Menu système break;

OnGuiEvent() : permettant l'agent administrateur de réagir aux différents événement capturés depuis l'interface graphique.

VI.2. Implémentation de l'agent client

public class Agent_Client extends GuiAgent{

public class Structure_entree_sortie{

String type_reponse;

ArrayList<String> objet_reponse;

} if(msg_recu.getSender().equals("Agent_Mediateur")) {

}

String Ident_AM; //pour contenir l'ident de l'agent médiateur

public void setup() {

addBehaviour(new CyclicBehaviour(this){

public void action(){

ACLMessage msg_recu=receive();

// l'agent client agit selon le distinataire du massage récu if(msg_recu.getSender().equals("Agent_Administrateur"))

{

// Récuperation de l'ident de l'agent médiateur Ident_AM=msg_recu.getContent();

Structure_entree_sortie reponse_AM=

(Structure_entree_sortie) msg_recu.getContentObject(); // Selon le type de la réponse récupéré //(solution_trouvee ou bien non_solution_trouvee)

// l'agent affiche les résultat à l'utilisateur

}

// L'agent médiateur réagit selon le type de l'événement(ev) // récupéré de l'interface graphique

protected void onGuiEvent(GuiEvent ev)

{

switch(ev.getType()) {

case Demande:

// Récuperer problème utilisateur et l'envoyer à // l'agent médiateur

break;

case Annulation:

// Envoyer demande d'annulation à l'agent médiateur

break;

}

}

}

L'agent client est implémenté par la classe « Agent_Client ». Il hérite comme l'agent administrateur la classe « jade.gui.GuiAgent » et utilise principalement les deux méthodes suivantes : Setup() et OnGuiEvent().

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Qui vit sans folie n'est pas si sage qu'il croit."   La Rochefoucault