Agent Communication Language (ACL)
The ACL package is responsible for creation of a message that's understandable by all entities involved in the multi agent system. Through this package all agents will create a message through some pre defined rules . And the message will be sent to the required destination. At the reception end, the agent will take its own decision based on the ACL Message.
Agent Communication Languages provides agents with a means of exchanging information and knowledge, which is really the essence of all forms of interaction in multi-agent systems. The result of which, was the FIPA ACL. ACL is an outer language that specifies message format and include descriptions of their pragmatics that is the communicative acts or intentions of the agents. Furthermore, FIPA also define semantic languages to successfully communicate with each other. FIPA published SL which provides rich semantics. Every agent has common semantics to talk each other that is based on shared ontology.
Components of Ontology
- "A formal, explicit specification of a shared conceptualization." [Gruber]
- "A hierarchically structured set of terms to describe a domain that can be used as a skeletal foundation for a knowledge base." [Swartout].
- Ontology is a shared vocabulary.
- Ontology can be considered as different "concepts" linked togather.
- Communication impossible without Ontology.
Provide support for creating Ontologies
ACL Message Object
The ACL Message object basically encapsulates all the contents, pragmatics, and other constituents of any communication requirement between two agents those who want to communicate.
The ACL Message object can not be sent to remote platform due to message overheads and possibility of network congestion. We need to parse the ACL Message into a common understood format based string that is understood by the parsers at both ends of communication. That is why we need ACL Coder and Decoder at both end of communication to covert the ACLMessage to String and vice versa.
-- AndreySalnikov? - 27 May 2004
- Creating Concepts
- Creating Predicates
- Creating Actions
- Hierarchically (logically) adding them into a schema (Ontology).