Here is a full report on "What kinds of languages can agents use to communicate?". Multi-Agent System (MAS) is composed of multiple heterogeneous intelligent software systems called agents. Agents need an Agent Communication Language (ACL) in order to interact in a shared language, hiding the details of their internals and to build communities of agents that can tackle problems that no individual agent can.
Overview and clarification of blockchain on following respects: what blockchain is, when it appeared, how it works, who designed/develops it, what it can achieve?
Author : Dr Christian Cachin, IBM
Overview and clarification of blockchain on following respects: what blockchain is, when it appeared, how it works, who designed/develops it, what it can achieve?
Author : Dr Christian Cachin, IBM
Blockchain data structures and fundamentalCodium Club
The blockchain is a growing list of records called blocks which are linked using cryptography. So, here's a small introductory presentation to describe the basic fundamentals and data structure of the blockchain.
Transactions and Concurrency Control in distributed systems. Transaction properties, classification, and transaction implementation. Flat, Nested, and Distributed transactions. Inconsistent Retrievals, Lost Update, Dirty Read, and Premature Writes Problem
CMACs and MACS based on block ciphers, Digital signatureAdarsh Patel
cmcs
MACs based on Block Ciphers
Digital Signature
Properties , Requirements and Security of Digital Signature
Various digital signature schemes ( Elgamal and Schnorr )
Message and Stream Oriented CommunicationDilum Bandara
Message and Stream Oriented Communication in distributed systems. Persistent vs. Transient Communication. Event queues, Pub/sub networks, MPI, Stream-based communication, Multicast communication
The IT-GRC platform is a solution that is based on
the paradigm of distributed systems, based on multi-agent systems
(MAS) in its different parts namely the user interface, the static
and dynamic configuration of the organization management
profiles, the choice of the best repository and the processing of
processes, it takes advantage of the autonomy and learning aspect
of ADMs as well as their high-level communication and
coordination. However, these technological components are
difficult to manipulate, or users lack the necessary skills to use
them correctly. In this situation, the modeling of a communication
architecture is necessary, in order to adapt the functionalities of
the platform to the needs of the users. To help achieve these goals,
it is necessary to develop a functional and intelligent
communication architecture, adaptable and able to provide a
support framework, allowing access to system functionalities
regardless of physical and time constraints.
Blockchain data structures and fundamentalCodium Club
The blockchain is a growing list of records called blocks which are linked using cryptography. So, here's a small introductory presentation to describe the basic fundamentals and data structure of the blockchain.
Transactions and Concurrency Control in distributed systems. Transaction properties, classification, and transaction implementation. Flat, Nested, and Distributed transactions. Inconsistent Retrievals, Lost Update, Dirty Read, and Premature Writes Problem
CMACs and MACS based on block ciphers, Digital signatureAdarsh Patel
cmcs
MACs based on Block Ciphers
Digital Signature
Properties , Requirements and Security of Digital Signature
Various digital signature schemes ( Elgamal and Schnorr )
Message and Stream Oriented CommunicationDilum Bandara
Message and Stream Oriented Communication in distributed systems. Persistent vs. Transient Communication. Event queues, Pub/sub networks, MPI, Stream-based communication, Multicast communication
The IT-GRC platform is a solution that is based on
the paradigm of distributed systems, based on multi-agent systems
(MAS) in its different parts namely the user interface, the static
and dynamic configuration of the organization management
profiles, the choice of the best repository and the processing of
processes, it takes advantage of the autonomy and learning aspect
of ADMs as well as their high-level communication and
coordination. However, these technological components are
difficult to manipulate, or users lack the necessary skills to use
them correctly. In this situation, the modeling of a communication
architecture is necessary, in order to adapt the functionalities of
the platform to the needs of the users. To help achieve these goals,
it is necessary to develop a functional and intelligent
communication architecture, adaptable and able to provide a
support framework, allowing access to system functionalities
regardless of physical and time constraints.
Intelligent Buildings: Foundation for Intelligent Physical AgentsIJERA Editor
FIPA is an IEEE Computer Society standards organization that promotes agent-based technology and the interoperability of its standards with other technologies. In the design phase of Intelligent Buildings, it is essential to manage many services and facilities, to do this, multi-agent systems are a good tool to manage them. In this paper, we will gereneral description of the features and elements of multiagent systems described by Foundation for Intelligent Physical Agents (FIPA). Secondly, we will focus on the architectures of these multiagent systems. And finally, we will propose a multi-agent system design to see the application in the design of a detached house where the lighting, air conditioning and security systems will be integrated.
Evaluating the user experience of cross-platform interactive systems has become a research issue of increasing importance. There is a lack of clear concepts and definitions for testing,evaluating or even teaching cross-platform user experience. In this paper, we review the actual meanings and interpretations of different concepts in the field of Human-Computer Interaction (HCI) relevant to cross-platform service usage. We also investigate the traditional definitions of usability and user experience before extending them to develop precise definitions for crossplatform usability and user experience. Our paper builds on existing theories to establish the theoretical foundations that can help us better conceptualise cross-platform user experience evaluation.
A presentation by Dr. Shailendra Kumar, Delhi University, during National Workshop on Library 2.0: A Global Information Hub, Feb 5-6, 2009 at PRL Ahmedabad
Requirements identification for distributed agile team communication using hi...journalBEEI
Communication plays an important role to deliver the correct information. However, the communication became challenging especially for agile software teams, which are in geographical distributed. The problem arise when there are exchanging information using unstructured communication platform, misunderstanding on the information communicated and lack of documentation. The aim of this study is to propose a text classification technique for requirements identification in text messages. In this study, we adopted the cascade and cluster classification concept of Carotene that relies on the hash tag function. It classifies the text messages into requirements types instead of job title. This technique called as high-level carotene (HLC) technique that embedded into the tool to identify the functional requirement and non-functional requirements. The result shows that most of criterias evaluated have achieved more than 85% of effectiveness in identifying both of requirement in text messaging by using this technique.
CRESUS: A TOOL TO SUPPORT COLLABORATIVE REQUIREMENTS ELICITATION THROUGH ENHA...cscpconf
Communicating an organisation's requirements in a semantically consistent and understandable manner and then reflecting the potential impact of those requirements on the IT infrastructure presents a major challenge among stakeholders. Initial research findings indicate a desire among business executives for a tool that allows them to communicate organisational changes using natural language and a simulation of the IT infrastructure that supports those changes. Building on a detailed analysis and evaluation of these findings, the innovative CRESUS tool was designed and implemented. The purpose of this research was to investigate to what extent CRESUS both aids communication in the development of a shared understanding and supports collaborative requirements elicitation to bring about organisational, and associated IT infrastructural, change. This paper presents promising results that show how such a tool can facilitate collaborative requirements elicitation through increased communication around organisational change and the IT infrastructure.
Implementation of Agent Based Dynamic Distributed ServiceCSCJournals
The concept of distributed computing implies a network / internet-work of independent nodes which are logically configured in such a manner as to be seen as one machine by an application. They have been implemented in many varying forms and configurations, for the optimal processing of data. Agents and multi-agent systems are useful in modeling complex distributed processes. They focus on support for (the development of) large-scale, secure, and heterogeneous distributed systems. They are expected to abstract both hardware and software vis-à-vis distributed systems. For optimizing the use of the tremendous increase in processing power, bandwidth, and memory that technology is placing in the hands of the designer, a Dynamically Distributed Service (to be positioned as a service to a network / internet-work) is proposed. The service will conceptually migrate an application on to different nodes. In this paper, we present the design and implementation of an inter-mobility (migration) mechanism for agents. This migration is based on FIPA ACL messages. We also evaluate the performance of this implementation.
Graph-Based Algorithm for a User-Aware SaaS Approach: Computing Optimal Distr...IJERA Editor
As a tool to exploit economies of scale, Software as a Service cloud models promote Multi-Tenancy which is the notion of sharing instances among a large group of tenants. However, Multi-Tenancy only satisfies requirements that are common to all tenants as well as the fact that tenants themselves hesitate about sharing. In a try to solve this problem, the present paper propose a User-Aware approach for Software as a Service models using Rich-Variant Components. The main contribution of this approach is a framework summarized in a graphbased algorithm enabling deduction of an optimal distribution of instances on application's tenants. To illustrate and evaluate the framework, the approach is applied on a Software as a Service Application for private school management
CRESUS-T: A COLLABORATIVE REQUIREMENTS ELICITATION SUPPORT TOOLijseajournal
Communicating an organisation's requirements in a semantically consistent and understandable manner
and then reflecting the potential impact of those requirements on the IT infrastructure presents a major
challenge among stakeholders. Initial research findings indicate a desire among business executives for a
tool that allows them to communicate organisational changes using natural language and a model of the IT
infrastructure that supports those changes. Building on a detailed analysis and evaluation of these findings,
the innovative CRESUS-T support tool was designed and implemented. The purpose of this research was to
investigate to what extent CRESUS-T both aids communication in the development of a shared
understanding and supports collaborative requirements elicitation to bring about organisational, and
associated IT infrastructural, change. In order to determine the extent shared understanding was fostered,
the support tool was evaluated in a case study of a business process for the roll out of the IT software
image at a third level educational institution. Statistical analysis showed that the CRESUS-T support tool
fostered shared understanding in the case study, through increased communication. Shared understanding
is also manifested in the creation of two knowledge representation artefacts namely, a requirements model
and the IT infrastructure model. The CRESUS-T support tool will be useful to requirements engineers and
business analysts that have to gather requirements asynchronously.
Information Extraction using Rule based Software Agents in Knowledge Grididescitation
For the successful information processing and
handling of document collections, effective information
extraction methods are necessary. A distributed team work
environment requires team knowledge management. A
knowledge flow exists in team work processes and this
knowledge flow reflects the knowledge level cooperation in
team work, which in turn defines the effectiveness of team
work. Distributed software development team focuses on work
co-operation and resource sharing between members during
software development life cycle and knowledge flow should
reflect cognitive cooperation process dynamically. Hence each
team member can use experience of predecessor accumulated
during previous projects and avoid redundant work. With the
advent of the networks, the system specification is done in
one geographic area and the design in some other place. The
entire software development process has distributed resources
such as five generic up-level ontologies and a knowledge based
[KB] issues and solutions ontology. An issue and solution pair
criteria is based on organizational goals, priorities, cost and
timeliness. In this paper, we present the challenges in
distributed team environment and information extraction
mechanisms focusing on text marker system and its
applications.
Similar to What kinds of languages can agents use to communicate? (20)
What is Wireless Communication or Unguided Transmission MediaAhsan Rahim
What is Wireless Communication or What is Unguided Media | A Complete Introduction to the Wireless Communication Systems
In layman language it is communication in which information is transferred between two or more points without any wire. Transmitting/receiving voice and data using electromagnetic waves in open space. In wireless Communication the information from sender to receiver is carried over a well defined channel. Each channel has a fixed frequency bandwidth & capacity(bit rate) & Different channels can be used to transmit information in parallel and independently.
This video explains what Wireless Communication is & and why it's faster, effective & doesn't eat up our valuable IT resources as compare to Wired Communication or Guided Media
Watch Video Here : https://youtu.be/xs05l4GEbZA
Wireless Communication : https://www.slideshare.net/AhsanRahim1/wireless-communication-or-unguided-transmission-media/
Learn more about Wireless Communication at : https://www.slideshare.net/ahsanrahim1
Cloud Computing in 2017 : https://www.youtube.com/watch?v=1OuaAgvYWQo
Software Development Life Cycle Models : https://www.youtube.com/watch?v=3Lxnn0O3xaM
Subscribe to Science Villa on YouTube for exclusive updates on new videos : https://www.youtube.com/channel/UCKVvceV1RGXLz0GeesbQnVg
Software Project Management | An Overview of the Software Project ManagementAhsan Rahim
Management is the process of getting things done through others, it is the process of coordinating people & other resources to achieve the goals of the organization. A project is a set of related tasks that are coordinated to achieve a specific objective in a given time limit. A project is well-defined task, which is a collection of several operations done in order to achieve a goal. Software is the program & all associated documentation & configuration data which is needed to make these programs operate correctly.
A Software Project is the complete procedure of software development from requirement gathering to testing & maintenance, carried out according to the execution methodologies, in a specified period of time to achieve intended software product.
What is HTML - An Introduction to HTML (Hypertext Markup Language)Ahsan Rahim
What is HTML?
HTML stands for "Hypertext Markup Language". A standardized system for tagging text files to achieve font, colour, graphic, and hyperlink effects on World Wide Web pages.
Hypertext Markup Language is the standard markup language for creating the Web pages and Web Applications. With Cascading Style Sheets (CSS) & JavaScript for creating World Wide Web pages.
HTML is a computer language devised to allow website creation. These websites can then be viewed by anyone else connected to the Internet.
HTML is relatively easy to learn & it consists of a series of short codes typed into a text-file by the site author — these are the tags. The text is then saved as a html file, and viewed through a browser.
Basics of the Computer System.
Hi Everyone, here in this presentation you are about to get knowledge of 'What actually is a Computer System? Different types of computer, Computer Hardware, Software and a lot more with animated video..
This Video URL:
https://youtu.be/X5x5SI0rTz4
YouTube Channel URL:
https://www.youtube.com/channel/UCKVvceV1RGXLz0GeesbQnVg
Google+ Page URL:
https://plus.google.com/113458574960966683976/videos?_ga=1.91477722.157526647.1466331425
My Website Link:
http://appsdisaster.blogspot.com/
If you are interested in learning more about topics like this so Please don't forget to like, share, & Subscribe us.
Thanks
Here are full lecture slides on Agent communication Languages, and different types of agent communication languages, Multiagent Communication & Multiagent Communication System.
Here are full presentation slides on Network Topologies & different types of Network Topologies, advantages and disadvantages of different types of topologies & types of different devices being used in Networking or a Network System.
Processes description and process control.Ahsan Rahim
My Fiverr Profile: https://www.fiverr.com/ahsanrahim786
Click to download more Books: http://appsdisaster.blogspot.com/
Process description and process control block in operating system. It includes Process Control Block, Two-states Process model & Five-state process models,
Agile Development | Agile Process ModelsAhsan Rahim
Agile Development | Agile Process Models
Here you are going to know What is Agile Development & What are Agile Process Models for the development of Software Product.
What are different types of Agile Development, steps involve in Agile Development, XP, Scrum, Traditional Process Models with full text and animated description.
Software Process Models defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high-quality software...
For more knowledge watch full video...
Video URL:
https://youtu.be/3Lxnn0O3xaM
YouTube Channel URL:
https://www.youtube.com/channel/UCKVvceV1RGXLz0GeesbQnVg
Google+ Page URL:
https://plus.google.com/113458574960966683976/videos?_ga=1.91477722.157526647.1466331425
My Website Link:
http://appsdisaster.blogspot.com/
If you are interested in learning more about topics like this so Please don't forget to like, share, & Subscribe to us.
Software Development Life Cycle Models | What are Software Process Models ?
Here you are going to know What is Software Development Life Cycle Model or What are Software Process Models?
Software Process Models defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high-quality software...
For more knowledge watch full video...
Video URL:
https://youtu.be/3Lxnn0O3xaM
YouTube Channel URL:
https://www.youtube.com/channel/UCKVvceV1RGXLz0GeesbQnVg
Google+ Page URL:
https://plus.google.com/113458574960966683976/videos?_ga=1.91477722.157526647.1466331425
My Website Link:
http://appsdisaster.blogspot.com/
If you are interested in learning more about topics like this so Please don't forget to like, share, & Subscribe to this channel.
Thanks
Software Process Models | Software Development Process Models | SDLC | Traditional Software Process Models | Waterfall Model Incremental Model | Prototyping Model | Evolutionary Process Model
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
Thesis Statement for students diagnonsed withADHD.ppt
What kinds of languages can agents use to communicate?
1. Abbottabad University of Science & Technology
Report on Multi-agent System Issue
Submitted By: Ahsan Rahim (1838)
2. What kinds of languages can agents use to
communicate?
ulti-Agent System (MAS) is composed of multiple heterogeneous intelligent software
systems called agents. Agents need an Agent Communication Language (ACL) in
order to interact in a shared language, hiding the details of their internals and to build
communities of agents that can tackle problems that no individual agent can.
Introduction:
As a Multi-Agent System (MAS) is composed of multiple heterogeneous intelligent software
systems (called agents) which can compete, negotiate or cooperate. In recent years the interest in
MAS has grown tremendously and today agent technology is being used in a large range of
industrial applications. Agent technology is widely used to help users to achieve various tasks in
diverse domains such as network management, air-traffic control, telecommunications, and
electronic commerce.
Communication is considered as a negotiation game where agents negotiate about proposed
communicational states. An agent proposes a communicational state and other agents react to the
proposal by accepting, rejecting the proposed communicational states or even asking for further
information. Such an action establishes a relationship between the communicational states and
the agent that is called an agent's positioning.
Agent technology is widely used to help users to achieve various tasks in diverse domains such
as network management, air-traffic control, telecommunications, and electronic commerce.
Agent applications have one thing in common: agents must be able to communicate in order to
decide which actions to perform. In a multi-agent system, we distinguish two levels of
communication: agent/user communication and agent/agent communication. In both kinds of
communication, industry is trying to find a standard communication language. To assist
developers in the use of agent technology, some multi-agent system tools have been developed.
However, these tools are still suffering from the following drawbacks:
There is no standard architecture for Multi-Agent Systems
There is no standard design method for the design of a Multi-Agent System
There are no standard communication protocol agents /users.
Agents suggest a paradigm for software development which emphasizes autonomy (both at
design time and run time), adaptivity (change is everywhere) and cooperativity (humans agents
do it all the time, so should the software ones, too). This approach seems appealing in a world of
distributed, heterogeneous systems. Languages for communicating agents promise to play the
role that language played for their human counterparts.
M
3. The Communication Model:
When interacting, agents can engage in two kinds of communication:
i. Agent/user communication
ii. Inter-agent communication
Agents communicate with users in order to characterize their needs and to provide them with
answers or solutions. Agents communicate with each other in order to exchange various kinds of
information. When communicating with other agents, an agent uses a specific Agent
Communication Language (ACL). An ACL provides agents with a means to exchange
information and knowledge. At the technical level, when using an ACL, agents transport
messages over the network using some lower-level protocol (SMTP, TCP/IP, IIOP, HTTP, etc.).
The ACL itself defines the types of messages (and their meaning) that agents may exchange.
Agents though, do not just engage in single message exchanges but they have conversations, i.e.
task-oriented, shared sequences of messages that they follow, such as a negotiation or an auction.
At the same time, some higher-level conceptualization of the agent's strategies and behaviors
drives the agent's communicative (and non-communicative) behavior.
An agent's architecture contains a communication process which handles communication
activities as well as other processes used to perform various tasks such as planning, decision
making or negotiation.
Agent Communication Protocols
There are a variety of interprocess information exchange protocols. In the simplest, one agent
acts as a client and sends a query to another agent acting as a server and then waits for a reply ,
as is shown between agents. The server's reply might consist of a single answer or a collection or
set of answers. In another common case, shown between agents A and C, the server's reply is not
the complete answer but a handle which allows the client to ask for the components of the reply ,
one at a time. A common example of this exchange occurs when a client queries a relational
database or a reasoner which produces a sequence of instantiations in response. Although this
exchange requires that the server maintain some internal state, the individual transactions are as
before.
4. Basic concepts of an Agent Communication Language
An ACL provides agents with a means to exchange information and knowledge; Genesereth has
gone as far as equating agency with the ability of a system to exchange knowledge using an
ACL. Of course other means and pproaches have been used over the years to achieve the lofty
goal of seamless exchange of information and knowledge between applications. From Remote
Procedure Call (RPC) or Remote Method Invocation (RMI), to CORBA and Object Request
Brokers (ORB's) the goal has been the same. What distinguishes ACLs from past such efforts are
the objects of discourse and their semantic complexity. ACLs like KQML or FIPA ACL, stand a
level above CORBA, because: (1) they handle propositions, rules and actions instead of simple
objects (with no semantics associated with them), and (2) the ACL message describe a desired
state in a declarative language, rather than a procedure or method. But ACLs by no mean cover
the entire spectrum of what applications may want to exchange. More complex objects can and
should be exchanged between agents, such as shared plans and goals, or even shared experiences
and long-term strategies.
At the technical level, when using an ACL, agents transport messages over the network using
some lower-level protocol (SMTP, TCP/IP, IIOP, HTTP, etc.). The ACL itself defines the types
of messages (and their meaning) that agents may exchange. Agents though, do not just engage in
single message exchanges but they have conversations, i.e. task-oriented, shared sequences of
messages that they follow, such as a negotiation or an auction. At the same time, some higher-
level conceptualization of the agent's strategies and behaviors drives the agent's communicative
(and non-communicative) behavior. Traditionally, we understand the message types of ACLs
as speech acts, which in turn are usually accounted for in terms of beliefs, desires, intentions and
similar modalities. This kind of intentional-level description can either be just a useful way to
view a system or it can have a concrete computational aspect. The latter case describes a large
range of BDI3 agents which have some (implicit or explicit) representation of the corresponding
modalities.
This representation is built on top of a substrate that describes the conceptual model of
knowledge, goals and commitments of an agents, commonly known as a BDI theory. Despite the
criticism that BDI theories and BDI agents have faced, such as the number and choice of
modalities and the fact that multimodal BDI logics have neither complete axiomatizations nor
they are efficiently computable, they offer an appealing framework to account for agent
communications, because agents, when communicating, they communicate their BDI states and
attempt to alter their interlocutors BDI states.
5. Basic concepts of ACL
The Knowledge Sharing Effort initiated circa 1990 by the Defense Advanced Research Projects
Agency of the US Department of Defense, enjoyed the participation of dozens of researchers
from both academia and industry. Its goal was to develop techniques, methodologies, and
software tools for knowledge sharing and reuse at design, implementation, or execution time.
The central concept of the KSE was that knowledge sharing requires communication, which in
turn requires a common language; the effort focused on defining that common language. In the
KSE model, software systems are virtual knowledge bases that exchange propositions using a
language that expresses various complex attitudes. The proper term is propositional attitudes.
An ACL provides agents with a means of exchanging information and knowledge; Michael R.
Genesereth has gone as far to equate agency with the ability of a system to exchange knowledge
using an ACL.3 Of course, other means have been used to achieve the lofty goal of seamless
exchange of information and knowledge between applications. From remote procedure call and
remote method invocation (RPC and RMI) to CORBA and object request brokers, the goal has
been the same. What distinguishes ACLs from such past efforts are the objects of discourse and
their semantic complexity. ACLs stand a level above CORBA for two reasons:
• ACLs handle propositions, rules, and actions instead of simple objects with no semantics
associated with them.
• An ACL message describes a desired state in a declarative language, rather than a procedure or
method.
But ACLs by no means cover the entire spectrum of what applications might want to exchange.
Agents can and should exchange more complex objects, such as shared plans and goals, or even
shared experiences and long-term strategies.
The KQML Language
Communication takes place on several levels. The content of the message is only a part of the
communication. Being able to locate and engage the attention of someone you want to
communicate with is a part of the process. Packaging your message in a way which makes your
purpose in communicating clear is another. When using KQML, a software agent transmits
content messages, composed in a language of its own choice, wrapped inside of a KQML
message. The content message can be expressed in any representation language and written in
either ASCI I strings or one of many binary notations (e.g. net work indep endent XDR
representations). All KQML implementations ignore the content portion of the message except to
the exten t that they need to recognize where it b egins and ends.
The syntax of KQML is based on a balanced parenthesis list. The initial element of the list is the
performative and the remaining elements are the performative's arguments as value pairs.
Because the language is relatively simple, the actual syntax is not signicant and can be changed
6. if necessary in the future. The syntax reveals the roots of the initial implementations, which were
done in Common Lisp, but has turned out to be quite exible.
KQML is expected to be supported by an software substrate which makes it possible for agents
to locate one another in a distributed environment. Most current implementations come with
custom environments of this typ e, these are commonly based on helper programs called routers
or facilitators. These environments are not a specied part of KQML. They are not standardized
and most of the current KQML environments will evolve to use some of the emerging
commercial frameworks, such as OMG's CORBA or Microsoft's OLE2, as they become more
widely used. The KQML language supports these implementations by allowing the KQML
messages to carry information.
CG-KQLM+ : an extension of KQML:
CG-KQLM is a first attempt to provide a standardized Agent Communication Language (ACL)
came forth from the ARPA knowledge sharing project and produced KQML. In the context of
that project, researchers developed two main components:
i. a representation language used to express message contents.
ii. a communication language KQML (Knowledge Query Manipulation Language).
KQML has been designed to facilitate high level cooperation and interoperation among agents.
KQML offers an extensible set of so-called performatives which specify what kind of
communication actions agents can perform. KQML performatives are either assertive (used to
state a fact) or directives (used to give orders or send requests). A typical KQML message has
the following syntax:
(tell
: sender A
7. : receiver B
: content "raining”)
KQML and ACL Concepts:
KQML (knowledge query and manipulation language) illustrates the basic concepts of existing
ACLs. KQML is a high-level, message-oriented communication language and protocol for
information exchange independent of content syntax. So, KQML is independent of the transport
mechanism (TCP/IP, SMTP, IIOP, etc.), independent of the content language (KIF, SQL, STEP,
Prolog, etc.) and independent of the ontology assumed by the content.
The KQML language is divided into three layers: the content layer, the message layer, and the
communication layer. The content layer bears the actual content of the message; in the programs
own representation language. KQML can carry any representation language, including languages
expressed as ASCII strings and those expressed using a binary notation.
Every KQML implementation ignores the content portion of the message, except to determine
where it ends. The communication level encodes a set of features to the message which describe
the lower level communication parameters, such as the identity of the sender and recipient, and a
unique identifier associated with the communication. It is the message layer that is used to
encode a message that one application would like to transmit to another.
The message layer forms the core of the KQML language, and determines the kinds of
interactions one can have with a KQML-speaking agent. The primary function of the message
layer is to identify the network protocol to be used to deliver the message and to supply a speech
act or performative which the sender attaches to the content (such as that it is an assertion, a
query, a command, or any of a set of known performative).
KQML Routers
Routers are content independent message routers. Each KQML speaking software agent is
associated with its own separate router process. All routers are identical each is just an executing
copy of the same program. A router handles all KQML messages going to and from itsassociated
agent.
Because each program has anassociated router process, it is not necessary to make extensive
changes to each program's internal organization to allow it to asynchronously receive messages
from a variety of independent sources. The router provides this service for the agent and provides
the agent with a single point of contact for the rest of the network. It provides both client and
server functions for the application and manages multiple simultaneous connections with other
8. agents. The router nev er lo oks at the content elds of the messages it handles. It relies on the
KQML performatives.
Conclusion
The concept of a standard communication language for software agents that is based on speech
acts has found wide appeal, both among researchers interested in working out the theory of agent
communication as well as those with the aim of engineering practical software systems. Many
researchers believe that the development of an effective, rich ACL is one of the keys to the agent
paradigm.
The KQML language was among the first such ACL to be developed and used. Moreover, is the
only one which has enjoyed substantial use by more than its developers to date. However, after
eight years of experimentation and experience there are still serious signs of immaturity. In
general, different KQML implementations can not interoperate; (2) there is no fixed specification
sanctioned by some consensus-creating body; and (3) there is no agreed-upon semantics
foundation. Is the KQML experiment a failure? We think not. KQML has played a large role in
defining what an Agent Communication Language is and what the issues are when it comes to
integrating communication into agent systems. Although existing KQML implementations tend
not to interoperate, this is mainly due to a lack of a real motivation to do so. Agent-based
systems research is still at an early stage of development, and there has been no benefit to
individual research groups in focusing on the interoperability issues. Although the lack of a
sanctioned specification has probably impeded the adoption of KQML for many big projects, it
has had the benefit of allowing much experimentation with dialects and variations on the theme.
We hope that the current FIPA effort will supply the needed sanctioning body for the next
iteration of a KQML-like language. Finally, the semantics issue is in practice much less
important than it sounds as long as the problem of defining and identifying conformance to the
semantics, is not resolved. But given the possibility that it might be impossible to find a
satisfactory solution to the latter problem, we will be left with a justifiable sense of
disappointment, as computer scientists, for a language that lacks formal, verifiable semantics.