Multi-Agent Systems are complex to design and implement, and require appropriate tools to easy the work of the developers. An interesting issue to be faced is interactions among agents, both of the same application (cooperative) and of different applications (competitive). We propose XRole as a system to deal with agent interactions in a simple way. XRole is based on the concept of role, intended as a set of capabilities and an expected behaviour.
The context of XRole is a virtual world populated of agents, which carry out tasks on behalf of users. Agents access to resources spread in such a world, and interact with other entities during their life, mainly other agents and execution environments.
What is XRole?
XRole is a system, intended to help agent-application developer to deal with interactions. XRole is based on a model of interaction for agents, which exploits roles as intermediaries in interactions. Besides the mode, XRole is composed by role definitions and role implementation.
We propose to deal with agent interactions by a three-level model (see Figure 1), thought to manage both inter-actions among agents of the same application and interac-tion between agents of different applications. In this model, the application level is represented by the agents; the lowest level concerns the environment, which defines its own policies to rule agent-to-agent and agent-to-resources interactions. The middle level is the one fo-cused by this paper, and concretely enables the interac-tions. To achieve flexibility and dynamism, we propose to center it on the concept of role.
Roles in XRole are defined by XML documents. By using XML, the description of each role can be also presented to human people via an appropriate XSL sheet that transforms the information in a human-understandable document, such as a HTML page. This lets programmers develop their agents knowing which the available roles are, for example by searching for appro-priate roles in a repository. Moreover, if the XML documents follow appropriate rules, they can be managed also by automated tools, and by the agents themselves, which can be enabled to under-stand the content of a XML documents and exploit or manipulate it without the need of the intervention of hu-man people.