IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 9, NO. 2, MARCH-APRIL 1997 193 Sharing Metainformation to Guide Cooperative Search Among Heterogeneous Reusable Agents Susan E. Lander, Member, IEEE, and Victor R. Lesser, Member, IEEE Abstract—A reusable agent is a self-contained computational system that implements some specific expertise and that can be embedded into diverse applications requiring that expertise. Systems composed of heterogeneous reusable agents are potentially highly adaptable, maintainable, and affordable, assuming that integration issues such as information sharing, coordination, and conflict management can be effectively addressed. In this article, we investigate sharing metalevel search information to improve system performance, specifically with respect to how sharing affects the quality of solutions and the runtime efficiency of a reusable- agent system. We first give a formal description of shareable metainformation in systems where agents have private knowledge and databases and where agents are specifically intended to be reusable. We then present and analyze experimental results from a mechanical design system for steam condensers that demonstrate performance improvements related to information sharing and assimilation. Finally, we discuss the practical benefits and limitations of information sharing in application systems comprising heterogeneous reusable agents. Issues of pragmatic interest include determining what types of information can realistically be shared and determining when the costs of sharing outweigh the benefits. Index Terms—Reusable agents, information (knowledge) sharing, distributed search, multiagent systems, system performance, mechanical design, distributed artificial intelligence. —————————— —————————— 1 INTRODUCTION HE computational equivalent to a team of human spe- cialists is the reusable-agent system, a multiagent system in which expert agents are dynamically selected from a li- brary and integrated with minimal customized implemen- tation. With reusable-agent systems, diverse information can be applied in situations that were not explicitly anticipated at agent-development time. The benefits of this type of system to an application builder are potentially large: For example, agents can be flexibly and inexpensively modi- fied, added to a system, or deleted from a system in re- sponse to changes in specifications, resources, and technol- ogy; agents will be more reliable over many uses; and the cost of building an agent can be amortized over multiple uses. Reusable-agent systems have enormous potential in domains such as design engineering and manufacturing where business trends and global competition are forcing very rapid transitions in both technology and philosophy [1]. Complex applications that incorporate reusable agents are able to adapt quickly to changes without discarding the main body of existing work. However, to participate in an application, reusable agents must be technically capable of effective interaction. The challenge goes much deeper than the physical transfer of information between agents or even mutual semantic-level understanding of shared informa- tion. To achieve satisfactory performance in reusable-agent systems, significant attention must be paid to what infor- mation should be shared and how that information is cre- ated and used to reason about the global state of problem solving, to coordinate actions, and to resolve conflicts stemming from inconsistent or incomplete knowledge and evaluation criteria. Local perspective is one of the most difficult problems to be overcome in any multiagent system; it is especially pro- nounced in reusable-agent systems because the agents are created independently and without foreknowledge of ap- plications into which they will be embedded. Therefore, knowledge engineering during agent implementation is impossible. Each individual agent perceives the world as defined and bounded by its local knowledge rather than by the knowledge of all agents in the system. This problem could be easily addressed if all expertise were repre- sented in the form of explicit constraints: The constraints could be collected and processed by a centralized constraint- satisfaction algorithm. However, agents are generally com- plex systems in which expertise is represented by a combi- nation of declarative and procedural knowledge. When this is the case, constraint processing is not sufficient to repre- sent the expertise of an agent. Instead, each agent must be individually invoked to solve subproblems that are relevant to its domain of expertise and the resulting solutions must be integrated into a globally consistent solution. An agent with only a local view of the search space cannot avoid producing subproblem solutions that conflict with other agents’ solutions and cannot make intelligent decisions about managing conflicts that do occur. To overcome this 1041-4347/97/$10.00 © 1997 IEEE ———————————————— S.E. Lander is with Blackboard Technology, 401 Main St., Amherst, MA 01002. E-mail: lander@bbtech.com. Web URL: http://www.bbtech.com/lander. V. Lesser is with the Department of Computer Science, University of Mas- sachusetts, Amherst, MA 01003. E-mail: lesser@cs.umass.edu. Manuscript received Dec. 14, 1995. For information on obtaining reprints of this article, please send e-mail to: transkde@computer.org, and reference IEEECS Log Number K97011. T