AGENT TECHNOLOGY ROADMAP

Download updates contents feedback distribution companies interviewed contributors  

Agent-based Computing

1.1
What is an agent?
1.2
Agents as a design metaphor
1.3
Agents as a source of technologies

1 Agent-based Computing

As the computing landscape moves from a focus on the individual standalone computer system to a situation in which the real power of computers is realised through distributed, open and dynamic systems, we are faced with new technological challenges and new opportunities. The characteristics of dynamic and open environments in which, for example, heterogeneous systems must interact, span organisational boundaries, and operate effectively within rapidly changing circumstances and with dramatically increasing quantities of available information, suggest that improvements on the traditional computing models and paradigms are required. In particular, the need for some degree of autonomy, to enable components to respond dynamically to changing circumstances while trying to achieve over-arching objectives, is seen by many as fundamental. While this notion is not intended to suggest an absence of control, some application contexts offer no alternative to autonomous software. In practical developments, Web Services, for example, now offer fundamentally new ways of doing business through a set of standardised tools, and support a service-oriented view of distinct and independent software components interacting to provide valuable functionality. In the context of such developments, agent technologies have become some of the primary weapons in the arsenal aimed at addressing the emergent problems, and managing the complexity.

Agent-based systems are one of the most vibrant and important areas of research and development to have emerged in information technology in the 1990s. Put at its simplest, an agent is a computer system that is capable of flexible autonomous action in dynamic, unpredictable, typically multi-agent domains. Many observers believe that agents represent the most important new paradigm for software development since object-orientation. The concept of an agent has found currency in a diverse range of sub-disciplines of information technology, including computer networks, software engineering, object-oriented programming, artificial intelligence, human-computer interaction, distributed and concurrent systems, mobile systems, telematics, computer-supported cooperative work, control systems, mining, decision support, information retrieval and management, and electronic commerce.

Because of the horizontal nature of agent technology, it is likely that the successful European adoption of agent technology in these areas will have a profound, long-term impact both on the competitiveness and viability of European IT industries, and also on the way in which future computer systems will be conceptualised and implemented.


1.1 What is an agent?

Agents can be defined to be autonomous, problem-solving computational entities capable of effective operation in dynamic and open environments. Agents are often deployed in environments in which they interact, and maybe cooperate, with other agents (including both people and software) that have possibly conflicting aims. Such environments are known as multi-agent systems. Agents can be distinguished from objects (in the sense of object-oriented software) in that they are autonomous entities capable of exercising choice over their actions and interactions. Agents cannot, therefore, be directly invoked like objects. However, they may be constructed using object technology. These notions find application in relation to several distinct aspects, considered in turn below.

1.2 Agents as a design metaphor

Agents provide designers and developers with a way of structuring an application around autonomous, communicative elements, and lead to the construction of software tools and infrastructure to support the design metaphor (Jennings, 2001). In this sense, they offer a new and often more appropriate route to the development of complex systems, especially in open and dynamic environments. In order to support this view of systems development, particular tools and techniques need to be introduced. For example, methodologies to guide analysis and design are required; agent architectures are needed for the design of individual components, and supporting infrastructure (including more general, current technologies, such as Web Services) must be integrated.

1.3 Agents as a source of technologies

Agent technologies span a range of specific techniques and algorithms for dealing with interactions with others in dynamic and open environments. These include issues such as balancing reaction and deliberation in individual agent architectures, learning from and about other agents in the environment and user preferences, finding ways to negotiate and cooperate with agents and developing appropriate means of forming and managing coalitions. Moreover, the adoption of agent-based approaches is increasingly influential in other domains. For example, multi-agent systems can provide faster and more effective methods of resource allocation in complex environments, such as the management of utility networks, than any human-centred approach. Similarly, the use of agent systems to simulate real-world domains may provide answers to complex physical or social problems which would be otherwise unobtainable, as in the modelling of the impacts of climate change on various biological populations, or modelling the impact of public policy options on social or economic behaviour.

 

   

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.