Package jade.domain

Class FIPAService

  • Direct Known Subclasses:
    AMSService, DFService

    public class FIPAService
    extends 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$ $Revision$
    Author:
    Fabio Bellifemine - CSELT S.p.A.
    • Constructor Detail

      • FIPAService

        public FIPAService()
    • 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
        Throws:
        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
        Throws:
        FIPAException