Software agents are the latest advance in the trend toward smaller, modular pieces of code, where each module performs a well-defined, focused task or set of tasks. Programmed to interact with and provide services to other agents, including humans, software agents act autonomously with prescribed backgrounds, beliefs, and operations. Systems of agents can access and manipulate heterogeneously s…