Programming Group Computations
In this paper, we consider the problem of effectively programming groups of agents. These groups should capture structuring mechanisms common in multi-agent systems, such as teams, cooperative groups, and organisations. Not only should individual agents be dynamic and evolving, but the groups in which the agents occur must be open, flexible and capable of similar evolution and restructuring. We enable the description and implementation of such groups by providing an extension to our previous work on programming languages for agent-based systems based on executable temporal and modal logics. With such formalism as a basis, we consider the grouping aspects within multi-agent systems. In particular, we describe how the implementation of grouping primitives has been carried out and analyse a variety of simple mechanisms for organising agents within such groups. Finally, we consider how this work can provide a (formal) basis for a pattern-based approach to multi-agent systems.