AGENT TECHNOLOGY ROADMAP

Download updates contents feedback distribution companies interviewed contributors  

2

State-of-the-art: research and development

2.1
Agents as Design
2.1.1
Agent-oriented Software Engineering
2.1.2
Agent architectures
2.1.3
Mobile agent systems
2.1.4
Agent infrastructure
2.1.5
Electronic institutions
2.2
Agent technologies
2.2.1
Overview
2.2.2
Multi-agent planning
2.2.3
Agent Communication Languages
2.2.4
Coordination mechanisms
2.2.5
Matchmaking architectures and algorithms
2.2.6
Information agents and basic ontologies
2.2.7
Sophisticated auction mechanism design
2.2.8
Negotiation strategies
2.2.9
Learning
2.3
Links to other disciplines
2.4
Application and Deployment
2.4.1
Overview
2.4.2
Industrial and Commercial Applications
2.4.3
Simulation Applications
2.4.4
The commercial context

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.

 

   

AgentLink is the European Commission's IST-funded Coordination Action for Agent-Based Computing
and is coordinated by the
University of Liverpool and University of Southampton
If you encounter any problems with these pages please contact web@agentlink.org.