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

 > 

La génération des diagrammes AUML à  partir d'un programme Jade

( Télécharger le fichier original )
par Zina Mecibah
Université Larbi Ben M'Hidi d'Oum El Bouaghi Algérie - Master en informatique - systèmes distribués - 2012
  

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

Chapitre 3 : Approche proposée et presentation de l~oatil d~veloppe

if (Prix > 50000)

{

ACLMessage_with_role msg1 = new ACLMessage_with_role(ACLMessage.CANCEL);

msg1.setContent("Ignorer la demande");

msg1.addReceiver(new AID("AgentB", AID.ISLOCALNAME),"telemarketing",5);

send(msg1);

}

}

};

//Behaviour qui permet d'accepter ou rejeter la proposition :

OneShotBehaviour accepter_ou_rejeter_propose = new OneShotBehaviour() {

public void action()

{

ACLMessage message = null ;

while (message == null)

{

message = receive() ;

}

int propose = 0;

if(message == receive

(MessageTemplate.MatchPerformative(ACLMessage.NOT_UNDERSTOOD)))

{

propose = 2;

//ajouter un behaviour.

}

if(message == receive(MessageTemplate.MatchPerformative(ACLMessage.REFUSE)))

{

propose = 3;

//ajouter un behaviour.

}

if(message == receive(MessageTemplate.MatchPerformative(ACLMessage.PROPOSE))) {

if (message.getContent().contains("La liste des produits disponible est:")&& message.getContent().contains("Computer DELL"))

{

} else

{

}

}

propose = 0;

propose = 1;

Chapitre 3 : Approche proposée et presentation de l~oatil d~veloppe

switch(propose)

{

case(0):

{

ACLMessage_with_role msg = new

ACLMessage_with_role(ACLMessage.ACCEPT_PROPOSAL);

msg.setContent("la proposition est acceptable,

Donnez moi le prix");

msg.addReceiver(new AID("AgentB", AID.ISLOCALNAME),"telemarketing",3);

send(msg);

addBehaviour("Acheteur", traiter_prix); break;

}

case(1):

{

ACLMessage_with_role msg = new

ACLMessage_with_role(ACLMessage.REJECT_PROPOSAL);

msg.setContent("rejeter la proposition");

msg.addReceiver(new AID("AgentB", AID.ISLOCALNAME),"telemarketing",3);

send(msg); break;

}

}

};

}

addBehaviour("Acheteur",demande);

addBehaviour("Acheteur",accepter_ou_rejeter_propose);

}

}

Le code de l'agent AgentB est le suivant : package Memoire_mecibah_zina;

import jade.core.AID;

import jade.core.Agent;

import jade.core.behaviours.OneShotBehaviour; import jade.lang.acl.ACLMessage;

import jade.lang.acl.MessageTemplate;

public class AgentB extends telemarketing { protected void setup()

{

//l'ajout d'un nouveau produit :

produit a = new produit(); produits.add(a);

Chapitre 3 : Approche proposée et presentation de l~oatil d~veloppe

//Enregistrement de la description de l'agent dans DF (Directory Facilitator)

OneShotBehaviour enregisterDF = new OneShotBehaviour() {

public void action()

{

register_in_DF();

}

};

//Behaviour qui permet d'accepetr la proposition

final OneShotBehaviour accepter_proposition = new OneShotBehaviour()

{

public void action()

{

ACLMessage_with_role msg = new

ACLMessage_with_role(ACLMessage.INFORM);

msg.setContent("le prix du computer DELL est:" +

"70000" +"DA" );

msg.addReceiver(new AID("AgentA", AID.ISLOCALNAME),"Acheteur",4);

send(msg);

ACLMessage message2 = null ; while (message2 == null)

{

message2 = receive() ;

}

if (message2.getContent().equalsIgnoreCase("Ignorer

la demande"))

{

System.out.println("\n oops !!!");

}

else

{

System.out.println ("\n Bravo");

}

}

};

//Behaviour qui permet de rejeter la proposition

final OneShotBehaviour rejeter_proposition = new OneShotBehaviour()

{

public void action()

{
}

};

Chapitre 3 : Approche proposée et presentation de l~oatil d~veloppe
//attente de message (de l'agent Acheteur <<AgentA>>)

OneShotBehaviour recevoir_message = new OneShotBehaviour() {

public void action()

{

ACLMessage message = receive(MessageTemplate.MatchPerformative(ACLMessage.REQUEST));

while (message == null)

{

message = receive() ;

}

boolean message_adequat = false;

if (message.getContent().equalsIgnoreCase("donner

moi la liste des produits SVP"))

{

message_adequat = true;

}

char test = 'N';

if(message_adequat != false) {

if(produits.size() == 0)

{

test = 'R'; }

else

{

test = 'P';

}

}

switch (test)

{

case('R'):

{

ACLMessage_with_role msg = new

ACLMessage_with_role(ACLMessage.REFUSE);

msg.setContent("la liste des

produits est vide");

msg.addReceiver(new AID("AgentA",

AID.ISLOCALNAME),"Acheteur",2);

send(msg);

break;

}

case('N'):

{

ACLMessage_with_role msg = new ACLMessage_with_role(ACLMessage.NOT_UNDERSTOOD);

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








"Ceux qui vivent sont ceux qui luttent"   Victor Hugo