Business processes are the core of a business. Activities such as customer support, product quality assurance and inventory management are essential to the success of a business, and must be performed efficiently and in an error-free manner. Management must be able to monitor the progress of the overall process and make timely changes as business needs change. Efficient performance of business processes is not often easy with current organizational practices, however. Information on the entire process is often only known to a few members of the team or is written in procedure manuals. In large organizations, where many employees are involved in key processes, most of the participants may not understand the entire process. Under such circumstances, it can be difficult to perform mission-critical processes predictably and efficiently. Mobile software agents are a kind of computer software that is designed to perform complex processes. A mobile software agent is similar to a conventional software program, with some key differences. A mobile software agent is designed to perform and manage a particular instance of a process. It contains information about the process logic, as well as information about the particular instance that it is tracking. For example, if the customer support function is implemented with mobile software agents, there will be a different agent for each customer support case.
This paper describes some attributes of business processes that make them suitable for performance by mobile software agents. It also enumerates the capabilities required of a mobile software agent that can perform complex processes.
A process can be described as a well-defined sequence of steps that accomplish a specific objective, and involve actions by multiple participants at multiple locations over a period of time. Each of these attributes merits closer examination.
A well-defined sequence of steps: Most essential business processes are well-defined. Either a policy and procedures manual exists, or, the steps in the process are common knowledge among some or all of the participants. The steps may include actions like form fill-in, transmission to other locations, or interacting with other applications.
Actions by multiple participants at multiple locations: Most complex processes involve more than one person. Often these processes will involve people at different physical locations and from different departments within the company.
Actions over a period of time: Most business processes take time. Some will take days, others may take weeks. Often, a process may be inactive, because another crucial activity has not completed. Take a loan approval process, for example. Once the loan application has been completed, the verification requests are sent out. The process then pauses, until the verifications are received. For as long as computers have been used in business, computer programs have been used to perform parts of business processes. Programs often only run for minutes, depending on the speed of the computer they are running on. Any one run of a computer program, be it a report generator, or a front-end query tool, lasts for a much shorter time than the time needed to perform a complete business process. For example, a computer program may be used to enter the information for a new customer problem as part of a customer support system, or customer information may be looked up during the customer call. While both of these programs are part of the process, neither tracks the entire process by which the customer problem is resolved. Mobile software agents can.
Mobile software agents are computer programs. However, they are different from other computer programs in one key way: a software agent has a unique identity and maintains it during the entire period of its existence, even while it is stored on a disk file. In the example given above, both the data entry program and the customer lookup program would be part of the same agent. A new mobile software agent would be created each time that a new customer call came in. It would track this customer case until it was resolved. This might happen in a few minutes, if the customers questions could be answered immediately, or it may take several days, if the case had to be referred to a specialist.
As demonstrated by this example, there are some key differences between computer programs and mobile software agents. The essential difference is identity - that attribute of a mobile software agent that distinguishes it from any other agent. For example, it is possible to distinguish the agent that is handling purchase order #1253 from the agent that is handling purchase order #1267. Software agents have several other key characteristics that distinguish them from computer programs. An agent can:
Mobile software agents are a new approach to computer
software. Mobile software agents are targeted towards performing many instances
of a well-defined process predictably and repeatedly. The kinds of processes
that benefit most from the use of mobile software agents are those that
require multiple people working at multiple locations over long periods
of time. The key attributes of a mobile software agent that allow it to
perform such processes successfully are identity, persistence and mobility.
Identity allows an instance of a mobile software agent to be distinguished
from others. Persistence allows an agent to convert itself back and forth
from a data stream. Finally, mobility allows an agent to travel across
networks to perform its tasks.
Last updated August 14, 1996.