|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjade.core.behaviours.Behaviour
jade.core.behaviours.CompositeBehaviour
jade.core.behaviours.SerialBehaviour
jade.core.behaviours.FSMBehaviour
jade.proto.SSContractNetResponder
public class SSContractNetResponder
Single Session version of the Responder role in the Fipa-Contract-Net protocol.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class jade.core.behaviours.Behaviour |
|---|
Behaviour.RunnableChangedEvent |
| Field Summary | |
|---|---|
java.lang.String |
ACCEPT_PROPOSAL_KEY
Key to retrieve from the DataStore of the behaviour the last received ACCEPT_PROPOSAL ACLMessage |
java.lang.String |
CFP_KEY
Key to retrieve from the DataStore of the behaviour the last received CFP ACLMessage |
protected static java.lang.String |
CHECK_IN_SEQ
|
protected static java.lang.String |
DUMMY_FINAL
|
static java.lang.String |
HANDLE_ACCEPT_PROPOSAL
|
static java.lang.String |
HANDLE_CFP
|
protected static java.lang.String |
HANDLE_OUT_OF_SEQUENCE
|
static java.lang.String |
HANDLE_REJECT_PROPOSAL
|
java.lang.String |
INITIATION_KEY
Key to retrieve from the DataStore of the behaviour the initiation ACLMessage that triggered this responder session |
java.lang.String |
PROPOSE_KEY
Key to retrieve from the DataStore of the behaviour the last sent PROPOSE ACLMessage |
protected static java.lang.String |
RECEIVE_NEXT
|
java.lang.String |
RECEIVED_KEY
Key to retrieve from the DataStore of the behaviour the last received ACLMessage |
java.lang.String |
REJECT_PROPOSAL_KEY
Key to retrieve from the DataStore of the behaviour the last received REJECT_PROPOSAL ACLMessage |
java.lang.String |
REPLY_KEY
Key to set into the DataStore of the behaviour the new ACLMessage to be sent back to the initiator as a reply. |
protected static java.lang.String |
SEND_REPLY
|
| Fields inherited from class jade.core.behaviours.FSMBehaviour |
|---|
currentName, lastStates |
| Fields inherited from class jade.core.behaviours.CompositeBehaviour |
|---|
currentExecuted |
| Fields inherited from class jade.core.behaviours.Behaviour |
|---|
myAgent, myEvent, NOTIFY_DOWN, NOTIFY_UP, parent, STATE_BLOCKED, STATE_READY, STATE_RUNNING |
| Constructor Summary | |
|---|---|
SSContractNetResponder(Agent a,
ACLMessage cfp)
Construct a SSContractNetResponder that is activated by the reception of a given initiation CFP message. |
|
SSContractNetResponder(Agent a,
ACLMessage cfp,
DataStore store)
Construct a SSContractNetResponder that is activated by the reception of a given initiation CFP message and uses a given DataStore. |
|
| Method Summary | |
|---|---|
protected void |
afterReply(ACLMessage reply)
This method can be redefined by protocol specific implementations to update the status of the protocol just after a reply has been sent. |
protected void |
beforeReply(ACLMessage reply)
This method can be redefined by protocol specific implementations to customize a reply that is going to be sent back to the initiator. |
protected boolean |
checkInSequence(ACLMessage received)
Check whether a received message complies with the protocol rules. |
protected ACLMessage |
handleAcceptProposal(ACLMessage cfp,
ACLMessage propose,
ACLMessage accept)
This method is called when an ACCEPT_PROPOSAL message is received from the initiator. |
protected ACLMessage |
handleCfp(ACLMessage cfp)
This method is called to handle the initial CFP message. |
protected void |
handleOutOfSequence(ACLMessage msg)
Redefine this method to call the overloaded version with 3 parameters. |
protected void |
handleOutOfSequence(ACLMessage cfp,
ACLMessage propose,
ACLMessage msg)
This method is called whenever a message is received that does not comply to the protocol rules. |
protected void |
handleRejectProposal(ACLMessage cfp,
ACLMessage propose,
ACLMessage reject)
This method is called when a REJECT_PROPOSAL message is received from the initiator. |
void |
onStart()
This method is just an empty placeholders for subclasses. |
protected void |
registerDSState(Behaviour b,
java.lang.String name)
Utility method to register a behaviour in a state of the protocol and set the DataStore appropriately |
void |
registerHandleAcceptProposal(Behaviour b)
This method allows to register a user defined Behaviour
in the HANDLE_ACCEPT_PROPOSAL state. |
void |
registerHandleCfp(Behaviour b)
This method allows to register a user defined Behaviour
in the HANDLE_CFP state. |
void |
registerHandleOutOfSequence(Behaviour b)
This method allows to register a user defined Behaviour
in the HANDLE_OUT_OF_SEQ state. |
void |
registerHandleRejectProposal(Behaviour b)
This method allows to register a user defined Behaviour
in the HANDLE_REJECT_PROPOSAL state. |
protected void |
reinit()
Re-initialize the internal state without performing a complete reset. |
void |
reset()
Reset this behaviour. |
protected void |
sessionTerminated()
This method can be redefined by protocol specific implementations to take proper actions after the completion of the current protocol session. |
| Methods inherited from class jade.core.behaviours.SerialBehaviour |
|---|
handle |
| Methods inherited from class jade.core.behaviours.CompositeBehaviour |
|---|
action, done, handleBlockEvent, handleRestartEvent, registerAsChild, resetChildren, setAgent |
| Methods inherited from class jade.core.behaviours.Behaviour |
|---|
actionWrapper, block, block, getBehaviourName, getDataStore, getExecutionState, getParent, getRestartCounter, isRunnable, restart, root, setBehaviourName, setDataStore, setExecutionState |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public final java.lang.String CFP_KEY
public final java.lang.String PROPOSE_KEY
public final java.lang.String ACCEPT_PROPOSAL_KEY
public final java.lang.String REJECT_PROPOSAL_KEY
public static final java.lang.String HANDLE_CFP
public static final java.lang.String HANDLE_ACCEPT_PROPOSAL
public static final java.lang.String HANDLE_REJECT_PROPOSAL
public final java.lang.String INITIATION_KEY
public final java.lang.String RECEIVED_KEY
public final java.lang.String REPLY_KEY
protected static final java.lang.String RECEIVE_NEXT
protected static final java.lang.String CHECK_IN_SEQ
protected static final java.lang.String HANDLE_OUT_OF_SEQUENCE
protected static final java.lang.String SEND_REPLY
protected static final java.lang.String DUMMY_FINAL
| Constructor Detail |
|---|
public SSContractNetResponder(Agent a,
ACLMessage cfp)
public SSContractNetResponder(Agent a,
ACLMessage cfp,
DataStore store)
| Method Detail |
|---|
protected ACLMessage handleCfp(ACLMessage cfp)
throws RefuseException,
FailureException,
NotUnderstoodException
cfp - the initial CFP message to handle.
RefuseException - if the CFP is refused. Throwing a
RefuseException has the same effect as returning a REFUSE message,
but automatically manages the :content slot.
FailureException - if there is an error serving the CFP.
Throwing a FailureException has the same effect as returning a FAILURE
message, but automatically manages the :content slot.
NotUnderstoodException - if the CFP content is not understood.
Throwing a NotUnderstoodException has the same effect as returning a NOT_UNDERSTOOD
message, but automatically manages the :content slot.
protected ACLMessage handleAcceptProposal(ACLMessage cfp,
ACLMessage propose,
ACLMessage accept)
throws FailureException
cfp - the initial CFP message.propose - the PROPOSE message sent back as reply to the initial
CFP message.accept - the received ACCEPT_PROPOSAL message.
FailureException - if there is an error serving the ACCEPT_PROPOSAL.
Throwing a FailureException has the same effect as returning a FAILURE
message, but automatically manages the :content slot.
protected void handleRejectProposal(ACLMessage cfp,
ACLMessage propose,
ACLMessage reject)
cfp - the initial CFP message.propose - the PROPOSE message sent back as reply to the initial
CFP message.reject - the received REJECT_PROPOSAL message or null if no
acceptance message is received from the initiator within the timeout
specified in the :reply-by slot of the PROPOSE message.
protected void handleOutOfSequence(ACLMessage cfp,
ACLMessage propose,
ACLMessage msg)
cfp - the initial CFP message.propose - the PROPOSE message sent back as reply to the initial
CFP message.msg - the received out-of-sequence message.public void registerHandleCfp(Behaviour b)
Behaviour
in the HANDLE_CFP state.
This behaviour would override the homonymous method.
This method also sets the
data store of the registered Behaviour to the
DataStore of this current behaviour.
CFP
message from the datastore at the CFP_KEY key.
REPLY_KEY key. Putting a message defferent from PROPOSE
(or putting no message) terminates the protocol.
b - the Behaviour that will handle this statepublic void registerHandleAcceptProposal(Behaviour b)
Behaviour
in the HANDLE_ACCEPT_PROPOSAL state.
This behaviour would override the homonymous method.
This method also sets the
data store of the registered Behaviour to the
DataStore of this current behaviour.
ACCEPT_PROPOSAL
message from the datastore at the ACCEPT_PROPOSAL_KEY
key, the initial CFP message at the CFP_KEY
and the previously sent PROPOSE message at the
PROPOSE_KEY.
REPLY_KEY key.
b - the Behaviour that will handle this statepublic void registerHandleRejectProposal(Behaviour b)
Behaviour
in the HANDLE_REJECT_PROPOSAL state.
This behaviour would override the homonymous method.
This method also sets the
data store of the registered Behaviour to the
DataStore of this current behaviour.
REJECT_PROPOSAL
message from the datastore at the REJECT_PROPOSAL_KEY
key, the initial CFP message at the CFP_KEY
and the previously sent PROPOSE message at the
PROPOSE_KEY.
b - the Behaviour that will handle this stateprotected void reinit()
protected void handleOutOfSequence(ACLMessage msg)
msg - the received out-of-sequence message.protected boolean checkInSequence(ACLMessage received)
protected void beforeReply(ACLMessage reply)
protected void afterReply(ACLMessage reply)
public void onStart()
BehaviourBehaviour.
onStart in class Behaviourpublic void registerHandleOutOfSequence(Behaviour b)
Behaviour
in the HANDLE_OUT_OF_SEQ state.
This behaviour would override the homonymous method.
This method also sets the
data store of the registered Behaviour to the
DataStore of this current behaviour.
The registered behaviour can retrieve
the out of sequence ACLMessage object received
from the datastore at the RECEIVED_KEY
key.
b - the Behaviour that will handle this statepublic void reset()
reset in class FSMBehaviourprotected void sessionTerminated()
protected void registerDSState(Behaviour b,
java.lang.String name)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||