Monday, August 13, 2007

Agent-Based Computing

OBJECT TECHNOLOGIES

The relation of agents to objects has caused difficulty for some in understanding what it is that makes agents distinct. While object-orientation as a programming paradigm has achieved much success, and offers a valuable abstraction for the development of complex systems, agents provide a different and higher level of abstraction. Like objects that provide encapsulation of state and behavior, agents also encapsulate these properties. However, objects are essentially passive in nature—they have no choice as to whether or not they interact, and are simply invoked by other objects to perform particular tasks or execute particular functionality. By contrast, agents have the ability to decide for themselves whether to participate in computational activity, and whether to perform the desired operation. This is the fundamental distinction that marks out agents as distinct by virtue of their autonomy. It is this autonomy that is also responsible for providing the flexibility that is needed for open and dynamic environments. If behavior is predetermined and is guaranteed when invoked, then the ability to provide flexible responses in the light of changing circumstances is severely curtailed, if not ruled out entirely.


In terms of modeling, objects can be regarded as a valuable way to view the world. Yet an agentbased approach offers a much more natural representation of real-world systems in which different individuals interact according to their own agenda and priorities. They then can come together to achieve overarching objectives that might not, or not as easily, be achieved by the individuals alone, but they do so when it is appropriate

BASIC NOTIONS OF AGENTS


In more specific terms, however, we can drill down and identify two distinct views of agents. The weak notion of agents provides a characterization that enumerates four properties regarded as necessary and sufficient for agenthood:

Autonomy: agents must be self-starting and independent entities that are able to function without direct programmer or user intervention.

Reactiveness: agents can monitor their environments and respond quickly and effectively to changes in those environments.

Proactiveness: agents have overarching goals that direct behavior over longer periods of time towards achieving complex tasks.

Social ability: since agents operate in dynamic and open environments with many other agents, they must have the ability to interact and communicate with these others.

Since this characterization of agents was originally provided in 1994[1], it has been the subject of much discussion, and several authors have provided alternative characterizations with additional properties. These include, for example, the ability to learn, mobility, the requirement that agents are benevolent or honest (an unlikely requirement in open environments), that they are rational, and many others.

The strong or intentional notion of agents also requires agents to be based around control architectures comprising mental components such as beliefs, desires, and motivations. While the stance adopted throughout this book is broad and open, and avoids the dogma that can creep into these kinds of discussions, it will be seen very clearly, especially in the initial discussion of agent architectures, that these notions can be important and valuable as a metaphor that leads to the provision of effective and flexible control and behavior.

AGENT PROPERTIES

There is now a plethora of different labels for agents ranging from the generic autonomous agents[5], software agents[6], and intelligent agents[1]to the more specific interface agents[7], virtual agents [8], information agents[9], mobile agents[10], [11], and so on. The diverse range of applications for which agents are being touted includes operating systems interfaces [12], processing satellite imaging data[13], electricity distribution management [14], air-traffic control[15], business process management [16], electronic commerce [17], and computer games [18], to name a few. The richness of the agent metaphor that leads to such different uses of the term is both a strength and a weakness. Its strength lies in the fact that it can be applied in very many different ways in many situations for many different purposes. The weakness, however, is that the term agent is now used so frequently that it might be considered that there is no commonly accepted notion of what it is that constitutes an agent



Importantly, the success of future developments is likely to be ensured not by considering agents in isolation, but through their integration with evolving (and current) systems integration technologies (such as Jini and UDDI). Agent technologies are particularly relevant at higher levels of interaction relating to communication, ontologies, content, and semantics, whereas business integration frameworks focus on the provision of scalable and robust solutions to the lower levels, including protocols, syntax, distributed computing APIs, and directory services. It is important to build on current efforts to ensure that these are interoperable

No comments: