Competing for the Future
with Intelligent Agents

by
Faramarz Farhoodi and Peter Fingar
farhoodi@trcinc.com . . . . . pfingar@acm.org
© 1997, Farhoodi and Fingar

Featured in
Distributed Object Computing,"DOC" Magazine
The Endorsed Publication of the Object Management Group
Part 1: October 1997---Part 2: November 1997

Going one step beyond distributed object technology, intelligent agents are poised to transform the way we model the enterprise and build information systems. In this first of a two-part article we explore the what and why of this advanced technology, its business and technical benefits and implications. In part two we will explore how to apply the paradigm to business, explore architectures and standards, and explain the relationship with object technology - in particular the Object Management Group's Object Management Architecture.

Business - The Next Generation

The world economy is going digital and a handful of business pioneers already provide exemplars of the tactics and operation of 21st century business competitors. The amazing story of a virtual bookstore, Amazon.com teaches many lessons from the business battlefront of the future. Out of nowhere, this digital bookstore turned an industry up-side-down, using blitzkrieg tactics. What happened here was more than creating a web site, an intelligent and ubiquitous digital business was conceived and implemented globally. The company represents a competitive form not seen before on the business landscape and not possible prior to ubiquitous communication networks. Shattering traditional supply value chains in the book-selling industry, Amazon.com has opened thousands of virtual bookstores in its first months of operation. These virtual bookstores are independently operated by people and organizations (Amazon calls them Associates) that create web sites in their specialty fields and seamlessly interoperate with Amazon.com.

The many tasks needed to establish a virtual bookstore are handled digitally. Once the bookstore is established, intelligent agents (dubbed Eyes and Ears) notify the virtual bookstore operator of relevant new books, and thousands of activity and sales reports are distributed to Associates each week without a drop of ink. Meanwhile, digital sales clerks gently suggest to customers browsing a particular book that others who have bought the book also bought these other titles … a little reference selling to the self-service customer. True to the notion of the virtual corporation, Amazon.com doesn't have physical book stores or warehouses … why, they don't even have books! They compete with information and knowledge-based information systems and outsource the rest of the business in the industry's value chain.

In the past the computer was essentially a filing cabinet, handling the affairs of the back office, programmed under the file clerk metaphor: capture, storage, and retrieval of records. Today, however, we are not only seeing Scott McNealey's vision that the network is the computer™, now we can observe that the network is the business! To participate in the emerging digital economy, the business tasks we must ask of computers move from the back office record-keeping to the front line operations of the business. We are automating very different kinds of things: business processes and workflows which are human, knowledge-based phenomena; and opening our core business systems for direct interaction with customers, suppliers, and sometimes with competitors (i.e. the airlines industry). New forms of pervasive communications have allowed forward thinking business people to blur industry boundaries and create virtual corporations whose core competencies are information and knowledge management, taking much of the operational information once in workers' heads and codifying it into executable software.

The new realities of business have created new imperatives for business information systems. Today's business systems must provide enterprise (and interenterprise) reach so that islands of disparate information can be integrated into a meaningful whole. They must be able to cope with the overwhelming complexity of distributed technology and an interenterprise information base. They must be open to survive a network-centric ecosystem. Rapid applications development goes without saying, and applications must be designed to embrace constant change. Business systems must be knowledge-based (not just information-based) if they are to cope with the incompleteness and ambiguity of real business processes and workflows. And they must be adaptive to meet the needs of the moment and bring productivity to an increasingly overwhelmed business user and self-service to our customers. That's what is being asked of IS today, a very tall order.

Both object and agent paradigms focus on addressing change and complexity. Intelligent agent technology is the next logical step in moving the object paradigm forward and overcoming some of its shortcomings in commercial IS. Both technologies have been around for decades but only now are they being repurposed for business in response to a rapidly changing world. Today businesses are grappling with how to make software accommodate change and thrive in a complex digital economy. Business leaders know all about rapid change and increasing complexity, and some are now asking "Why can't software change itself to keep up with the changes in the business?" It is this business case that is bringing intelligent agent technology out of the research lab and military establishment and repurposing it for competitive advantage.

Business Objects - The Next Generation

Few in IS have not heard of software agents. Thanks to the dramatic growth of the Web, computing literature is replete with discussions of software agents. Like objects, however, the term is weary from overuse and misuse. Various names have been used - knowbots, softbots, personal assistants, software agents, intelligent agents. And various layman definitions have been offered: an object that thinks, an object with a head, and a smart computer program.

Backing away from technology for a moment, the everyday term, agent, provides a starting definition: "one who acts for, or in the place of, another." A software agent is a software package that carries out tasks for others, autonomously without being controlled by its master once the tasks have been delegated. The "others" may be human users, business processes, workflows or applications.


Figure 1 shows the anatomy of an intelligent agent. An agent has both "transient" (the active workspace) and "permanent" knowledge (permanent means intrinsic in this context; it stays stable from one execution cycle to the next). It has a controller (representing its head) which can be given alternative behavioral characteristics (e.g. stimulus-response- like, actor-like, or blackboard-like). An intelligent agent performs tasks which have both declarative and procedural components. It can use alternative reasoning strategies, including belief management. An agent's repertoire of tasks represents its capabilities. Each task can have its procedural "how to do" component represented as rules, knowledge sources (rule sets), or methods.


Figure 1. Anatomy of an Intelligent Agent

Is it a software agent or just another program? A basic software agent stands on three pillars, three essential properties: autonomy, reactivity, and communication ability. The notion of autonomy means that an agent exercises exclusive control over its own actions and state. Reactivity means sensing or perceiving change in their environment and responding. And, even the most basic software agents have the ability to communicate with other entities: human users, other software agents, or objects.

Add to this definition the ability to plan and set goals, to maintain belief models (their own and other agents' beliefs), to reason about the actions of itself and other agents (including humans), and the ability to improve its knowledge and performance through learning, you then have the core ingredients of an "intelligent agent." An intelligent agent represents a distinct category of software which incorporates local knowledge about its own and other agents' tasks and resources, allowing it to operate autonomously or as a part of a community of co-operative problem solvers (including human users), each agent having its own roles and responsibilities.

Figure 2 shows some of the key components of multi-agent problem-solving. To achieve common goals agents need coordination. Effective coordination requires cooperation, which in turn can be achieved through communication and organization. So in the process of developing agent-based systems we need answers to several fundamental questions:
  • What are appropriate agent architectures for different classes of problem-solving?
  • How does an agent acquire its knowledge and how should it be represented?
  • How does a complex task get decomposed and allocated to different agents?
  • How should agents cooperate and communicate with each other?
  • Can an intelligent agent be trusted?

Figure 2. Multi-Agent Problem-Solving

Many popular software agents bill themselves as intelligent when in fact they are basic software agents. Intelligent agent technology is a sub-field of Distributed Artificial Intelligence (DAI). DAI is concerned with issues arising out of problem-solving by a collection of smart entities/systems and concurrency of computation at different levels. Some of the basic tenets of problem-solving by intelligent agents are:
  • Each agent may have different knowledge, capabilities, reliability, resources, responsibilities or authority.
  • Different agents may perceive the same event or object differently.
  • Agents may specialize in or focus on different problems and sub-problems.
  • An important goal is convergence on solutions despite incomplete or inconsistent knowledge or data.

Intelligent agents are similar to objects in a number of ways. Agents can be organized into generalization and specialization hierarchies, to exploit inheritance (eg, a risk assessment agent represents a specialization of a personal assistant agent class). An agent can advertise its services using a variety of means, and how it implements these services should be transparent (ie, encapsulation of behavior). Different agents can respond to the same service request differently without the requester needing to know about such differences. For example, imagine that a user is supported by a set of E-mail agents (for Internet mail, LAN mail, etc). This user should not have to be concerned with how each agent handles the same request for sending a message (ie, polymorphism). And, intelligent agents communicate asynchronously by message passing, using a variety of rich interaction protocols (eg, negotiation and conflict resolution protocols).

Intelligent agents differ from objects in a number of ways. Intelligent agents manipulate objects to perform their tasks (an intelligent agent may be thought of as an object with a head!). Behavior of intelligent agents (the tasks that they perform and how the tasks are performed) can be modified dynamically, due to learning or influence of other agents. Intelligent agents can be autonomous, can reason about themselves and can be mobile. Intelligent agents can actively and dynamically seek to cooperate to solve problems, using task and domain-level protocols (an important goal is convergence on solutions despite incomplete or inconsistent knowledge or data).

Business objects make a major contribution to
modeling information in the enterprise.
Intelligent business agents extend this capability to provide the breakthrough in
modeling knowledge in the enterprise.

A major reason for the apparent failure of OO to deliver on reuse is insufficient attention to the issue of domain understanding and the representation of this understanding in an unambiguous and precise way so it can be validated by business people. Arguably, OO methods focus too much on notation and not enough on content. OO notions such as class, association, and message are too biased toward the implementation of software systems. Such concepts are not sufficiently expressive of business concepts: rules, constraints, goals and objectives, and roles and responsibilities. Nor are these concepts readily understandable by business people, posing a major barrier to the participation of business users in validating OO models. The lack of such validation can have serious consequences for the validity of the software solutions that are developed.

The agent-oriented approach provides a more understandable paradigm for constructing models of a business domain, as well as offering techniques for creating smart business solutions-all enabled, but not driven, by object technology. The agent-oriented approach to business objects distinguishes between active, goal-seeking objects (agents) and passive objects. Agents are the centerpiece in domain modeling, together with the tasks they perform, how they interact with each other, how their actions generate events, and how they are organized around and manage business processes. It is advocated that the same perspective and vocabulary be used during analysis, design, and construction of software systems guided by reference architectures. This method of software construction helps reduce cognitive dissonance through the use of constructs in software that can be mapped more naturally and directly to real-world entities than basic objects. In addition, agents can be integrated frameworks that contain, in one package, specific problem-solving functions, data and control. This helps to transform the creation of applications into a high-level task of assembling pre-fabricated frameworks, as opposed to the more complex task of grappling with object libraries or fine-grained components.

Going beyond today's business objects, intelligent business agents are the next higher level of abstraction in model-based solutions to business problems. By building on the distributed object foundation, intelligent agent technology can help bridge the remaining gap between flexible design and useable applications. Intelligent agents support a natural merging of object orientation and knowledge-based technologies. Intelligent agents can facilitate the incorporation of reasoning capabilities within the application logic (e.g. encapsulation of business rules within agents or modeled organizations). They permit the inclusion of learning and self improvement capabilities at both infrastructure (adaptive routing) and application (adaptive user interfaces) levels. Intelligent user interfaces (supporting task centered user interfaces and intelligent assistance to end-users) can be a boon to productivity in a network-centric world.

On the technology side, intelligent agents solve run-time operations bottlenecks inherent in network-centric computing. Management of enterprise-wide objects in a run-time environment becomes more difficult using pre-programmed control objects. For example, as the size of an OO system grows, the number of messages between objects grows non-linearly and "controller objects" themselves need to be coordinated or they can become performance bottlenecks. Unlike objects, intelligent agents can participate in high-level (task oriented) dialogues through the use of interaction protocols in conjunction with built-in organizational knowledge. In many cases, the need for communication is greatly reduced, as within these high-level dialogues, complex packets of procedural and declarative knowledge as well as state information may be exchanged in the form of mobile agents.

Figure 3 shows an example of an intelligent agent specializing in supporting risk management. It shows that such an agent would use its knowledge of risk assessment, its role in supporting this process and historical data to examine various data feeds in order to compose a risk exposure picture.


Figure 3. Risk Management Application of Intelligent Agents
.

.

Figure 4 illustrates a community of intelligent agents, including a Risk Assessment Agent, supporting a financial trader.

Figure 4. Intelligent Agents as Personal Assistants to a Financial Trader


Applications highly suited for intelligent agent technology include:
  • Data filtering and analysis.
  • Information brokering.
  • Condition monitoring and alarm generation.
  • Workflow management.
  • Personal assistance.
  • Simulation and gaming.

As a result, there is growing interest in intelligent agent technology from a number of blue chip companies, including IBM, AT&T, Apple, BT, HP, Microsoft, Lotus and Digital. Researchers from disparate disciplines are actively involved in developing or applying intelligent agent technology - including robotics, entertainment, knowledge based systems, human-computer interaction, databases, distributed systems, communications networks, cognitive science and psychology. Examples of commercial applications of software agents include:

  • Visual financial analysis agents - such as FourGen (agents perform data mining and analysis).
  • Infoagents - such as Verity (agents perform information filtering and document management).
  • System management agents - such as BMC and Eco Tools (agents support system managers by monitoring and reporting important events).
  • Workflow agents from Edify (where agents perform call handling - this is used by a major international carrier and a leading photographic equipment manufacturer).

Competing for the Future

The importance of agent technology is now widely recognized in several industries, especially defense, telecommunications, and manufacturing, as well as standards bodies such as the Object Management Group. These and other leading organizations have recognized the business and technical benefits:

  1. increased productivity of business computer users and self-service customers in a network-centric business;
  2. a combined information and knowledge model of the business and information systems that makes rapid development in a complex environment a reality; and
  3. bandwidth efficiency so necessary in a network-centric computing environment.

Not only do they recognize the benefits, some companies are already deploying intelligent agent technology as a competitive weapon--today! They turn web hits into business relationships. They use smart technology to plug suppliers and customers into their core business systems. They profile their constituents and search for new patterns in their data warehouses to better meet ever changing needs. Is your company ready to complete with them?

With careful planning and armed with a solid understanding of the current limitations of intelligent agent technology, powerful business information systems can be developed that exploit the Internet and distributed objects to gain strategic business advantage. Although the tasks of designing and building them are not trivial, information systems based on intelligent agent technology are inevitable. Learning to harness this emerging technology should be a top priority of today's IS leaders. Companies can go it alone but those that face immediate mission critical requirements will be well advised to seek outside assistance from those who have gone before.

# # #

For additional information, books and web links.