One of the central issues in PASSI is the identification of agents early in the development process. If agents were merely MAS implementation components, their identification during the analysis of requirements would be premature.
Agent identification starts from use-case diagrams of the previous step. A direct correspondence is created among the requirements and the agents that will be created. Each use case is assigned to an agent (use cases assigned to agents are clustered in one package labeled with the same agent name) whose mission becomes satisfying the corresponding requirements by its own or asking for collaboration from the others. The need for this collaboration, can be the obvious consequence of assigning two use cases related for instance with an include relationship to two different agents. The first agent (that owns the base use case) will ask to the other (that owns the included use case) to provide the functionality it is lacking of. This establishes the bases for creating a society of collaborating agents whose common goal is the success of the whole social system through the satisfaction (when this is not in contrast with the overall goal) of the individual objectives.
The resulting artifact is a use case diagram (or a set of such diagrams) reporting the same use cases of the previous phase now clustered in a set of packages, each one representing one agent. As it is common, we represent external entities interacting with our system (people, not agent-based software systems and external agents) as actors.
Relationships between use cases of the same agent follow the usual UML syntax and stereotypes, whereas relationships between use cases of different agents are stereotyped as communication as described below.
In the next figure is depicted an example of Agent Identification diagram
Next phase: Role Identification
Previous phase: Domain Description
Home: PASSI 2 homepage