AGENT TECHNOLOGY ROADMAP
2 State-of-the-art: research and development
2.1 Agents as Design
The use of agents as an abstraction
tool, or a metaphor, for the design and construction of systems provided the initial
impetus for developments in the field. On the one hand, agents offered an appropriate
way to consider complex systems with multiple distinct and independent components.
On the other, they also enable the aggregation of different functionalities that
have previously been distinct (such as planning, learning, coordination, etc)
in a conceptually embodied and situated whole. Thus these notions provide a set
of technology areas that relate directly to these abstractions in the design and
development of large systems, of individual agents, of ways in which agents may
interact to support these concepts, and in the consideration of societal or macro-level
issues such as organisations and their computational counterparts.
2.1.1 Agent-oriented Software Engineering
Work on methodologies and software
engineering for agent systems exploits synergy from the interaction with existing
communities such as the software and knowledge engineering communities, and has
a strong emphasis on practical use in industry. The main goal is to determine
how agent qualities affect software engineering, and what additional tools and
concepts are needed to apply software engineering processes and structures to
agent systems.
Specific areas of interest
here have included
- requirements
engineering for agent systems;
-
techniques for specification of (conceptual) designs of agent systems;
-
verification techniques;
-
agent-oriented analysis and design;
- specific
ontologies for agent requirements, agent models and organisation models;
- libraries
of generic models of agents and agent components;
- agent
design patterns;
- validation
and testing techniques; and
- tools
to support the agent system development process (such as agent platforms).
To date, this work has largely
concentrated on analysis and design methods, development tools and languages
for programming and communication (Weiss, 2002). Although substantial progress
has been made in recent years after an initial absence of such supporting work,
most developments are still largely at the prototype stage. There are experiments
and some case-studies but these have been ad hoc rather than methodical and
systematic in testing.
A related but distinct aspect
under the broad heading of agent-oriented software engineering is concerned
with the use of agent systems in the development of complex distributed systems,
as opposed to the application of traditional software engineering to agents.
This work adopts the metaphor of agents, or the design view by which agents
provide a natural and elegant means to manage complexity. The complexity of
many complex systems arises from the interactions between the components of
the system, and an agent paradigm provides a natural way to model such interactions.
The agent abstraction may be applied not just to represent technological components
of implemented systems, but also to the modelling and design of complex systems
that may be implemented in the most appropriate fashion. Of course, given the
initial complexity that motivates an agent approach, it seems likely that the
entire development lifecycle in such cases will benefit from agents.
2.1.2 Agent architectures
Agent
architectures are the fundamental engines underlying the autonomous components
that support effective behaviour in real-world, dynamic and open environments.
Initial
efforts in the field of agent-based computing focused on the development of
intelligent agent architectures, and the early years established several lasting
styles of architecture. These range from purely reactive (or behavioural) agents
that operate in a simple stimulus-response fashion, such as those based on the
Subsumption Architecture of Brooks (1991) at one extreme, to more deliberative
agents that reason about their actions, such as the class of belief-desire-intention
(BDI) agents that are increasingly prevalent (including in commercial products
such as JACK from Agent Oriented Software), at the other extreme. In between
the two lie hybrid combinations of both, or layered architectures, which attempt
to involve both reaction and deliberation in an effort to adopt the best of
each approach. Increasingly more sophisticated agents than the traditional BDI
kind are have also been developed, but the benefits of the increased sophistication
is largely confined to well-defined areas of need rather than offering general
solutions.
2.1.3 Mobile agent systems
Many
researchers and programmers see agents as programs roaming a network to collect
business-related data in order to help users to buy goods, or implement platform-independent
code-on-demand, for example. This need for mobile agents is acknowledged, and
builds on European strengths, but mobility brings added security problems. The
research effort concentrates on how to guarantee termination, security or exactly-once
protocols. To protect against malicious hosts, agents should contain time-limit
validity, and electronic money with an expiration date. A key issue that needs
to be addressed here is administrability of mobile agent systems, e.g., authorisation
policies; this has been a major reason why mobile agents have not yet been taken
up by the mainstream. Note also that hosts need to be protected as well as agents.
End
users already encounter the situation that, while ample bandwidth is available
on the backbones of network service providers, their experience is limited by
the constraints of the infamous last mile. Mobile agents may improve the end
user experience by offloading application-specific filtering, media adaptation,
and other pre-processing to a node with high bandwidth connectivity. This is
particularly interesting for mobile phones and portable devices.
One
of the commercial application areas in which the added value of mobile agents
is very high, is large-scale distributed or decentralised system integration
with highly adaptive and dynamic business logic. Existing solutions are generally
centralised, pulling everything onto one platform, limiting the complexity and
changes that can be handled. A decentralised agent approach divides and conquers
complexity by pushing a large part of the business logic out onto source systems
so that much monitoring and aggregation can be done on each. This distributes
workload and increases robustness because the local processing can be performed
independently of other systems, resulting in fewer and more relevant interactions
with these systems, at a higher level of abstraction. In turn, mobility, mainly
single-hop, is the answer to the increasing need for flexibility and adaptability
in business logic. Agents can easily be deployed to source systems, carrying
new database drivers, code to interact with new application or file types, or
new data processing rules. Software is updated at the component-level, at runtime,
proving a level of dynamism and flexibility that goes far beyond current release
policies. Agent communication and behaviour capabilities complete the picture,
being very well suited to high-level service-based interactions, the decentralised
implementation of business logic, and for adapting and handling change in their
environment. A nice property of the dynamic, component-level approach is that
it naturally fits step-by-step system integration, with each step resulting
in added value for the business. This is a particularly significant advantage
in the current economic climate, in which many companies have seen mega-projects
fail.
For
example, Global IDs Inc in the US offers a next-generation product suite for
data integration based on the Tryllian mobile agent platform. Their data integration
products are capable of simultaneously monitoring many hundreds of enterprise
systems for relevant changes in data or meta-data, by deploying mobile agents
onto those systems. The agents tap into local databases or applications, keep
track of changes, can pre-process data and only forward relevant events or structured
derived data to centralised collectors - in real time if required. The mobility
of the agents allows highly customised functionality, which can be dynamically
updated. Thus, the business user can change the business rules that are being
executed at any point in time, while only relevant drivers and adapters are
transferred to a source system. Agents can asses the impact of changes in the
business rules and handle that impact throughout the integration process.
Other
potential applications of mobile agent systems are in the management of complex
distributed networks with differentiated components, e.g., mobile telecommunications
networks. Mobile networks typically have several types of network components:
base stations, which interface directly with the mobile devices of end-users;
base-station controllers, which aggregate traffic from a number of base stations;
and mobile switching centres, which switch calls between the network and other
networks. The optimal design of a mobile network - i.e., the best location of
each type of network component - depends heavily on the pattern of network traffic.
One challenge of many mobile networks is that this pattern changes by time of
day or by day of the week; traffic during business hours may be concentrated
in city centres, for instance, while at other times it is more dispersed. Thus
an optimal network design may be one which changes with the pattern of traffic.
Moving network components is not usually feasible, but we may be able to move
their functionality: for example, a number of agents, each representing a network
component, could move around the physical network as the traffic pattern changed.
Other arguments in favour of mobile code include the avoidance of network latency,
for example to increase fairness in applications with bounded response times
(such as auctions).
Since
the inception of the notion of mobile agents, research and development has concentrated
primarily on research in their basic operation, including the separation of
those components of a mobile agent that must be transported with it, different
migration models, the abstractions required for location-awareness and basic
security. Notable cornerstones of mobile agent work have been Telescript from
General Magic (now superseded), Aglets from IBM, Mole from the University of
Stuttgart, enago from IKV++, TACOMA from the Universities of Tromsø and Cornell,
as well as D'Agents from Dartmouth College, though there are many others.
2.1.4 Agent infrastructure
Agent
infrastructure is concerned with developmental and operational support for agent
systems. Middleware technologies aim to address issues such as ad-hoc networking
while taking into account the heterogeneity of the environment. Mobile agent
systems research has made important contributions in terms of efficient code
mobility mechanisms and resource discovery mechanisms.
Middleware
can be described as the software layer that resides between the underlying host
and network operating system on the one hand, and the application layer on the
other. Its purpose is to provide a common set of programming interfaces that
developers can use to create distributed systems.
In
the last few years, several new technologies have emerged that are aimed specifically
at the ad-hoc networking that is central to the support of significant agent-based
systems. These include Jini, UPnP and Salutation, for example, which define
discovery and registration protocols that allow for dynamic discovery. Similarly,
markup languages such as XML and RDF(S), along with standardised ontologies,
provide a means for resource description and manipulation of this data at a
semantic level.
Agent
infrastructure also provides management functionality through such mechanisms
as Jini leasing, which controls access to registry services, communication support
from underlying transport mechanisms to robust protocols for information exchange,
and security support to ensure that agents are properly authenticated and suitably
authorised to perform their required actions.
Much
of this amounts to a matter of leveraging existing work for application to agent-based
computing, one of the most salient current examples being Web Services. There
are also now a large number of agent development environments and toolkits (including
10-15 implementations of the latest FIPA standards and several high profile
commercial toolkits such as Agent Oriented Software's JACK, Tryllian's ADK and
Lost Wax's agent framework). While not all of the available tools are sufficiently
mature for mission critical usage (especially the non-commercial offerings),
such systems are providing researchers and developers with vital tools for rapid
prototyping and testing of agent systems. In a similar vein, initiatives at
the community level offer important potentially standardised infrastructure,
or standards for infrastructure, that can provide a critical enabler for development
of scalable interoperable systems. These include, but are not limited to, the
following.
-
Base Technologies:
-
The Extensible Markup Language (XML) is the universal format for structured
documents and data on the Web. It was designed for ease of implementation
and for interoperability with both SGML and HTML.
- The
Resource Description Format (RDF) is a framework for describing and interchanging
metadata.
- eBusiness:
- ebXML
aims to standardise XML business specifications. By providing an open
XML-based infrastructure enabling the global use of electronic business
information in an interoperable, secure and consistent manner.
- RosettaNet
is a consortium of major technology companies working to create and implement
industry-wide eBusiness process standards. RosettaNet standards offer
a robust non-proprietary solution, encompassing data dictionaries, an
implementation framework, and XML-based business message schemas and process
specifications for eBusiness standardisation.
-
Universal Plug & Play:
- Jini
network technology provides simple mechanisms that enable devices to plug
together to form an emergent community in which each device provides services
that other devices in the community may use.
- uPnP
offers pervasive peer-to-peer network connectivity of intelligent appliances
and wireless devices through a distributed, open networking architecture
to enable seamless proximity networking in addition to control and data
transfer among networked devices.
-
Web Services:
- UDDI
is an industry initiative aimed at creating a platform-independent, open
framework for describing services, discovering businesses, and integrating
business services using the Internet. It is a cross-industry effort driven
by platform and software providers, marketplace operators and eBusiness
leaders.
- SOAP
provides a simple and lightweight mechanism for exchanging structured
and typed information between peers in a decentralised, distributed environment
using XML.
- WSDL/WSCL:
WSDL provides an XML grammar for describing network services as collections
of communication endpoints capable of exchanging messages, thus enabling
the automation of the details involved in applications communication.
WSCL allows the abstract interfaces of Web Services, i.e. the business
level conversations or public processes supported by a Web Service, to
be defined.
2.1.5 Electronic institutions
As
the complexity of the real-world increases, there is a need to incorporate organisational
concepts into computing systems, with the purpose of considering organisation-centered
design. Electronic institutions provide a computational analogue of human organisations
in which agents interact through roles that are defined as specified patterns
of behaviour. Similarly, virtual organisations can potentially take advantage
of the new electronic environments through coalition formation among disparate
partners to form aggregate entities capable of offering new, different or better
services than might otherwise be available. Agent technology can help enterprises
reduce their operational costs and speed-up time to market by helping distributed
business processes run smoother and in a better coordinated fashion. This has
particular application to supply chain and workflow management issues.
To
design such systems requires a theory of organisation design, and knowledge
of how organisations may change and evolve over time. Sociological organisation
theory and social psychology are clearly important inputs to the design. Moreover,
for the design of open multi-agent systems, political theory may be necessary.
Open systems permit the involvement of agents from diverse design teams, with
diverse objectives, which may all be unknown at the time of design of the system
itself. How the system as a whole makes decisions or agrees on joint goals will
require the adoption of specific political philosophies, such as whether issues
are subject to simple majority voting or transferable preference voting, etc.
These aspects of multi-agent system design are still in their infancy, and much
interaction between agent technologies on the one hand, and sociology, organisation
design and political science on the other, will be required to achieve mature
technologies.
2.2 Agent technologies
2.2.1 Overview
Agent-based computing has been
a source of technologies to a number of research areas, both theoretical and applied.
These include distributed planning and decision-making, automated auction mechanisms
and learning mechanisms. Moreover, agent technologies have drawn from, and contributed
to, a diverse range of academic disciplines, in the humanities, the sciences and
the social sciences.
2.2.2 Multi-agent planning
Problem
decomposition for distributed execution is one of the earliest areas to achieve
success, drawing on developments in traditional planning. Issues studied here
include ensuring that the distinct plans of different agents in a system do
not conflict, attempting to optimise the overall plan schedule, and the decomposition
and distribution of local planning tasks from a central goal. In partial global
planning (PGP), for example, agents form abstractions of local plans to use
to inform other agents of plan steps of interest (Durfee and Lesser, 1991).
In this way, a partial global plan can be constructed that minimises redundancy,
improves coordination, etc. Related work has addressed different strategies
for maximising group performance with planning, execution, monitoring, communication
and coordination.
More
recent efforts have provided models of team or group activity in which agents
collaborate towards specific objectives. Much of this work has been based on
explicitly formulated theoretical models of joint intentions and commitment
strategies, which provide underpinning theories in this area. Similarly, work
on coalition formation in this respect underpins more general considerations
of virtual organisations.
2.2.3 Agent Communication Languages
The
power of agent systems depends on inter-agent communication. Powerful agents
need to be able to communicate with users, with customers, with system resources,
and with each other if they are to cooperate, collaborate, negotiate and so
on. Common agent languages hold the promise of diverse agents communicating
to provide more complex functions across the networked world. Indeed, as agents
grow more powerful, their need for communication increases.
The
two agent communication languages with the broadest uptake are KQML and FIPA
ACL. KQML was developed in the early 1990s as part of the US government's ARPA
Knowledge Sharing Effort, and is a language and protocol for exchanging information
and knowledge, which has been used extensively. The Foundation for Intelligent
Physical Agents (FIPA) is a non-profit organisation aimed at producing standards
for the interoperation of heterogeneous software agents. The unproductive `standards
war' scenario that might have arisen at one point seems now to have been avoided,
with the most active participants supporting the FIPA effort, which incorporates
many aspects of KQML (Labrou et al, 1999).
Europe
has been a prime mover in the FIPA standardisation effort, which seeks to address
interoperability concerns through a sustained programme. This is one area in
which the visibility of agent technology is strong, with some of the most active
take-up efforts from early adopters as, for example, is illustrated by the Agentcities
initiative.
Despite
their merit, KQML and FIPA ACL only deal with agent-to-agent communication.
If we understand an agent as something that can act on behalf of a human or
an organisation, human-computer interface issues will be crucial for the acceptance
of agent technology. Questions remain of how a task can be delegated from a
user to an agent, how user preference structures can be transferred to agents,
and how the state of task execution can be adequately monitored and controlled
by the user.
2.2.4 Coordination mechanisms
For
many years, researchers have been working on problems associated with inter-agent
processes, but the relationship between the different elements is still under
debate. Practical work on developing multi-agent systems, however, has brought
a lot of progress, ranging from the simple but effective Contract Net Protocol
in the late 1970s (Smith, 1980) to more recent work with, for example, market
mechanisms in coordination, and the investigation of properties such as fairness
and truthfulness, and their utility and applicability to optimising coordination
among agents. After more than a decade of work, research on coordination languages
and models (Ciancarini, 1996) is focusing on the development of case studies,
allowing the impact of different classes of coordination models and languages
to be fully appreciated and compared. One very successful example is the use
of agents on the DaimlerChrysler production line, in which dynamic agent coordination
achieved savings of 10%.
Recently,
formal dialogue games, which have been studied in philosophy since the time
of Aristotle (1928), have found application as the basis for interaction protocols
between autonomous agents. Dialogue games are formal interactions between two
or more participants, in which participants move by uttering statements according
to pre-defined rules. Dialogue-game protocols have been proposed for agent team
formation, persuasion, negotiation over scarce resources, consumer purchase
interactions and joint deliberation over a course of action in some situation.
2.2.5 Matchmaking architectures and algorithms
Rather than require individual
agents in a multi-agent system to identify their own partners for cooperation,
other specially designed agents may provide assistance. Matchmakers are agents
that maintain a continually updated repository of information about agents currently
in the system, their capabilities, and other relevant information. Agents contact
the matchmaker, describing a task in the hope of finding a capable agent to assist.
Brokers take this to another level of sophistication in accepting tasks from requesting
agents, assigning them to others, and possibly also prioritising and minimising
cost, depending on the particular broker. Particularly important to note is that
unlike more traditional yellow pages services, these agents can perform partial
matches, providing much greater flexibility than might otherwise be available.
They agents provide an effective means for mediating the interactions between
agents in an open system. The RETSINA architecture offers just one example of
a concrete platform offering such matchmaking and brokering services.
2.2.6 Information agents and basic ontologies
In
the knowledge management arena, an increasing number of companies are realising
that their own intranets are valuable repositories of corporate information,
but without an understanding of how to apply it effectively this information
is likely to be useless. Knowledge management is concerned with the acquisition,
maintenance and evaluation of the knowledge of an organisation, but demands
tools that foster productive collaboration while capturing, representing and
interpreting the organisation's knowledge resources. This kind of knowledge
can enhance adoption of best practice, highlight new business opportunities,
and speed up the identification of market dynamics and sales opportunities.
At present, companies employ largely manual processes, though initial applications
are being developed.
Information
agents typically have access to multiple, heterogeneous and geographically distributed
information sources, in the Internet and corporate intranets, and search for
relevant information, on behalf of their users or other agents. This includes
retrieving, analysing, manipulating, and integrating information available from
geographically distributed, distinct, autonomous information sources. An intelligent
information agent should pro-actively acquire, mediate, and maintain the relevant
information on behalf of users or other agents. Acquisition and managing information
may also imply the purchase of information where appropriate, filtering, monitoring
and updating, as well as data mining for some high-function tasks. The agent
should be able to present both unified views, and different perspectives of
the information, to the user. These processes will involve fusing heterogeneous
data.
This
can also be seen as a move from Enterprise Application Integration (EAI) to
Enterprise Application Collaboration, which is not so much concerned with information
management as with process management. Agent technology is a technology that
helps to improve processes. Knowledge management using agents is just a means
to this end.
2.2.7 Sophisticated auction mechanism design
In
the very near future, a boom in agent-mediated auctions, a long-established
and well-understood trading mechanism, is anticipated. Currently agents can
recommend, but do not yet authorise an agreement. Fully automated negotiations
will come first in areas where the problem can be specified simply, each trade
is of relatively small value, the process is repeated often, and interactions
are repeated very fast. Businesses buying bandwidth for virtual private networks,
and electric power capacity, provide good examples.
There
are several key drivers of agent-mediated auctions. One is the rapid recent
growth in the use of auctions on the Internet. Although much attention is given
to consumer auction sites such as e-Bay, the most spectacular growth has been
in B2B applications, primarily for corporate procurement. General Electric Corporation
(GE) of the USA, for example, purchased over US$ 6 billion worth of goods and
services via on-line auctions in 2000.1 With such large proportions of
corporate transactions being conducted via on-line auctions, it is a natural
progression to attempt to automate these via agent-mediated auction. In one
recent example in which Volvo auctioned contracts over the Internet for wooden
packaging material with the assistance of Accenture and Trade Extensions, savings
of 7.1 million Swedish Kronors were made, around 4% on previous years, while
the number of suppliers was reduced from 15 to 6, offering extra benefits.
Another
driver is the use of program trading in stock markets. Program trading involves
the buying and selling of stocks via automated computer programs, which execute
instructions of their human principals according to pre-defined rules of procedure.
Although the prices of technology stocks are currently at a low, the markets
on which they are traded, such as NASDAQ in the USA, have record levels of transactions.
These transactions are primarily conducted by software programs, with fewer
and less-frequent involvement by human traders. About one-third of NASDAQ trades
are now executed by electronic trading programs.2 Despite their value,
these programs have little flexibility and responsiveness, and require a new
set of capabilities that may be provided by use of agent technologies.
2.2.8 Negotiation strategies
Negotiation
using agents will become a key part of next generation eCommerce and supply
chain systems. Indeed, they are already being used for simple negotiation; Lost
Wax and Cap Gemini have developed a supply chain management demonstrator which
includes negotiation strategies. Drawing on theoretical economics and game theory,
much academic work has been carried out on negotiation strategies, though as
yet only very simple strategies have been deployed. Strategies exist for negotiating
price in many-to-many environments (such as double auctions) and for participating
in multiple one-to-many auctions simultaneously. Strategies also exist for carrying
out multi-parameter negotiation in a one-to-one situation. Preliminary simulation-based
studies have been carried out to determine the effectiveness of such strategies,
but the extensive testing that would be required by industry has yet to be undertaken.
In contrast to the theoretical study of strategies in auctions and games undertaken
in economics, there has been relatively little work to date on effective strategies
in more complex mechanisms, such as those using argumentation. These mechanisms
typically allow participants to state and question the reasons for proposals,
not simply accept or reject the proposals themselves. Considerable theoretical
and simulation work is required to identify effective strategies in different
argumentation contexts.
The
kind of functionality outlined in these two sections is also crucial at a lower
level, when dealing with Quality of Service aspects. This can be found in 3G
communication networks (bandwidth versus reliability versus cost, for example),
but it will also play an important role in smart services in general. Currently,
service level agreements are set up and often monitored by hand, and this must
change.
2.2.9 Learning
When
designing agent systems, it is impossible to foresee all the potential situations
an agent may encounter and specify behaviour optimally in advance. Agents must
therefore learn from, and adapt to, their environment. This task is more complex
when the agent is situated in an environment that contains other agents with
different (and in many cases unknown) capabilities, goals, and beliefs. Multi-agent
learning, (the ability of agents to learn how to communicate, cooperate, and
compete) becomes crucial in such domains.
Learning
is increasingly being seen as a key quality of agents, and research into learning
agent technology, such as reinforcement learning and genetic algorithms, is
now being carried out across Europe. Applications of learning agent technology
have been especially successful in the areas of personalisation and information
retrieval, and promising results have been achieved in the areas of robotics
and telecommunications. More effort will be needed, however, to make learning
an inherent part of commercial agent applications. One of the problems to tackle
is the safety of learning agents, since trust in self-adapting agents is still
a major hurdle.
Over
the years, learning and adaptation has occupied researchers from disciplines
such as artificial intelligence, machine learning, information retrieval and
HCI, and in the agent domain, work has also concentrated around other areas
including adaptive user interfaces, user profiling, and personalisation techniques.
For example, there is significant commercial interest in personalisation, both
as a means of delivering targeted products and services to customers, and as
a way of exploiting the opportunities of pervasive computing, which refers to
the `anywhere, anytime, on any device' model of computing. Gathering information
to support personalisation, and adapt it over time, implies machine learning.
2.3 Links to other disciplines
In addition to Computer Science,
agent technologies have drawn on the work of a number of other disciplines, both
theoretical and applied. In some cases, this flow has been in both directions,
with an agent perspective leading to new insights or new research directions in
the other discipline. The most important links are with the following.
- Philosophy:
A number of areas of philosophy have been influential in agent theory and
design. The philosophy of beliefs and intentions, for example, led directly
to the BDI model of rational agency, used to represent the internal states
of an autonomous agent. Speech act theory, a branch of the philosophy of language,
has been used to give a semantics to the agent communication language of FIPA.
Similarly, argumentation theory - the philosophy of argument and debate, which
dates from the work of Aristotle - is now being used by the designers of agent
interaction protocols for the design of richer languages, able to support
argument and non-deductive reasoning. Issues of trust and obligations in multi-agent
systems have drawn on philosophical theories of delegation and norms.
-
Logic: As in Computer Science generally, recent years have seen a flowering
of applications to agent technologies of formal logic, particularly modal
and temporal logics. Logics of knowledge and belief (epistemic logics) have
been used to represent the internal states of agents in a computational manner,
as in the BDI model; deontic logics have been used to represent obligations
and norms in agent systems; dynamic and process logics have been used to reason
about the interactions between agents, e.g., in modelling the formation of
coalitions between agents engaged in some activity.
- Economics:
In applying agent technology to distributed resource allocation problems,
such as the management of an electricity network, agent technology has naturally
drawn on economic theory. Examples include game theory, which studies the
properties of formalised economic interactions between participants, and mechanism
design theory, which considers the problem of the optimal design of resource
allocation mechanisms. Auctions are the most common mechanism studied in economics,
and the combination of economic theory, operations research and computer science
has led to the emergence of a new discipline, computational auction design.
The rapid growth of electronic auctions has facilitated this emergence, and
led to an interaction with agent technology in order to automate such auctions.
-
Social sciences: Although perhaps less developed than for economics, various
links between agent technologies and the social sciences have emerged. Because
multi-agent systems are comprised of interacting, autonomous entities, issues
of organisational design and political theory become important in their design
and evaluation. Because prediction of other agents' actions may be important
to an agent, sociological and legal theories of norms and group behaviour
are relevant, along with psychological theories of trust and persuasion. Moreover,
for agents acting on behalf of others (whether human or not), preference elicitation
is an important issue, and so there are emerging links with marketing theory
where this subject has been studied for several decades.
-
Biology: Biological metaphors for computation have been very influential in
computer science over the last three decades as, for example, in the development
of evolutionary computation and neural network processing. Indeed, the agent
metaphor itself may be seen as partly biologically-inspired, with a system
of interacting software components being viewed in the same way as an eco-system
of autonomous living entities. Conversely, multi-agent system models have
found application for the simulation of biological systems, such as fish populations
in the North Sea, in a similar manner to their use to simulate socio-economic
domains.
These examples show the diversity
of interfaces between agent technologies and other disciplines. For agent systems
applied to simulation of corporate or public policy decision domains, many of
these connections are present simultaneously.
2.4 Application and Deployment
2.4.1 Overview
Potential applications of agent-based
systems can be divided into three broad categories:
- Assistant
agents, such as agents engaged in gathering information or executing transactions
on behalf of their human principals on the Internet. The Trading Agent Competition
(TAC), where agents seek to book hotels and make travel arrangements for their
principals, provides an example of this type of application (Greenwald and
Stone, 2001).
- Multi-agent
decision systems, where the agents participating in the system must together
make some joint decisions. For instance, a system of agents representing the
various components of a telecommunications network may jointly seek to allocate
scarce resources across the network, such as call-connections, and thereby
manage the operation of the network. The joint decision-making mechanism used
by the agents involved may be an economic mechanism, such as an auction, or
an alternative mechanism, such as one based on argumentation.
-
Multi-agent simulation systems, where the multi-agent system is used as a
model to simulate some real-world domain. Typically, multi-agent models are
used for domains with many different components, interacting in diverse and
complex ways, and where the system-level properties are not readily inferred
from the properties of the components. Examples of such domains include: human
economies, human and animal societies, biological populations, road-traffic
systems, computer networks, and games (such as the agent-based Creatures).
The distinction between the
first type of application and the other two is between a single agent and a
multi-agent system, although agents in the first case may need to interact with
many other agents. Decisions in the second and third cases are taken in some
sense collectively, not individually as in the first case. The main distinction
between the second and the third types of application is that the second has
as its goal the system, comprised of agents, whereas the third has as its goal
the understanding that comes from the system. In addition, in many simulations,
the agents provide an appropriate representation of real world components, while
in the second type of application, agents are used for what they do. A consequence
of this is a distinction between multi-agent systems which themselves take decisions
and those which only provide advice to human decision-makers. Deployment of
multi-agent systems of the second type in situations where real decisions are
taken generates, of course, a host of ethical and philosophical issues. How
should decisions of the system be assessed? Who is responsible if decisions
taken by the system are at fault? Under what circumstances should humans feel
confident about the decision-making activities of these systems? The difficulty
of these questions is one reason, perhaps, why multi-agent systems have yet
to find great employment in decision-making roles.
2.4.2 Industrial and Commercial Applications
To
date, the main areas in which agent-based applications have been reported are
as follows: manufacturing, process control, telecommunication systems, air traffic
control, traffic and transportation management, information filtering and gathering,
electronic commerce, business process management, human capital management,
skills management, (mobile) workforce management, defence, entertainment and
medical care.
For
example, in manufacturing, applications have addressed areas of configuration
design of manufacturing products, collaborative design, scheduling and controlling
manufacturing operations, controlling a manufacturing robot, and determining
production sequences for a factory. In process control, which is a natural application
for agents, by virtue of controllers being autonomous reactive systems, several
applications have been developed. Perhaps the best known of these is ARCHON,
a software platform for building multi-agent systems that has been applied in
several domains, including electricity transportation management and particle
accelerator control. Other such systems have been developed for monitoring and
diagnosing faults in nuclear power plants, spacecraft control, climate control
and steel coil processing control.
In
eCommerce, full automation through agents is still not with us, but an increasing
amount of trade is being undertaken by agents, and there are already several
interesting applications. These include: a simple electronic marketplace called
Kasbah, in which agents buy and sell goods; BargainFinder, an early application
(no longer available) which was an agent that discovers the cheapest CDs; Jango,
a personal shopping assistant able to search on-line stores for product availability
and price information; and so on.
The
telecommunications sector has also seen a significant amount of effort on agent
technology since 1992. European funding programmes ACTS and EURESCOM devoted
specific research lines devoted to agents and addressed issues such as their
application to telecommunications services, service management and workflow,
and methodologies for agent development. Participants included the principal
European telcos: BT, Telecom Italia, Telefónica, Portugal Telecom, Telia.
In
supply chain management, Lost Wax and Cap Gemini have developed an agent-based
demonstrator in which aircraft are serviced, covering routine and emergency
demands for mobile service engineers. Engineers have different capabilities
to respond, according to their location and training. Service vans provide engineers
with mobility and can carry a particular inventory of spares and specialist
tools. Additional spares and tools are held in local or regional depots with
differing logistical arrangements and lead times. Occasional, unplanned events,
such as changes in the state of readiness for war or the elimination of resources
require the system to adapt to the new environment immediately. The application
is modelled as a set of interacting autonomous agents executing in the Lost
Wax agent framework, which provides an application programming interface (API)
through which agents interact with the environment and each other.
In
the entertainment and leisure sector, agents have been used to develop computer
games such as the highly successful Creatures, which provides a rich, simulated
environment containing a number of synthetic agents that a user can interact
with in real-time. They have also been used in cinema to play out roles analogous
to those played by real, human actors, as in Titanic. More recently, the second
in the Lord of the Rings film trilogy, The Two Towers, achieved visually impressive
battle-scenes by using the Massive agent system. Although the battle scene was
broadly predetermined, the movement and action of each individual character
is controlled by perceiving and responding to the artificial environment and
to other characters. The agents can learn over time and their behaviour can
change. In this way, convincing and effective scenes emerge through the autonomous
actions of computational agents.
2.4.3 Simulation Applications
Multi-agent systems offer strong
models for representing real-world environments with an appropriate degree of
complexity and dynamism. For example, simulation of economies, societies and biological
environments are typical application areas.
Agent-based simulation is
characterised by the intersection of three scientific fields, namely agent-based
computing, the social sciences, and computer simulation. The social sciences
study interaction among social entities and include social psychology, management,
policy and some areas of biology. Computer simulation concerns techniques for
simulating phenomena on a computer, such as discrete event, object-oriented,
and equation-based simulation. Interesting and relevant work occurs in related
intersection areas, including:
- social
sciences and agent based computing (social aspects of agent systems);
- computer
simulation and agent-based computing (multi agent based simulation); and
-
social sciences and computer simulation (social simulation).
There are two broad approaches
within the agent-based social simulation research community. One is based on
defining logical systems to underlie social interaction (the foundational model),
and the other on observing social processes and modelling those (the representational
model). The first approach is more influenced by social sciences, and the second
by social simulation. These approaches can be used collaboratively.
Scientists find computer
simulation useful when addressing changes that cannot be easily forecast, but
typically the causes can be identified retrospectively. Flight simulators used
to train pilots have a similar approach. They teach pilots how to respond appropriately
to types of unexpected events. Scenario analysis by business strategists and
social policy analysts can have much the same purpose. An agent-based social
simulation analysis can be more flexible and responsive than alternative modelling
methods. For example, an agent-based social simulation analysis of climate change
(following the Kyoto agreement) can capture the development of social pressures
as the outcome of individual choices and social interaction. Information about
how humans react in extreme circumstances may also help to make agents more
robust.
There are three broad application
areas in agent-based social simulation, as follows.
- Social
structures and institutions, where observation and evidence are used to help
set up the model. Sometimes these simulations help to develop plausible explanations
of observed phenomena, sometimes to help in the design of organisational structures,
or inform policy or managerial decisions. For example, the selection of product
features by a company engaged in new product design may be based on an agent-based
simulation model of the marketplace in which the new products will be sold;
here, the agents represent consumers and choose between alternative product
offerings on the basis of awareness, price, brand reputation, information
they receive from other agents, etc.
- Physical
systems. Examples include agent-based models of intelligent buildings, of
traffic systems, and of biological populations. Research into the impacts
of climate change on various biological populations, for instance, has been
undertaken by means of multi-agent simulation models.
- Software
systems of all types, currently including eCommerce and information agency.
Traffic on a new telecommunications network, for instance, may be forecast
by means of a multi-agent system simulation of predicted user behaviour.
For example, ant inspired
agent-based simulations of complex supply chains have been used by EuroBios
to assist logistics analysts and plant schedulers at Air Liquide in making better
decisions. Modern supply chains, with webs of relationships rather than a narrow
pipeline, do not lend themselves well to traditional optimisation techniques.
Non-linear agent-based simulations, in which all entities in the supply chain
can be modelled and tracked, can provide better results. At Southwest Airlines,
agent-based simulations of cargo routing revealed many missed opportunities
to load cargo, and enabled a cut in multiple handling of freight by 75% and
an increase in revenue of US$10 million.
As is evident, simulation
covers a range of phenomena from the most applied (e.g., manufacturing processes,
traffic systems, information and control systems) to the most abstract (e.g.,
social dimensions to belief, trust, duty and right).
2.4.4 The commercial context
The
commercial potential for agent-based systems was identified early by several
major players. IBM saw agent systems as able to add value to underlying systems
and developed a number of agent engines, including early work on the Aglets
mobile agent system, and more recently their Autonomic Computing programme,
which is concerned with may issues related to agents such as self-healing software,
for example. Hewlett Packard was also involved as an early player, with simple
task automation agents in its NewWave desktop environment, and went on to develop
the eSpeak agent development tool, though this is now largely defunct. In 1997,
Siemens released MECCA, the first FIPA-compliant agent platform.
Developments
in consumer electronics also fuelled agent-based systems. Some high-profile
undertakings failed to work commercially at the time, but can be informative
to suppliers looking at related markets now. The US start-up General Magic proposed
its Telescript agent language, to support the development of agents that could
migrate across Telescript-enabled nodes. Although somewhat overtaken by events,
this work underpins current mobile agent research.
Other
high-profile companies that adopted agent technology in one form or another
included Firefly, an offshoot of the MIT Media Lab in the US, which provided
personalised end-user Web interfaces, and Autonomy in the UK, which used complex
pattern recognition systems to provide information management agents. (Although
these companies have been both hugely successful and much less successful at
different times, they no longer present themselves in agent terms. Perhaps one
reason for this is the convergence of areas in which the technologies underpinning
agents are being seen as a fundamental part of computing as a whole rather than
agents in particular.)
The
late 1990s enthusiasm for new technology, which also included such things as
consumer interface agents, was excessive and somewhat misleading, given the
limited capacity to reproduce end user preferences at the time. But agents were
even then a powerful and flexible way of structuring software. IBM and some
other systems developers saw the potential for agents to provide a powerful,
flexible new set of user-friendly functions. They also saw agents supporting
integration of older software with new, agent-based systems, through agent wrappers.
By
the end of the 1990s, IT industry pundits recognised that in reality there were
many different kinds of agents. Agents to support complexity in real time command
and control systems need different qualities from personalised user interface
agents for consumer Web access, for example.
Indeed,
the current commercial environment offers a much more sober assessment of the
value of agent technology, and an increasing number of sustained efforts both
to use agent technology as part of mainstream software development and to adopt
it for commercial advantage. The range of corporate entities with a stake in
this space is varied.
At
one end of the spectrum, the major players such as IBM, Microsoft, Siemens,
HP Labs, BTexact, etc, all continue to invest in the R&D of basic technology
as well as trying to find commercial application in products. More focused start-ups
such as Tryllian in the Netherlands, Agent Oriented Software and Magenta in
the UK and IKV++ and Living Systems in Germany, for example, offer specific
agent products that are the cornerstones of their business. A more recent model
of the general software development house, which also offers expertise in the
development of agent platforms for particular purposes, in the context of traditional
software development, has also begun to emerge. Lost Wax in the UK and Whitestein
Technologies in Switzerland, are examples. Finally, what might be called user
organisations are also recognising the benefits, with DaimlerChrysler providing
perhaps the best example of a real quantified advantage through their use of
agent technology for car production in scheduling on the factory floor.
A
large number of companies are implicitly working on, or using, agent technology,
blending it into established practices and existing technologies. In this sense,
the specific agent aspects are less visible, but this suggests an increasing
maturity of the technology rather than any failure. Indeed, as companies mature
in their market approach, the varied public perceptions of agents, which often
have an academic angle, seldom match what these companies are offering, and
the agent technologies moves to the background, being an enabler rather than
a sales argument.
|