|
MUNK SÁNDOR
|
|
| SOFTWARE
ROBOTS (SOFTBOTS), THEIR CHARACTERISTICS, AND MILITARY APPLICATIONS |
"We are drowning in information but starved
of knowledge."
John Naisbitt
Introduction
The global (and
the military) information environment has already contains an enor-mous amount
of information, and provides a lot of information services. These information,
and services can, and has to be exploited to gain an information advantage (superiority),
to achieve operational results. Computer technology has dramatically enhanced
our ability to generate, store, and deliver information, but the tools for locating,
filtering, and analyzing in-formation have not kept pace. A popular solution
for this situation is software robots.
Software robots (softbots) are intelligent agents that use software tools and
services on a person's behalf. Softbots allow a person to communicate what they
want accomplished, and then dinamically determine how and where to satisfy the
person's request. By acting as an in-telligent personal assistant, softbots
supports a qualitatively different kind of human-computer interface. A person
can make a high level request, and the softbot uses search, inference, and knowledge
to satisfy the request. Furthermore, the softbots are able to tolerate and recover
from ambiguity, omissions, and errors in human requests.
1. Robots, and agents in general
Robots
by definition (The New Encyclopaedia Britannica, Volume 10 p.116.) are
automatically operated machines that replace human effort, though it may not
resemble human beings in appearance or perform functions in a humanlike manner.
The development of robotics began in the mid of the XX. century: the most relevant
predecessors of robots were telemanipulators, servomechanisms, and numerical
control (NC) machines. The first robot - Unimate - was built by George Devol
in the beginning of the 1960s. Until that time there appeared different robot
generations.
First-generation robots date from the 1960s and consisted of stationary,
non-programmable, electromechanical devices without sensors. Second-generation
robots were developed in the 1970s and contained sensors and programmable controllers.
Third-generation robots appeared in the 1990s with sophisticated programming,
speech recognition and/or synthesis, artificial intelligence properties, and
other advanced features.
Robots can be grouped into different types by their mechanical, and software
(self-control) complexity. Special types include nanorobots (with physical dimensions
on the order of nanometers) for biological, chemical, or physical tasks; animats
to model living animals; and androids, or cyborgs with their superficial resemblance
to human beings.

Figure 1 - Types of robots
(Source: Futó, 1999)
Robots were originally developed to do repetitive,
"hard to do", or dangerous tasks in industry. In military applications
the main reasons to use robots are the following (See 'Robotics, military'
in International Military and Defense Encyclopedia):
- reduced exposure of personnel to extreme danger in battle, or to other dangerous
du-ties (such as rescue, decontamination, evacuation, and intelligence collection);
- personnel cost savings, either in operations or support, with a resulting
reduction in life-cycle cost;
- reduced workload for skilled manpower categories (a single reduction of personnel
requirements is not sufficient if robotics increase the required skill level
);
- improved decision making under tactical stress conditions, including the introduction
of artificial intelligence assitance, including collection, analysis and fusion,
execution and elaboration of decisions, and dissemination.
At the end of the previous century the results got in different disciplines
showed that robots as defined previously can be perceived as a subclass of a
more abstract idea, the agents. Nowadays there are a lot of similar, or synonymous
terms used in this area, including: robots, bots, softbots (software robots),
knowbots (knowledge robots, or knowledge-based robots), taskbots (task-based
robots), userbots, personal agents, autonomous agents, intelligent agents, personal
assistants, and many others. To analyze the similarities, and differences we
can start with the everyday definition of agent - "one who acts for, or
in place of, another". In this re-spect most (or all) robots are evidently
agents, but they are not the only types of agents.
The major classification of agents can be done by distinguishing animate organisms,
real artifacts, and abstract constructs.
Figure 2 - Agent taxonomy
(Franklin and Graesser - 1996)
All the above agent types share some characteristics that constitute the essence of be-ing an agent. Each agent is situated in, and is a part of some environment. Each senses its en-vironment and acts autonomously upon it (no other entity is required to feed it input, or to in-terpret and use its output). Each acts in pursuit of it's own agenda, whether satisfying evolved drives (as in humans and animals), or pursuing goals designed in by some other agent (as in software agents). Each acts so that its current actions may effect its later sensing, that is its ac-tions effect its environment (it has feedback). Finally each acts continually over some period of time ("lives/works/runs until it decides not to"). The result is the following definition:
An autonomous agent is a system situated
within and a part of an environment that senses that environment, and acts on
it, over time, in pursuit of its own agenda and so as to effect what it senses
in the future
(Franklin and Graesser - 1996)
So the basic characteristics of an agent are: situatedness, autonomy, reactivity, and temporal continuity. Reactivity means the ability to selectively sense and act upon. Autonomy means goal-directedness, proactive and self-starting behavior. Temporal continuity is a persis-tence of identity and state over long periods of time. There are also other characteristics that are useful for further classification of agents including the following: mobility, adaptivity, and cooperativity. All of these are descriptive characteristics that an object can possess at various degrees.
An influential white paper from IBM (Gilbert
et al. - 1995) described agents in terms of a space defined by the three dimensions
of agency (including autonomy), intelligence (including
adaptivity), and mobility:
"Agency is the degree of autonomy and authority vested in
the agent, and can be measured at least qualitatively by the nature of the interaction
between the agent and other en-tities in the system. At a minimum, an agent
must run asynchronously. The degree of agency is enhanced if an agent represents
a user in some way
A more advanced agent can interact with
data,
applications,
services
[or] other agents.
Intelligence is the degree of reasoning and learned behavior: the agent's ability to accept the user's statement of goals and carry out the task delegated to it. At a minimum, there can be some statement of preferences Higher levels of intelligence include a user model and reasoning Further out on the intelligence scale are systems that learn and adapt to their environment, both in terms of the user's objectives, and in terms of the resources available to the agent
Mobility is the degree to which agents themselves travel through the network Mo-bile scripts may be composed on one machine and shipped to another for execution [Mo-bile objects are] transported from machine to machine in the middle of execution, and carry-ing accumulated state data with them."
Agents can be further classified by degree of reactivity, and autonomy as follows: "A reactive agent reacts to changes in its environment or to messages from other agents An intentional agent is able to reason on its intentions and beliefs, to create plans of actions, and to execute those plans In addition to intentional agent capabilities, a social agent possesses explicit models of other agents." (Moulin-Chaib-draa - 1996)
2. Software robots (agents), and their characteristics
The original work on software agents was started to study computational models of distributed intelligence, but a new wave of interest has been fueled by the basic, and revolu-tionary changes in the information environment. This environment has already contains a con-tinously growing amount of information; provides more and more, and increasingly sophisti-cated information services; and has a complex technical infrastructure of computing, and communications technology devices, and networks. Neither the efficient use of information, and information services; nor the management of this infrastructure can be done without the help of new techniques, and methods, without using intelligent tools that assist in, or do autonomously information handling, processing, dissemination, and presentation tasks.
The idea of an agent originated with John McCarthy in the mid-1950's, and the term was coined by Oliver G. Selfridge a few years later, when they were both at the Massachu-setts Institute of Technology. They had in view a system "that, when given a goal, could carry out the details of the appropriate computer operations and could ask for and receive advice, offered in human terms, when it was stuck. An agent would be a 'soft robot' living and doing its business within the computer's world." (Bradshaw - 1994)
A software agent is a program that carries out tasks for others, autonomously without being controlled by its master once the tasks have been delegated. The "others" may be hu-man users, organizational processes, workflows, or applications (Farhoodi-Fingar - 1997).Software agents live in the information environment: they sense their environment by querying, monitoring other ele-ments, or getting messages from them; and affect the environment, by sending messages, or requesting other active elements to do different tasks.
Although there is a tendency today to call every program (or at least every program with some degree of intelligence) agent, it is only a marketing strategy to improve sells. The situation is that every software agent per definitionem a program (or a program-complex), but not every program is a (software) agent. A program to be an agent has to possess at least minimal "agency" characteristics, first of all a significant degree of autonomy.
Software agents have often called softbots
(software robots), or shortly bots in infor-mation technology literature, and
these terms are strongly connected with the Internet as the following definitions
show:
A bot (short for "robot") is a program that perates as an agent
for a user or another program or simulates a human activity. On the Internet,
the most ubiquitous bots are the programs, also called spiders or crawlers that
access Web sites and gather their content for search engine indexes. [WhatIs]
A bot is a program that autonomously explores the Internet for specific pur-poses.
Derived from the word robot, a bot is a software program that performs repetitive
functions, such as indexing information on the Internet. Robots that record
and index all of the contents of a network to create searchable data-bases are
sometimes called spiders or worms.
A chatbot is another kind of bot that
engages the user in conversations. [Agent Technology Glossary]
In the literature there are a lot of "bots"
with different functions. The previous defini-tions contain and define two of
them: spiders (crawlers), and chatbots. Two other interesting types are knowbots,
and cobots.
A knowbot (knowledge-based robot) is a program that automatically searches Internet
sites and gathers information according to user-specified criteria. A knowbot
should not be confused with a search engine, crawler, or spider. A crawler or
spider progam visits Web sites and gathers information according to some generalized
criteria and this information is then indexed so that it can be used for searching
by many individual users.
A knowbot works with specific and easily changed
criteria that conform to or anticipate the needs of the user or users. Its results
are then organized for presentation but not necessarily for searching. An example
would be a knowbot (sometimes also called a newsbot) that visited major news-oriented
Web sites each morning and provided a digest of stories (or links to them) for
a personalized news page (WhatIs.com).
A cobot (collaborative robot) is a robot designed to assist human beings as
a guide or assistant in a specific task. A regular robot is designed to work
more or less autonomously. In one approach to cobot design, the cobot allows
a human to perform certain operations suc-cessfully if they fit within the scope
of the task and to steer the human on a correct path when the human begins to
stray from or exceed the scope of the task (WhatIs.com).
3. Military application of software agents
In general there are five different agent
application areas of key interest to the military (The content of this point
is mainly based on materials of a DARPA research project named Control of Agent-Based
Systems - CoABS), where agents can:
- find, filter and present information for users;
- are aimed at complex problem-solving;
- manage, and operate different systems;
- provide services to other agents to help them cooperatively solve complex
problems;
- and provide translational services between agents using different standards,
commu-nications protocols, languages, etc.
These areas are supported with different types of software agents. A functional classification of software agents contains: interface agents, information agents, task agents, system man-agement agents, and infrastructure agents. The first three agent types closely related to human users' information handling and processing, the last two can be considered as "part of the sys-tem", so we will not discuss them in detail.
The overall purpose of software agents' application
is to significantly cut the amount of time that warfighters spend manipulating
information systems to allow them to have more time to focus on their mission.
Different software agent types can be effectively used in al-most every areas
of command and control, and execution of military operations. Theoretically
software agents can be used individually, but their most effective use is possible
only in a col-laborative environment.
Large-scale, cooperative teams, comprised of interacting agents from all groups,
could offer new capabilities that are now beyond the realm of users, and software
designers. An in-frastructure that could provide these capabilities would allow
software developers to design smaller pieces of code that would primarily function
on solving problems via interaction with each other, rather than by each trying
to duplicate functions provided by others.
In such a world, heterogeneous systems, separately developed, could be integrated
into compound systems at run-time, based on the needs of the particular problems
being solved. Finding these code pieces would be enabled by yellow page servers
using taxonomies of common functionalities. Where gaps might exist between the
agents, functions such as trans-lation services could provide greater interoperability
by seamlessly filling in the pieces. In ad-dition, the entire "grid"
of cooperating agents could be managed by brokering agents - which would help
to manage the efficient flow of information across the grid. These agents could
also provide tools for access control and information security, and they could
provide a data-base allowing post hoc analysis of problem solving and other
grid management services.
Such a system would provide many capabilities that cannot be realized with any
but the most state-of-the-art of today's tools. Users would be able to setup
queries to search and filter large knowledge bases, to search through the net
or other information sources, or to find computational resources needed for
the problems they were trying to solve - all without need-ing to know the details
of the underlying systems or information repositories. Current "leg-acy"
systems could be brought to the grid through software wrappers and service descrip-tions.,
allowing their functionality to be tapped without major recoding. In addition,
the coop-erative nature of the problem solving, using existing software components,
would allow both military and industrial users to develop large scale applications
without large scale software development efforts.
Interface agents are software
agents that provide assistance to a user dealing with a particular application.
The metaphor is that of a personal assistant who is collaborating with the user
in the same work environment (Maes - 1994). Interface agents operate within
a user interface and actively assist the user in operating the interface and
manipulating the underlying system. An interface agent is able to intercept
the input from the user, examine it, and take appropriate ac-tion. While interface
agents are not directly related to data management, they have the poten-tial
to play a large role in assisting users of data management systems. This becomes
increas-ingly important as data management systems become more distributed and
group together to form large, complex systems of systems. Agents in the interface
can function as a bridge be-tween domain knowledge about the data management
systems and the user. These agents could assist users in forming queries, finding
the location of data, explaining the semantics of the data among other tasks.
Interface agents are important components of an advanced military command and
con-trol system. They seamlessly connect their users to the military information
environment any-time, from anywhere: when a user actually enters the system,
his/her interface agent informs the supporting environment where they are, what
are they doing, how their resources are con-figured, which supplies they need,
so the users immediately become part of a larger, coherent system. Interface
agents autonomously gather information about the actual state, and services
of the system, hiding the implementation details. They enable users to exploit
information ser-vices without having to identify or supervise "step-by-step"
procedures for accomplishing a given task.
Information agents are software agents that has access to at least one, and potentially many information sources, and is able to collate and manipulate information obtained from these sources to answer queries posed by users and other information agents (Wooldridge-Jennings - 1995). Information agents have different subtypes characterized with different functionality: search agents, filter-ing agents, mediator, and monitoring agents.
Information search agents help their users to effectively retrieve useful information, because the amount of information available stretches the capability of most users. To accom-plish specific search tasks these agents contain domain knowledge about various information sources. This knowledge includes the types of information available at each source, how to access that information and other potentially useful knowledge such as the reliability and ac-curacy of the information source. Information search agents are basic components of an ad-vanced military intelligence gathering system.
Information filtering agents attempt
to deal with the problem of information overload by either limiting or sorting
the information coming to a user. The basic idea is to develop an on-line surrogate
for a user that has enough knowledge about the user's information needs so that
it can select only those documents that would be of interest. These types of
agents usually function as gatekeepers by preventing the user from being overwhelmed
by a flood of incom-ing information. Filtering agents also work in conjunction
with, or are sometimes incorpo-rated into, search agents in order to keep the
results from searches down to reasonable levels. Typically, filtering agents
incorporate machine-learning mechanisms. This allows them to adapt to the needs
of each user and to provide more precision than that typically provided by keyword
filtering approaches.
Mediator agents provide the mechanisms
that allow interoperate various data sources, and their users, provide access
to heterogeneous data and knowledge bases. The data man-agement landscape is
populated with a multitude of different systems, most of which don't talk to
each other. A mediator can be used to create a network of information gathering
agents, each of which has access to one or more information sources. These agents
use a higher level language, a communications protocol, and domain-specific
ontologies for de-scribing the data contained in their information sources.
This allows each agent to communi-cate with the others at a higher semantic
level. So mediator agents in military applications can wrap disparate data sources,
or various message sources, originated from different compo-nents of a military
force, or accessed from the military environment.
Monitoring agents constantly evaluate data sources and search for changes.
In military applications they can evaluate any type of data: low level, e.g.
sensory, data streams; format-ted message flows; or processed situational data
(from environmental even to everyday politi-cal events). The reason is that
many tasks are dependent on the timely notification of changes in different
data sources. A logistics planner my develop a plan for moving equipment from
one location to another, but the execution of that plan could be disrupted by
the onset of bad weather at a refueling stop. The logistics planner would like
to know of any events that would be likely to effect his plan as soon as they
happen. Agents are useful for monitoring distrib-uted data sources for specific
data. Being software constructs, they have the patience neces-sary to constantly
monitor data sources for changes. Alternately, mobile agents can be dis-patched
to remote or otherwise inaccessible locations to monitor data that the user
might not normally have access to.
Task agents are software agents that support decision making executing information processing tasks. They have knowledge of the task domain, and which other task agents, or information agents are relevant to performing various parts of the task. In addition, tasks agents have strategies for resolving conflicts and fusing information retrieved by information agents. They perform most of the autonomous problem solving parts of information process-ing. A task agent (1) receives user delegated task specifications from an interface agent; (2) interprets the specifications and extracts problem solving goals; (3) forms plans to satisfy these goals; (4) identifies information seeking subgoals that are present in its plan; (5) decom-poses the plans and coordinates with appropriate task agents or information agents for plan execution, monitoring, and results composition.
In military applications task agents can be used as teams of intelligent command and control agents with different skills. Teams will be constituted by different types of agents viewed as several subsets of homogeneous agents. Agents in different subsets have different skills. Agents will refine specified objectives, decompose the overall task according to their skills, organize themselves in order to enable collaboration, and learn to collaborate towards the most effective achievement of the team objectives.
The envisioned main integral part of these teams of intelligent agents consists of a pre-agreement on the task decomposition to organize the subteams of homogeneous agents and the collaboration during the autonomous task achievement. Agents will be equipped with techniques for run-time evaluation of the situation to decide between collaborating with other agents, or achieving the task individually. The agents must be able to work towards achieving concrete team objectives autonomously even in environments with limited, unreliable, or high-cost communication.
References:
Agent Technology Glossary. Revision 0.2 (1999)
- Object Services and Consulting Inc. [http://www.objs.com/agility/tech-report/9903-agent-glossary.html]
J. M. BRADSHAW (Ed.) (1997): Software Agents. - MIT Press.
DARPA Control of Agent Based Systems (CoABS) Program. CoABS Grid Vision Draft.
(2000) - Global InfoTek Inc.
Faramarz FARHOODI - Peter FINGAR (1997): Competing for the Future with Intelligent
Agents. In Distributed Object Computing Magazine.
[http://home1.gte.net/pfingar/agents_doc-rev4.htm]
Stan FRANKLIN - Art GRAESSER (1996): Is It an Agent or Just a Program? A Taxonomy
for Autonomous Agents. - In Proceedings of the Third International Workshop
on Agent Theories, Architectures, and Languages. Springer Verlag.
Aparicio GILBERT et al.: The Role of Intelligent Agents in the Information Infrastructure.
- IBM [http://activist.gpl.ibm.com:81/WhitePaper/ptc2.htm]
Björn HERMANS (1997): Intelligent Software Agents on the Internet. - First
Monday, Peer-Rewieved Journal on the Internet.
[http://www.firstmonday.dk/issues/issue2_3/ch_123/index.html]
International Military and Defense Encyclopedia. (1993) - Brassey's (US) Inc.,
Washington-New York.
Pattie MAES (1994): Agents that Reduce Workload and Information Overflow. In
Communi-cations of ACM, Vol 37 No 7.
B. MOULIN - B. CHAIB-DRAA (1996): Distributed Artificial Intelligence: an overview.
In Foundations of Distributed Artificial Intelligence, Wiley.
The New Encyclopaedia Britannica. Micropaedia - Ready Reference. 15th Edition.
(1991) - Encyclopaedia Britannica Inc., Chicago.
Whatis.com, The IT-Specific Encyclopedia. A techtarget.com Community. (2001)
[http://www.techtarget.com]
Michael WOOLDRIGDE - Nicolas R. JENNINGS (1995): Intelligent Agents: Theory
and Prac-tice. In Knowledge Engineering Review, Vol 10 No 2.