/** * Send cfps to all receivers. * @param cfp The cfp. * @param convid The conversation id. * @param receivers The receivers. */ protected void sendCFP(Object cfp, String convid, List receivers) { // Send CFP. IMessageEvent cfpm = getEventbase().createMessageEvent("da_cfp"); cfpm.getParameterSet(SFipa.RECEIVERS).addValues(receivers.toArray()); cfpm.getParameter(SFipa.CONTENT).setValue(cfp); cfpm.getParameter(SFipa.CONVERSATION_ID).setValue(convid); getLogger().info(getComponentName() + ": cfp(" + cfp + ")"); sendMessage(cfpm); }
public void body() { IMessageEvent updateMsg = (IMessageEvent) getReason(); IGoal handleUpdate = createGoal("sp_handle_update"); handleUpdate.getParameter("subscription_id").setValue(updateMsg.getParameter(SFipa.CONVERSATION_ID).getValue()); handleUpdate.getParameter("update").setValue(updateMsg.getParameter(SFipa.CONTENT).getValue()); dispatchTopLevelGoal(handleUpdate); } }
/** * Send cfps to all receivers. * @param cfp The cfp. * @param convid The conversation id. * @param receivers The receivers. */ protected void sendCFP(Object cfp, String convid, List receivers) { // Send CFP. IMessageEvent cfpm = getEventbase().createMessageEvent("ea_cfp"); cfpm.getParameterSet(SFipa.RECEIVERS).addValues(receivers.toArray()); cfpm.getParameter(SFipa.CONTENT).setValue(cfp); cfpm.getParameter(SFipa.CONVERSATION_ID).setValue(convid); getLogger().info(getComponentName() + ": cfp(" + cfp + ")"); sendMessage(cfpm); }
reject.getParameter(SFipa.CONTENT).setValue(reject_proposals[i].getProposal()); sendMessage(reject);
/** * Announce the planned auction. * @param auctiondesc the auction description. * @param receivers The receivers. * @param convid The conversation id. */ protected void announceAuction(Object auctiondesc, List receivers, String convid) { // Send the inform_start_auction-message to all receivers. start = getEventbase().createMessageEvent("ea_inform_start_auction"); start.getParameterSet(SFipa.RECEIVERS).addValues(receivers.toArray()); start.getParameter(SFipa.CONTENT).setValue(auctiondesc); start.getParameter(SFipa.CONVERSATION_ID).setValue(convid); getLogger().info(getComponentName() + ":\tinform_start_auction"); getWaitqueue().addReply(start); sendMessage(start); }
/** * Process the second answer. */ protected void handleSecondAnswer(IMessageEvent answer) { getLogger().info("Second answer: " + answer +" "+this); if(answer.getType().equals("rp_failure")) { Object content = answer.getParameter(SFipa.CONTENT).getValue(); getLogger().info(getScope().getAgentName() + ": Received failure: " + content); requestFinished(false, new Object[]{answer.getType(), content}); } else if(answer.getType().equals("rp_inform")) { Object content = answer.getParameter(SFipa.CONTENT).getValue(); getLogger().info(getScope().getAgentName() + ": Request succeeded."); requestFinished(true, content); } else { assert false: "State should not be reached"; } }
/** * Announce the planned auction. * @param auctiondesc the auction description. * @param receivers The receivers. * @param convid The conversation id. */ protected void announceAuction(Object auctiondesc, List receivers, String convid) { // Send the inform_start_auction-message to all receivers. start = getEventbase().createMessageEvent("da_inform_start_auction"); start.getParameterSet(SFipa.RECEIVERS).addValues(receivers.toArray()); start.getParameter(SFipa.CONTENT).setValue(auctiondesc); start.getParameter(SFipa.CONVERSATION_ID).setValue(convid); getLogger().info(getComponentName() + ": inform_start_auction"); getWaitqueue().addReply(start); sendMessage(start); }
receivers.remove(removebidder.getParameter(SFipa.SENDER).getValue()); getLogger().info("Removed "+((IComponentIdentifier)removebidder.getParameter(SFipa.SENDER).getValue()).getName() + "."); +" from "+((IComponentIdentifier)removebidder.getParameter(SFipa.SENDER).getValue()).getName()+".");
end.getParameter(SFipa.CONTENT).setValue(new Object[]{Boolean.TRUE,winning_offer}); end.getParameterSet(SFipa.RECEIVERS).addValue(winner); end.getParameter(SFipa.CONVERSATION_ID).setValue(convid); sendMessage(end); end.getParameter(SFipa.CONTENT).setValue(new Object[]{Boolean.FALSE,winning_offer}); end.getParameterSet(SFipa.RECEIVERS).addValues(losers.toArray()); end.getParameter(SFipa.CONVERSATION_ID).setValue(convid); sendMessage(end);
/** * Process the second answer. */ protected void handleSecondAnswer(IMessageEvent answer) { getLogger().info("Second answer: " + answer +" "+this); if(answer.getType().equals(getShortProtocolName()+"_failure")) { Object content = answer.getParameter(SFipa.CONTENT).getValue(); getLogger().info(getScope().getAgentName() + ": Received failure: " + content); requestFinished(false, new Object[]{answer.getType(), content}); } else if(answer.getType().equals(getShortProtocolName()+"_inform")) { Object content = answer.getParameter(SFipa.CONTENT).getValue(); getLogger().info(getScope().getAgentName() + ": Protocol succeeded."); requestFinished(true, content); } else { assert false: "State should not be reached"; } }
end.getParameter(SFipa.CONTENT).setValue(new Object[]{Boolean.TRUE,winning_offer}); end.getParameterSet(SFipa.RECEIVERS).addValue(winner); end.getParameter(SFipa.CONVERSATION_ID).setValue(convid); sendMessage(end); end.getParameter(SFipa.CONTENT).setValue(new Object[]{Boolean.FALSE,winning_offer}); end.getParameterSet(SFipa.RECEIVERS).addValues(losers.toArray()); end.getParameter(SFipa.CONVERSATION_ID).setValue(convid); sendMessage(end);
public void body() { IMessageEvent msg = (IMessageEvent) getReason(); IMessageEvent reply = getEventbase().createReply(msg, "sp_agree"); sendMessage(reply); IGoal startSub = createGoal("sp_start_subscription"); startSub.getParameter("initiator").setValue(msg.getParameter(SFipa.SENDER).getValue()); startSub.getParameter("subscription_id").setValue(msg); startSub.getParameter("subscription").setValue(msg.getParameter(SFipa.CONTENT).getValue()); dispatchSubgoalAndWait(startSub); } }
public void body() { IMessageEvent subReq = createMessageEvent("sp_subscribe"); subReq.getParameter(SFipa.CONTENT).setValue(getParameter("subscription").getValue()); subReq.getParameterSet("receivers").addValue(getParameter("receiver").getValue()); if(getParameter("language").getValue()!=null) subReq.getParameter("language").setValue(getParameter("language").getValue()); if(getParameter("ontology").getValue()!=null) subReq.getParameter("ontology").setValue(getParameter("ontology").getValue()); if(getParameter("conversation_id").getValue()!=null) subReq.getParameter("conversation_id").setValue(getParameter("conversation_id").getValue()); getParameter("subscription_id").setValue(subReq.getParameter(SFipa.CONVERSATION_ID)); getWaitqueue().addReply(subReq); IMessageEvent reply = sendMessageAndWait(subReq); if (!SFipa.AGREE.equals(reply.getParameter(SFipa.PERFORMATIVE).getValue())) fail(); } }
|| answer.getType().equals("rp_failure")) Object content = answer.getParameter(SFipa.CONTENT).getValue(); getLogger().info(getScope().getAgentName() + ": Received"+answer.getType() + content); requestFinished(false, new Object[]{answer.getType(), content});
/** * Send the cfp message. * @param nr The current negotation record. * @param convid The conversation id. */ protected void sendCFP(NegotiationRecord nr, String convid) { startAtomic(); if(me!=null) { getWaitqueue().removeReply(me); } me = createMessageEvent(getShortProtocolName()+"_cfp"); me.getParameterSet(SFipa.RECEIVERS).addValues(nr.getParticipants()); me.getParameter(SFipa.CONVERSATION_ID).setValue(convid); me.getParameter(SFipa.CONTENT).setValue(nr.getCFP()); if(getParameter(SFipa.LANGUAGE).getValue()!=null) me.getParameter(SFipa.LANGUAGE).setValue(getParameter(SFipa.LANGUAGE).getValue()); if(getParameter(SFipa.ONTOLOGY).getValue()!=null) me.getParameter(SFipa.ONTOLOGY).setValue(getParameter(SFipa.ONTOLOGY).getValue()); getWaitqueue().addReply(me); endAtomic(); getLogger().info(getComponentName()+" (I)CNPPlan initiated: "+convid); sendMessage(me); }
/** * */ public void body() { IMessageEvent msg = (IMessageEvent) getParameter("message").getValue(); IMessageEvent update = getEventbase().createReply(msg, "sp_inform"); update.getParameter(SFipa.CONTENT).setValue(getParameter("update").getValue()); sendMessage(update); } }
/** * Perform the request. */ public void body() { //getLogger().info(getScope().getName() + ": Request initiator action called: " + this); getLogger().info("Request initiator action called: " + this+" "+getComponentName()); // Prepare message event. request = createMessageEvent("rp_request"); request.getParameter(SFipa.CONTENT).setValue(getParameter("action").getValue()); request.getParameterSet("receivers").addValue(getParameter("receiver").getValue()); if(getParameter("language").getValue()!=null) request.getParameter("language").setValue(getParameter("language").getValue()); if(getParameter("ontology").getValue()!=null) request.getParameter("ontology").setValue(getParameter("ontology").getValue()); if(getParameter("conversation_id").getValue()!=null) request.getParameter("conversation_id").setValue(getParameter("conversation_id").getValue()); // Send message and wait for answer. try { getWaitqueue().addReply(request); IMessageEvent event = sendMessageAndWait(request, getTimeout()); event = handleFirstAnswer(event); handleSecondAnswer(event); } catch(TimeoutException e) { requestFinished(false, STATUS_TIMEOUT); } }
/** * Execute the plan. */ public void body() { IMessageEvent rep = getEventbase().createReply((IMessageEvent)getReason(), "not_understood"); rep.getParameter(SFipa.CONTENT).setValue(((IParameterElement)getReason()).getParameter(SFipa.CONTENT).getValue()); sendMessage(rep); // sendMessage(((IMessageEvent)getReason()).createReply( // "not_understood", getReason().getParameter(SFipa.CONTENT).getValue())); } }
/** * Perform the request. */ public void body() { //getLogger().info(getScope().getName() + ": Request initiator action called: " + this); getLogger().info("Request/Query initiator action called: " + this+" "+getComponentName()); // Prepare message event. request = createMessageEvent(getShortProtocolName()+"_request"); request.getParameter(SFipa.CONTENT).setValue(getParameter("action").getValue()); request.getParameterSet("receivers").addValue(getParameter("receiver").getValue()); if(getParameter("language").getValue()!=null) request.getParameter("language").setValue(getParameter("language").getValue()); if(getParameter("ontology").getValue()!=null) request.getParameter("ontology").setValue(getParameter("ontology").getValue()); // Send message and wait for answer. try { getWaitqueue().addReply(request); IMessageEvent event = sendMessageAndWait(request, getTimeout()); event = handleFirstAnswer(event); handleSecondAnswer(event); } catch(TimeoutException e) { requestFinished(false, STATUS_TIMEOUT); } }
/** * Initialize the plan */ public AbstractReceiverPlan() { // Update interaction state if(hasParameter("interaction_state")) { InteractionState state = (InteractionState)getParameter("interaction_state").getValue(); if(state==null) { state = new InteractionState(); } state.setInteractionState(InteractionState.INTERACTION_RUNNING); } // Store interaction description if(hasParameter("interaction_description") && hasParameter("message")) { getParameter("interaction_description").setValue(((IMessageEvent)getParameter("message").getValue()).getParameter(SFipa.CONTENT).getValue()); } // Create cancel handler IGoal cmhandler = createGoal("cmcap.cm_handler"); cmhandler.getParameter("interaction_goal").setValue(getReason()); dispatchSubgoal(cmhandler); }