Lecture Notes in Computer Science vol:2940 pages:92-110
Software Engineering for Large-Scale Multi-Agent Systems 2003 location:Portland, Oregon, USA date:May 3-4, 2003
Roles are the basic building blocks for defining the behavior of agents in multi-agent systems. Agents typically perform several roles. In this paper, we describe analysis and design issues in defining agents as compositions of roles. In short, specifying the behavior of an agent entails in essence two issues: which roles are assigned to a particular agent, and how does an agent select a role in a particular situation. Both issues can be decided upon either by the designer (i.e. at design time) or by the agent (i.e. at run-time). This paper describes a basic taxonomy for role composition based on both issues, and illustrates the different composition approaches using a case study in the domain of manufacturing control.