Agent Behavior Description

This phase influences and is influenced by the Agent Structure Definition phase as a double level of iteration occurs between them. The Agent Behaviour Description phase produces several diagrams that are subdivided into the multi-agent and the single-agent views. In the former, we draw the flow of events by methods invocation and messages exchange. In the latter, we feature the above methods.

Multi-Agent Behaviour Description (MABD)

At this stage, one or more activity diagrams are drawn to show flow of events between and within both the main agents classes and their inner classes (representing their tasks). We depict one swimlane for each agent and for each task. The activities inside the swimlanes indicate the methods of the related class.

Usual transitions of the UML standard are here depicted to signify either events (e.g. an incoming message or a task conclusion) or invocation of methods. A transition is drawn for each message recognized in the preceding phases (e.g. from the R.Id. diagram). In this kind of transition we indicate the message's performative as it is specified in the Communication Ontology Description diagram and the message's content as described in the Domain Ontology Description diagram. This results in having a comprehensive description of the communication including the exact methods involved.

The figure below shows an example of agents behaviour description. The StartPurchase task of the PurchaseManager agent instantiates the StartNegotiation task by invoking the newTask super-class method. This has to be done in order to ask the Purchaser agent to perform a negotiation with a supplier. The invocation of the StartNegotiation task implies its startTask method to be invoked (according to the FIPA-OS implementation platform we have used). What the startTask method does is just to send a message to the Purchaser agent. This contains the performative query-if (as required by the FIPA Request protocol) and the content OurRequest (coming from the D.O.D. diagram). The handleRequest method of the Purchaser's IdleTask task receives the incoming communication and sends it to the ReceiveNegotiationRequest task after this one has been instantiated as above. When a task completes its job the done method is invoked.

MABD use cases

A Multi-Agent Behaviour Description diagram

 

Single-Agent Behaviour Description (SABD)

This phase is quite a common one as it involves methods implementation, exactly the ones introduced in the SASD diagrams. We are free to describe them in the most appropriate way (for example, using flow charts, state diagrams or semi-formal text descriptions).

 

Next phase: Code Reuse Library

Previous phase: Agent Structure Definition

Home: PASSI homepage