Role Behaviour Description
This activity aims at defining the complete life-cycle of a role by integrating previously identified RoleTasks, Abstract Capacities, comunications/conversations in which it is involved and the set of (or part of) requirements it has to fulfill. AbstractRoles identified during the IRI activity are specialized here in AgentRoles. An AgentRole interacts with the others using communications. The behaviour of the role is described by a set of AgentTasks and AgentActions.
AgentTask is the specialization of the RoleTask. It is aggregated in AgentRole and contributes to provide (a portion of) an AgentRole’s service. At this level of abstraction, this kind of task is no more considered atomic but it can be decomposed in finer grained AgentActions. An AgentAction is now the atomic unit of behaviour specification. An action takes a set of inputs and converts them into a set of outputs, though either or both sets may be empty. An example of the most basic AgentAction consists in invoking a capacity or requesting a service (as explained in further subsections).
Role Behaviour Description is a refinement at the Agent Society level of details of the results produced by the Role Plan activity during the System Requirements phase. The behaviour of each role is now described using a statechart or an activity diagram but the use of statecharts is preferred because of the intrinsic state-based nature of roles. If a role requires capacities or provides services, this activity has to describe tasks and actions in which they are really used or provided.
Role Behaviour Description corresponds to a refinement of the work product resulting from the RolePlan activity in which role behaviour is described in terms of RoleTask. RoleTasks are then refined in AgentTasks and eventually decomposed into AgentActions. The Capacity Identification activity has already defined all the dependencies among roles (in terms of required capacities); invokations of previously identified capacities are now integrated in AgentActions.
In this activity, role behaviour is now described by using a state-based representation in terms of AgentRoleStates. The suggested notation consists in using a conventional UML state-chart diagram for describing role behaviour. One of the advantages of this choices is that state-charts can be easily integrated in a global formal process based on OZS .
MAS Metamodel Elements
Define(AgentAction), Define(AgentRoleState), Quote(AgentRole), Quote(AgentTask), Relate(AgentTask, AgentAction), Relate(AgentRole, AgentTask), Relate(AgentRole, AgentRoleState).
Work to be done
The designer describes the dynamical behaviour of the role starting from the Role Plan drawn in the previous phase and the capacities used by the role.
Figure 21 describes the statechart associated to the Players Simulator role of the Team Simulation organisation. It corresponds to the refinement of the behaviour described by the role plan in the previous phases. The default state is initialize and then after a start event the role simultaneously manages players and messages. Managing players consists in animating players except if a pause event occurs. Managing messages consists in looking for new messages dispatching a new strategy.
|Figure 21: Statechart of the Players Simulator role of the Team Simulation organisation |