Shopping Aglet

Program Description

This program is quite complex. Like the Javaspaces client, it also dives into the realm of Java RMI through the use of IBM's Aglets library. An aglet is a Java agent able to autonomously and spountanously move from one host to another. Aglets are created and controlled through a stand-alone Java server called Tahiti. Tahiti servers can create, send, receive, and destroy aglets.

The aglets I have created for this program represent a thrifty shopper. An aglet called the Controller Agent is created on every Tahiti that represents a store. Each store loads a list of items and prices from a metadata file. Then, an Interface Agent is created on the Tahiti server which will be our buyer. The interface agent launches a simple GUI which contains a search box and a list of seller sites (IP addresses).

Once properly configured, the buyer puts in a search string and a Shopping Agent is sent to the first seller site (with an itinerary which contains a list of all seller sites). The shopping aglet will visit each site in its itinerary, query the site for the buyer's desired item, and finally return to the buyer Tahiti server to report which site had the cheapest price.

Features

Sample Run

shoppingaglet!

Tahiti servers and shopping agent GUI

agletconsole!

Search results from the console