Title Bar -  Agent Oriented (not Orientated) Software
Home Page Products Solutions Support Resources blank image

AOS Published Papers and Technical Reports

Technical Report 5

Specification of Coordinated Agent Behaviour
(the Simple Team Approach)

by Andrew Hodgson, Ralph Rönnquist and Paolo Busetta

Abstract and Introduction only


Team oriented programming indicates a number of different approaches to the formation of teams of agents and their coordination in order to achieve common goals. A common characteristic of these approaches is that the activity involved is seen from the abstract point of view of the team as a whole. This paper presents a framework, called SimpleTeam, aimed at team oriented programming. SimpleTeam is an extension to an existing Java-based multi-agent framework, JACK™ , which supports the Belief-Desire-Intention (BDI) agent architecture.

SimpleTeam supports the writing of team plans, which represent the activity of a group of agents or sub-teams in order to achieve a team goal, and provides a set of primitives to control concurrency, exception handling and so on. Team members are referred within a plan by their role, which is associated to a specific agent during the formation of the team. Team formation and team plan execution is controlled at run-time by two special types of agents called team manager and team instance. SimpleTeam does not commit to a specific approach to the formation of teams and distribution of beliefs; it can be developed by the programmer to follow the paradigm most appropriate to the task at hand. In the specific domain of agent-based simulations, SimpleTeam enables the programmer to choose the fidelity level of a simulation of a group by allowing the collapsing of single entities within the team instance.

This paper introduces the software architecture of SimpleTeam, discusses its most important concepts and shows some of its primitives. An example application is presented.

1 Introduction

Team Oriented programming is a nuance of Agent Oriented programming wherein agent collaboration is specified from the abstract viewpoint of the group as a whole. The concept behind this approach is that coordinated

is specified, i.e., programmed, from a high-level (bird's-eye) perspective and that the underlying machinery maps such specifications into the individual activities of the agents concerned.

Within Artificial Intelligence research, team work as an agent programming activity has been studied since the early 90s (Cohen 1991), and is a rapidly developing field. The objective is to find a general-purpose model of team work which simplifies the implementation of any particular mode of coordination.

JACK™ is a Java-based multi-agent framework developed by Agent Oriented Software Pty. Ltd. JACK enables the development of complex agents in Java and supports the Belief-Desire-Intention (BDI) architecture (Rao & Georgeff 1992). It is further designed to allow extensions that implement new or extended agent models through a plug-in paradigm with the core JACK framework.

JACK allows for the development of robust intelligent agent systems following the BDI agent model. The BDI model is applicable to a wide range of applications and can be extended to introduce team work concepts. In particular, modeling principles regarding specifications of teams (Cavedon et al,1997, Tambe,1997) and schemes for centrally specifying multi-agent dialogs/protocols (Haddadi1996) can be introduced. We believe that these abstractions are valuable for developing complex systems involving many collaborating agents.

In this paper, we suggest a plug-in extension to JACK that allows for the specification of simple teams and the coordination of joint activities among the team members. We then focus on providing the most valuable and practical aspect regarding teams; the centralized specification of coordinated behavior, and its realization through actual coordinated activity. The suggested extension is implemented as a JACK plug-in without modifying the core. It results in an addition of new concepts, and as an extension of the JACK capability concept to abstract the definition of behavior (role) from the implementation (capability).

Following the JACK paradigm, team concepts are brought in as a strictly typed language. This is an accepted practice within mainstream Software Engineering, as it allows early detection of inconsistencies during the compilation and initialization process. In order to specify coordinated behavior in a type-safe way, we have introduced a number of new entities (concepts) to JACK. Their role is to provide a consistent scheme for specifying the abstract behavior of teams, specifying the coordination of activities between the various components of teams, and providing an infrastructure for instantiating particular instances of teams.

Many different theories and types of teams, ranging from strictly hierarchically structured teams to collaborating teams without formal structure, have been proposed in the literature. Also, theories have been proposed regarding mutual beliefs and goals, where individual members of a team attempt to achieve what they believe the team as a whole is attempting to achieve.

The work presented here is neutral to the nature of the structure of a team (i.e., hierarchical and imposed from the top, or resulting from spontaneous collaboration from the bottom), and to how team formation is achieved. Our only assumption is that, after formation, it is possible to classify the members of a team in terms of abstract roles. Our goal is to provide a software infrastructure for the specification of coordinated which can then be used for pursuing applied studies on social organization.


back

New in Jack v5.0: The JACK Development Environment (JDE) has been extended to provide the ability to trace execution using JACK Design Diagrams.

After configuring the JDE to trace certain diagrams, it can connect to a running JACK™ application and when any transitions occur that match links in the diagram, they will be highlighted.

Click here to learn more

©2006 Agent Oriented Software Group


Download JACK™

Privacy Policy