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