The "Demo" Agent Pack
Prev |  | Next

# 2. PingPong and XMLPingPong

## 2.1. Synopsis

Figure 1. Two Ping-Pong agents

This demonstration shows simple message passing between two agents, as well as some basic group & role manipulation

## 2.2. Using the agent

Just launch two instances of this agent. The first agent checks if a `ping-pong` exists or not, and creates it. Then, it requests a `player` role in this group. It will then wait for another agent with the same `player` role in this group. The second one will check for the `ping-pong` group, joins it, and also requests the `player` role. When both agents find their partner, they will enter in a 5 messages exchange, then die.

## 2.3. Going further

This demo can also be launched in distributed mode, with the Communicator and GroupSynchronizer agents: just launch one ping-pong agent on each distant platform

You can also try it with the monitoring agents (GroupLister, AgentLister, MessageTracer, OrganizationTracer, ...)

## 2.4. About the code

The agent source is straightforward, so there isn't many things to say. Interesting points are the systematic usage of group, roles and `AgentAddress` concepts to structure the application logics and identify the agents.

## 2.5. XMLPingPong

There is also an other version called `XMLPingPong` which demonstrate the `XMLMessage` class (the rest is similar). In this demo, the agents exchange a short XML document and add comments at each turn.

Prev | Home | Next
The "Demo" Agent Pack |  | Minimal