Powered By Blogger

May 1, 2013

More Tech Tips !!!: JADE MessagesWhen concerning a multi- agent syste...

More Tech Tips !!!: JADE Messages
When concerning a multi- agent syste...
: JADE Messages When concerning a multi- agent system we can see that individual agents are communicating and interact with each other....

JADE Messages


When concerning a multi- agent system we can see that individual agents are communicating and interact with each other. Basically this happens through exchanging messages between agents. It is essential that agents should agree on a format and semantics of the messages. Jade follows FIPA standards so that Jade agents could interact with agents written in other languages and running on other platforms.

The intended recipients, the sender, the message type and content are some basic parts of a message. In JADE, messages are strictly stick to the ACL (Agent Communication Language) standard. JADE also supports FIPA's SL (Semantic Language), which allows the content to be serialized Java objects.

Structure of a JADE Message:

  • Performative: FIPA message type:
            INFORM      - One agent gives another agent some useful information
            QUERY        - To ask a question.
REQUEST    - To ask the other to do something.
PROPOSE    - To start bargaining.
AGREE        -  For positive answers.
REFUSE      -  For negative answers. 

  • Addressing:
            Receiver
Sender
  • Content - Main content of the message.
  • ConversationID - Used to link messages in same conversation.
  • Language - Specifies which language is used in the content.
  • Ontology - Specifies which ontology is used in the content.
  • Protocol - Specifies the protocol.
  • ReplyWith - Another field to help distinguish answers.
  • InReplyTo - Sender uses to help distinguish answers.
  • ReplyBy - Used to set a time limit on an answer.

When you create a message, you have to indicate its type, its performative you have to and set the content:

ACLMessage msg = new ACLMessage( ACLMessage.INFORM );
msg.setContent("Hello Seller Agent…" );