Building dynamic organizations of distributed, heterogenous agents

An increasing number of agent-based systems now operate in complex dynamic environments, such as disaster rescue missions, enterprise integration, and education/training environments. The proliferation of agents throughout these domains will open up new opportunities for building largescale systems, but integrating agents into such large-scale systems remains challenging. First, it is difficult for developers to locate relevant agents in distributed, open environments. Second, since the recruited agents do not usually know how to work together, it is difficult to design the appropriate inter-agent coordination. Third, the resulting integrated system must be robust despite the uncertainties (e.g., agent failures) of an open environment. To address these particular challenges, our framework focuses on enabling developers to rapidly construct large-scale agent organizations. This project currently has two key aspects: specifying and monitoring the agent organization, and enabling it to reliably execute tasks by ensuring robust teamwork among agents. We address the first aspect through KARMA, the Knowledgeable Agent Resources Manager Assistant, and the second through TEAMCORE. The following sections explain our framework's typical stages of interactions (the numbered arrows in Figure 1). Karma: Specifying & Monitoring Team-Oriented ProgramsIn stage 1 of Figure 1, a software developer begins specifying an organization of interest via "team-oriented programming" [ 1 ]. The developer specifies three key aspects of a team: a team organization hierarchy, a hierarchy of reactive, team plans, and assignments of agents to plans. The team organization hierarchy consists of roles for individuals and for groups of agents. The reactive team plans are much like reactive plans for individual agents, but with the key difference that the team plans explicitly express joint activities. The third aspect of team-oriented programming is the assignment of agents to plans. This is done by first assign-

[1]  Milind Tambe,et al.  Toward Team-Oriented Programming , 1999, ATAL.

[2]  Milind Tambe,et al.  Towards Flexible Teamwork , 1997, J. Artif. Intell. Res..