Towards an Aspect-Oriented Approach of Multi-Agent Programming
Abstract
Programming large systems requires to cut them in smaller pieces (modules, objects, components, agents, ...). In all but trivial cases, choices must be made about what will be the pieces, and some aspects are inevitably spread out over several parts. In Object-Oriented Programming, these have been identified as "Crosscutting Concerns", and Aspect-Oriented Programming is about a reunification of these transversal aspects of the system. In multi-agent programming, one of the crosscutting concerns is interaction.
In this paper, we present a multi-agent model that allows to design agents and interation patterns independently, as first-order objects, and combine them at runtime. The result is a two-dimensional, orthogonal approach of multi-agent systems.
This model features a very flexible agent architecture due to its componential nature. It is targeted towards independance of agents and of interaction patterns, hence increasing their reusability. The model is formalized in an Object-Z/Statechart mixed formalism, and fully implemented in Java.