• No results found

Communication languages for agent development and platforms

2.3 Agent Standards and Communication

2.3.2 Communication languages for agent development and platforms

FIPA communication language history started from creation of ARCOL by Sadex in 1991 from France Telecom, which soon after became known as FIPA-ACL or just ACL [19]. For the purpose of message content expression and dealing with several cooperation protocols, France Telecom recommends to use Semantic Language (SL). The main points of any communication act are the facts that the message is performative, includes sender, receiver and content. Several parameters of FIPA-ACL messages are given in Table 2.1 [18]. Sub-layers of the FIPA communication are detailed below:

• Transport: IIOP, WAP and HTTP are the message transports defined by FIPA;

• Encoding: messages can be represented in high level, such as String, XML and Bit-Efficient;

• Message: independent message;

• Ontology: can be used for expression of message content;

• Content expression: provides different types of expression, such as logic, algebra, etc., e.g. FIPA-SL;

• Communication Act (CA): performing or acting messages, e.g. request and inform;

• Interaction Protocol: used for message exchange, e.g. agree or refuse to the request message.

As mentioned previously, FIPA represents the CA standard for action purpose. Some set of CA performatives are “Inform”, “Inform If”, “Agree”, “Refuse”, etc. An example of FIPA-ACL message with an “Inform” performative is given below. An agent called TransformerOilSensor sends a message containing three gas ratios, to the receiver agent calledDataCollector.

( INFORM

:sender (agent-identifier

:name TransformerOilSensor) :receiver (set (agent-identifier

2.3 Agent Standards and Communication 16

:name DataCollector))

:content ‘‘(( set (Ratio1 0.00815) (Ratio2 6.7) (Ratio3 6.9)))’’ :language FIPA-SL :ontology PartPerMillion :protocol fipa-request )

Table 2.1: FIPA-ACL message parameters

Parameter Description

Performative Type of communicative acts

sender Identity of the sender of the message

receiver Identity of the intended recipients of the message reply-to Participant in communication

content Content of the message

language Language content are expressed encoding Description of content

ontology Description of content

protocol Conversation of interaction protocol conversation-id Control of conversation

reply-with Control of conversation in-reply-to Control of conversation reply-by Control of conversation

The logic of mental attitudes and actions in CAs is based on first-order modal lan- guages, which represent the intentional semantics for FIPA-SL. There are three sub- classes of SL (SL0, SL1, SL2) extended by FIPA to support various operations. The message content expression in FIPA-SL can be used in three cases:

• An action, for performing action. It is used as a content expression when the act is requested, and other CAs are derived from it;

• A proposition, for assigning a truth value. It is used in the “Inform” CA, and other CAs are derived from it;

2.3 Agent Standards and Communication 17

• An identifying reference expression, for identification of object in the domain. It is used in the inform-ref macro act, and other CAs are derived from it.

Clarification given above may be described using an example of two agents, A and B, that make use of theiota operator. The iota operator is a constructor for giving an expression. In this case, agent A has the following knowledge base: KB=P(A), Q(1,A), Q(1,B). The interaction between agents A and B is:

( QUERY-REF

:sender (agent-identifier :name B)

:receiver (set (agent-identifier :name A)) :content ‘‘((iota ?x (p ?x)))’’ :language FIPA-SL :reply-with query1) ) ( INFORM :sender (agent-identifier :name A)

:receiver (set (agent-identifier :name B))

:content ‘‘((= (iota ?x (p ?x)) alpha))’’ :language FIPA-SL

:in-reply-to query1) )

The expression (iota x (p x)), where x is term and (p x) is a formula, can be read as “the x such that p [is true] of x”. The query-ref message is replied with alpha which is the only object can satisfy the proposition p(x) [20].

2.3 Agent Standards and Communication 18

In terms of a series of messages among agents, interaction protocol is given by FIPA which allows an agent, called Initiator, to request other agent, called Participant, to perform an action. The Participant processes the request and decides whether the request should be accepted or refused. The interaction protocolInitiator andParticipant is shown in Figure 2.5.

Figure 2.5: The FIPA Interaction Protocol

Java Agent Development framework (JADE), developed by the University of Parma, is one of the agent platforms compliant with FIPA standard [20]. First JADE platform was developed in late 1998, by Telecom Italy under LGPL (Library Gnu Public License). The key idea of JADE is in implementation of an abstraction over a well-known Java object-oriented language. Thus, JADE programmers must develop their agents in full Java programming. In JADE platform agents live in containers, that provide the JADE run-time and all the services needed for hosting and executing agents. According to FIPA standards requirement, JADE platform utilizes the complete agent management specification, including the key services of ACC, AMS, MTS and DF. Main container is the first launch container with hosting for two main agents, AMS and DF. AMS supervises the entire platform and provides white pages service, while the DF agent implements yellow pages service. Furthermore, JADE platform provides a graphical user interface with various tools for helping developers in their design.

2.3 Agent Standards and Communication 19