jade.proto
Class SSIteratedContractNetResponder

java.lang.Object
  extended by jade.core.behaviours.Behaviour
      extended by jade.core.behaviours.CompositeBehaviour
          extended by jade.core.behaviours.SerialBehaviour
              extended by jade.core.behaviours.FSMBehaviour
                  extended by jade.proto.SSContractNetResponder
                      extended by jade.proto.SSIteratedContractNetResponder
All Implemented Interfaces:
java.io.Serializable

public class SSIteratedContractNetResponder
extends SSContractNetResponder

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class jade.core.behaviours.Behaviour
Behaviour.RunnableChangedEvent
 
Field Summary
protected static java.lang.String CHECK_IN_SEQ
           
protected static java.lang.String DUMMY_FINAL
           
protected static java.lang.String HANDLE_OUT_OF_SEQUENCE
           
 java.lang.String INITIATION_KEY
          Key to retrieve from the DataStore of the behaviour the initiation ACLMessage that triggered this responder session
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 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.proto.SSContractNetResponder
ACCEPT_PROPOSAL_KEY, CFP_KEY, HANDLE_ACCEPT_PROPOSAL, HANDLE_CFP, HANDLE_REJECT_PROPOSAL, PROPOSE_KEY, REJECT_PROPOSAL_KEY
 
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
SSIteratedContractNetResponder(Agent a, ACLMessage cfp)
           
SSIteratedContractNetResponder(Agent a, ACLMessage cfp, DataStore store)
          Construct a SSIteratedContractNetResponder 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.
 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 registerHandleOutOfSequence(Behaviour b)
          This method allows to register a user defined Behaviour in the HANDLE_OUT_OF_SEQ state.
 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.proto.SSContractNetResponder
handleAcceptProposal, handleCfp, handleOutOfSequence, handleOutOfSequence, handleRejectProposal, registerHandleAcceptProposal, registerHandleCfp, registerHandleRejectProposal, reinit
 
Methods inherited from class jade.core.behaviours.FSMBehaviour
checkTermination, deregisterDefaultTransition, deregisterState, deregisterTransition, forceTransitionTo, getChildren, getCurrent, getLastExitValue, getName, getPrevious, getState, handleInconsistentFSM, handleStateEntered, hasDefaultTransition, onEnd, registerDefaultTransition, registerDefaultTransition, registerFirstState, registerLastState, registerState, registerTransition, registerTransition, resetStates, scheduleFirst, scheduleNext, stringifyTransitionTable
 
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

INITIATION_KEY

public final java.lang.String INITIATION_KEY
Key to retrieve from the DataStore of the behaviour the initiation ACLMessage that triggered this responder session


RECEIVED_KEY

public final java.lang.String RECEIVED_KEY
Key to retrieve from the DataStore of the behaviour the last received ACLMessage


REPLY_KEY

public final 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.


RECEIVE_NEXT

protected static final java.lang.String RECEIVE_NEXT
See Also:
Constant Field Values

CHECK_IN_SEQ

protected static final java.lang.String CHECK_IN_SEQ
See Also:
Constant Field Values

HANDLE_OUT_OF_SEQUENCE

protected static final java.lang.String HANDLE_OUT_OF_SEQUENCE
See Also:
Constant Field Values

SEND_REPLY

protected static final java.lang.String SEND_REPLY
See Also:
Constant Field Values

DUMMY_FINAL

protected static final java.lang.String DUMMY_FINAL
See Also:
Constant Field Values
Constructor Detail

SSIteratedContractNetResponder

public SSIteratedContractNetResponder(Agent a,
                                      ACLMessage cfp)

SSIteratedContractNetResponder

public SSIteratedContractNetResponder(Agent a,
                                      ACLMessage cfp,
                                      DataStore store)
Construct a SSIteratedContractNetResponder that is activated by the reception of a given initiation CFP message and uses a given DataStore.

Method Detail

checkInSequence

protected boolean checkInSequence(ACLMessage received)
Check whether a received message complies with the protocol rules.

Overrides:
checkInSequence in class SSContractNetResponder

beforeReply

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. This default implementation does nothing.

Overrides:
beforeReply in class SSContractNetResponder

afterReply

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. This default implementation does nothing.

Overrides:
afterReply in class SSContractNetResponder

onStart

public void onStart()
Description copied from class: Behaviour
This method is just an empty placeholders for subclasses. It is executed just once before starting behaviour execution. Therefore, it acts as a prolog to the task represented by this Behaviour.

Overrides:
onStart in class Behaviour

registerHandleOutOfSequence

public void registerHandleOutOfSequence(Behaviour b)
This method allows to register a user defined 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.

Parameters:
b - the Behaviour that will handle this state

reset

public void reset()
Reset this behaviour.

Overrides:
reset in class FSMBehaviour

sessionTerminated

protected void sessionTerminated()
This method can be redefined by protocol specific implementations to take proper actions after the completion of the current protocol session.


registerDSState

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