Download A Multi-Agent Approach for Distribution System Restoration

Transcript
ACLMessage propose = cfp.createReply();
propose.setPerformative(ACLMessage.PROPOSE);
propose = fillContent(propose,String.valueOf(capacity),priority);
return propose;
}
else{
//Propose the requested amount
System.out.println("Agent "+getLocalName()+": Proposing "+power_request);
ACLMessage propose = cfp.createReply();
propose.setPerformative(ACLMessage.PROPOSE);
propose = fillContent(propose,String.valueOf(power_request),priority);
return propose;
}
}
else{
//Capacity has been reached
System.out.println("Agent "+getLocalName()+": Refuse, no capacity");
throw new RefuseException("evaluation-failed");
}
}
protected ACLMessage prepareResultNotification
(ACLMessage cfp, ACLMessage propose,ACLMessage accept) throws FailureException {
//System.out.println("Agent "+getLocalName()+": Proposal accepted");
if (true) {
//Action is always performed successfully
ACLMessage inform = accept.createReply();
inform.setContent(accept.getContent());
inform.setPerformative(ACLMessage.INFORM);
//Sending power agreement back
//Update current power level:
float power_contract = extractContent(accept,1);
current_powerlevel = current_powerlevel + power_contract;
System.out.println(myAgent.getLocalName()+
"preparenotify current_powerlevel "+ current_powerlevel);
return inform;
}
else {
System.out.println("Agent "+getLocalName()+": Action execution failed");
throw new FailureException("unexpected-error");
}
}
protected void handleRejectProposal
(ACLMessage cfp, ACLMessage propose, ACLMessage reject) {
System.out.println("Agent "+getLocalName()+": Proposal rejected");
}
protected void handleOutOfSequence(ACLMessage cfp){
System.out.println(myAgent.getLocalName()+ "In handle out of sequence...");
ACLMessage refuse = cfp.createReply();
refuse = fillContent(refuse,"-1",1);