jade.domain
Class FIPAService

java.lang.Object
  |
  +--jade.domain.FIPAService
Direct Known Subclasses:
AMSService, DFService

public class FIPAService
extends java.lang.Object

This class provides a set of basic and static methods to perform the FIPA Agent Management actions. However, developers should use DFService and AMSService which provide specialized methods to communicate with the DF and the AMS.

Version:
$Date: 2003/11/18 16:25:44 $ $Revision: 2.3 $
Author:
Fabio Bellifemine - CSELT S.p.A.

Constructor Summary
FIPAService()
          Default constructor
 
Method Summary
static ACLMessage doFipaRequestClient(Agent a, ACLMessage request)
          This method plays the initiator role in the Fipa-Request interaction protocol and performs all the steps of the protocol.
static ACLMessage doFipaRequestClient(Agent a, ACLMessage request, long timeout)
          This method plays the initiator role in the Fipa-Request interaction protocol and performs all the steps of the protocol, and additionally sets a conversation timeout.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FIPAService

public FIPAService()
Default constructor

Method Detail

doFipaRequestClient

public static ACLMessage doFipaRequestClient(Agent a,
                                             ACLMessage request)
                                      throws FIPAException
This method plays the initiator role in the Fipa-Request interaction protocol and performs all the steps of the protocol. The method uses the :reply-with/:in-reply-to ACL message slots as a mechanism to match the protocol replies. Take care because the method blocks until all the response messages are received. Under error conditions, or if the responder does not wish to respond, that might block for ever the execution of the agent. For this reason, the FipaRequestInitiatorBehaviour is the preferred way to play the protocol.

Parameters:
a - is the Agent playing the initiator role
request - is the ACLMessage to be sent. Notice that all the slots of the message must have already been filled by the caller. If the :reply-with message slot is not set, a default one will be generated automatically.
Returns:
the INFORM message received in the final state of the protocol, if the protocol succeeded, otherwise it throws an Exception
FIPAException

doFipaRequestClient

public static ACLMessage doFipaRequestClient(Agent a,
                                             ACLMessage request,
                                             long timeout)
                                      throws FIPAException
This method plays the initiator role in the Fipa-Request interaction protocol and performs all the steps of the protocol, and additionally sets a conversation timeout. The method uses the :reply-with/:in-reply-to ACL message slots as a mechanism to match the protocol replies. Under error conditions, or if the responder does not wish to respond, that might block the execution of the agent until the conversation timeout expires. For this reason, the FipaRequestInitiatorBehaviour is the preferred way to play the protocol.

Parameters:
a - is the Agent playing the initiator role
request - is the ACLMessage to be sent. Notice that all the slots of the message must have already been filled by the caller. If the :reply-with message slot is not set, a default one will be generated automatically.
timeout - The maximum time to wait for the conversation to finish, in milliseconds.
Returns:
the INFORM message received in the final state of the protocol, if the protocol succeeded, otherwise it throws an Exception
FIPAException


JADE