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

Extinction Rebellion

VI.3. Implémentation de l'agent médiateur

public class Agent_Mediateur extends Agent{ ArrayList<String> Idents_AS;

public class Structure_entree_sortie{

String type_reponse;

ArrayList<String> objet_reponse;

} else {

}

public void setup() {

addBehaviour(new CyclicBehaviour(this){

public void action(){

ACLMessage msg_recu=receive();

// l'agent client agit selon le destinataire du massage reçu if(msg_recu.getSender().equals("Agent_Administrateur")) {

// récuperer les identificateurs des agents service // depuis le message envoyé par l'agent dministrateur ArrayList<String> liste=(ArrayList<String>)

msg_recu.getContentObject(); ListIterator<String> iter = liste.listIterator(); while(iter.hasNext())

{

Idents_AS.add(iter.next());

}

if(msg_recu.getSender().equals("Agent_Client"))) {

if(// le performatif du msg_recu== Cancel) {

// Diffusion du message "Annuler" aux // agents service

ACLMessage msg = new

ACLMessage(ACLMessage.CANCEL); ListIterator<String> iter=

Idents_AS.listIterator(); while(iter.hasNext())

{

msg.addReceiver(new AID(iter.next(),AID.ISLOCALNAME));

}

send(msg) ;

Cet agent est implémenté par la classe « Agent_Mediateur » qui hérite la classe jade.core.Agent. Ces différents actions sont regroupées au niveau de la methode setup(). Il exploite dans cette methode la fonction « Traiter_reponses_AS() » présentée ci-avant pour l'élaboration d'un plan solution au problème de l'utilisateur.

else

{

// Appliquer l'algorithme de planification

}

}

else // Message venant de l'un des agents service {

// Recuperer les réponses des agents service // dans le vecteur "Reponses_AS" Vector<Structure_entree_sortie> Reponses_AS=

(Vector<Structure_entree_sortie>)

msg_recu.getContentObject();

// Appeler la fonction "Traiter_reponses_AS" Vector<Structure_entree_sortie> retour_fonction=Traiter_reponses_AS

(Reponses_AS);

}

}

}

VI.4. Implémentation de l'agent service

public class Agent_Service extends Agent{

public class Structure_entree_sortie{

String type_reponse;

ArrayList<String> objet_reponse;

}

public void setup() {

// récuperer description OWL-S du service représenté

// appeler Traducteur OWL-S vers operateurs STRIPS

addBehaviour(new CyclicBehaviour(this){

public void action(){

// Recevoir message de l'agent médiateur ACLMessage msg_recu=receive();

if(// le performatif du message est CANCEL) {

// Arreter traitement en cours

Cet agent est implémenté par la classe « Agent_Service » qui hérite la classe jade.core.Agent.

else

{

// Appliquer algorithme de recherche de // solution

// Renvoyer résultats trouvées à l'agent // médiateur

// (solution_trouvée, solution_non_trouvée ou // bien nouveau_sousbut)

}

}

VII. Interfaces du système

Afin de mieux exploiter notre système, nous avons l'enrichir par un une interface graphique facilitant l'utilisation de ses différentes fonctionnalités.

Premièrement, le lancement du système mène à afficher son interface d'accueil suivante, permettant à un utilisateur de se connecter comme un client ou un administrateur.

précédent sommaire suivant






Extinction Rebellion





Changeons ce systeme injuste, Soyez votre propre syndic





"Enrichissons-nous de nos différences mutuelles "   Paul Valery