Document Type


Subject Area(s)

Computer Science and Engineering


Software agents as user agents, resource agents, and brokers may be able to enhance usefulness of workflow applications. Workflow technology is important to network computing because workflows exist naturally wherever distributed resources are interrelated. The problem with current workflow technology is that it is often too rigid. The lack of freedom accorded to human participants causes workflow management systems to appear unfriendly. As a result, they are often ignored or circumvented. This rigidity also causes productivity losses by making it harder to accommodate the flexible, ad hoc reasoning of human intelligence. Another challenge is that system requirements are rarely static. Software agents promise to address these challenges. The roles of greatest interest to a workflow setting are user agents, resource agents, and brokers. When a workflow is constituted in terms of distinct roles that agents can instantiate, the agents can be set up to respect the constraints of their users and resources. User agents negotiate with one another and with resource agents to ensure that global constraints are not violated and that global efficiencies can be achieved. Agents can include functionality to identify different kinds of exception conditions and react appropriately, possibly by negotiating a special sequence of actions. More importantly, agents can learn from repeated instances of the same kinds of exceptions. With this learning ability, agents can process the updated set of constraints when system requirements change.