CAPITULO 3: MARCO CONCEPTUAL
3.2 La Pedagogía Hospitalaria (PH)
Agent Communication Language (ACL) is expressly tailored to support the collaboration, negotiation, and information transfer required in agent interactions [28]. For the past decade, ACL has been one of the most important issues in multi-agent area. Since 1990, ACLs have been developed based on various standards. Some of the standards make major contributions to the development of ACL, which include Knowledge Query and Manipulation Language (KQML) and Foundation for Intelligent Physical Agents (FIPA) ACL.
As with many natural languages like English, the emergence of ACL is to support communications between entities. The significant difference between natural languages and ACLs is that natural languages support human communications, whereas ACLs support the communications between agents, and ACLs are more abstract. Differing from many communication mechanisms for exchanging information and knowledge, most ACLs have the following two characteristics [92]:
(i) ACLs handle propositions, rules, and actions;
(ii) An ACL message describes a desired state in a declarative language instead
of a procedure or method.
ACLs have many specific designs for agents; however we could not ignore the contributions of natural languages to the development of ACLs. All the existing ACLs inherit the basic concept of the semantic logic of natural language. For instance, most ACLs employ subject-predicate-object structure. The future research work in the ACL area still needs to refer to the development of natural language as a major design guideline.
The Knowledge Sharing Effort (KES), which was initiated circa 1990 by the Defense Advanced Research Projects Agency of the US Department of Defense, is often regarded as the origin of ACLs in several literature works [92, 93, 120]. The KSE model adopts a three-part relationship between: an agent, a content-bearing proposition (e.g. it is cloudy), and a finite set of propositional attitudes in an agent related to the proposition (e.g. believing, asserting, fearing, etc.). The KSE model consists of three layers of representation including: specifying propositional attitudes, specifying propositions, and specifying the ontology of those propositions [92].
KQML emerges in the early 1990s as a standardized agent-oriented language, which is often regarded as the most influential ACL. KQML provides a fundamental
architecture for knowledge sharing through communication facilitators (agents), which coordinate the interactions of other agents [47]. A typical KQML message consists of three layers including: content, communication, and message. Figure 2.8 gives two examples of the KQML messages.
(a) A query from agent Gates about the price of Microsoft stock.
(b)The stock-server’s reply.
Figure 2.8. Examples of KQML Messages (based on [93]).
FIPA ACL is another influential ACL for agent communications. FIPA ACL allows agents communicate with each other through messages (communicative acts). FIPA ACL is developed by the Foundation for Intelligent Physical Agents (FIPA) association. The FIPA’s goal is to make available specifications that maximize interoperability across agent-based systems, and producing the ACL specification is one of the major missions of FIPA [93].
The FIPA ACL’s syntaxes are almost identical to KQML, however FIPA ACL is more powerful in terms of composing new primitives. A FIPA ACL separates the instructions (like register, advertise, recommend, recruit, broker) from the core communication primitives. These instructions are not speech acts in the traditional sense but do have a useful role to play in conversations and provide the capabilities to manage an agent society.
A FIPA ACL message contains a set of one or more message parameters. The selections of specific parameters for effective agent communication will vary according to the situation. The only parameter that is mandatory in all FIPA ACL
messages is the performative, although it is expected that most FIPA ACL messages will also contain sender, receiver and content parameters. More reviews about FIPA
ACL language structure can be found in the Agent Design chapter or on the FIPA’s
official website [51]. Compared with KQML, FIPA ACL is generally regarded as a purer ACL when dealing with registration and facilitation primitives since FIPA ACL treats these primitives as requests for action and defines a range of reserved actions that cover the registration and life-cycle tasks [93]. Nevertheless, FIPA ACL seems to have advantages over the KQML so is more likely to become a leading ACL since FIPA ACL is more powerful in terms of composing new primitives and has well defined semantics in the beginning of its design. The AOCD framework adopts an AOCD ACL, which is based on the FIPA ACL with some modifications to adjust to the unique Matrix-agent design. The details of the modifications of the AOCD ACL
also can be found in the Agent Design chapter.
Several other agent communication languages also have been suggested, particularly the Web-based ACLs such as XML [63], RDF. However, the implementations and developments of these languages for agent systems are still immature, even not close to a formal comprehensive design.
Research work on developing practical and efficient agent communication languages is still very preliminary. The issues, including pragmatics (i.e., the actual use and effect of utterances in social encounters) [108], standardising various ACLs, and developing ACLs to support efficient reasoning processes, are still major problems in the ACL domain. The future directions of the ACL development (including the AOCD ACL) need to tackle these problems in various domains, particularly in Web-based systems.