You are on page 1of 15

Multi-Agent System for

Online Auctions
Jose Manuel Valladares Pernas
CIS Master Project - Fall 2004
Advisor: Dr. Haiping Xu
Multi-Agent System for Online Auctions
What is an agent?
An intelligent agent is a semi-autonomous computer program
capable of carrying out one or more tasks specified by the user or
another program.
Like a software ‘robot’ capable of being programmed to carry out a
wide variety of tasks.
Main Properties
Autonomy: agents operate without the direct intervention of humans
or others, and have some kind of control over their actions and
internal state.
Social Ability: agents interact with other agents (and possibly
humans) via some kind of agent-communication language.
Reactivity: agents perceive their environment, and respond in a
timely fashion to changes that occur in it.
Pro-activeness: agents do not simply act in response to their
environment, they are able to exhibit goal-directed behavior by
taking the initiative.
Multi-Agent System for Online Auctions
Objective of the Project
Design and develop an auction system based on an existing
multi-agents framework (JADE).
Provide an agent system that facilitates online auctions on
behalf of users.
Provide agents to the users with different strategies for the
searching and bidding on items.
Test and compare the different strategies for searching and
bidding for items.

Requirements of the System


Allow different types of auctions (English, Dutch, …).
For every type of auction provide several strategies for the
agents.
In addition of delegating the searching and bidding to the
agents, the user can also interact with the system directly.
Multi-Agent System for Online Auctions
Description of JADE
JADE stands for Java Agent Development Framework (
www.jade.tilab.com).
Open source platform implemented in Java (ubiquity, portability).
Complies with the FIPA specification.
Support asynchronous message passing communication.

Features of JADE
Agents can be distributed across machines.
Supports agent migration.
Includes graphical tools to monitor the agents.
LEAP add-on lightweight libraries to use in mobile phones or PDAs.
Multi-Agent System for Online Auctions
Architecture
Multi-Agent System for Online Auctions
Another view
Multi-Agent System for Online Auctions
Main Agent
Responsible to create new users, login, create auctions and
get the list of auctions.
Creates the Auction Agent when a new auction is added to
the system.
Responds to the queries for items or auctions.

Auction Agent
In charge of the control of a particular auction.
Users register to the auction and then send bids to the
Auction Agent. The Auction Agent notifies the registered
users of the price changes of the item.
At the end of the auction, this agent notifies the winner and
the seller and passes control to the Main Agent.
When the auction is over, this agent is deleted.
Multi-Agent System for Online Auctions
GUI Agent
Receives commands from the user and acts correspondingly. It
doesn’t have pro-active behavior.
It does all the actions available in the user interface.
Updates the auction information when messages are received from
the other agents.

Bidding Agent
It is responsible of placing bids automatically on behalf of the
user.
It can be configured by the user using one of the available
strategies (OneShotBid, PeriodicBid, AlwaysFirst, …).

Search Agent
Responsible for searching for items on behalf of the user.
Notifies the user when auctions of her desired items are available.
Multi-Agent System for Online Auctions
Auction State Diagram
Multi-Agent System for Online Auctions
JADE Behaviours
A behaviour is basically an Event Handler, a method
which describes how an agent reacts to an event: the
reception of a message or a Timer interrupt.
The Event Handler code is placed in a method called
action. Every behaviour is scheduled following a
round robin algorithm.
Methods of the agents involving behaviours:
addBehaviour, removeBehaviour.
Examples of Behaviours already included in JADE:
SimpleBehaviour CyclicBehaviour
TickerBehaviour WakerBehaviour
ReceiverBehaviour
ParallelBehaviour SequentialBehaviour
Multi-Agent System for Online Auctions
Class Diagram of the System
Multi-Agent System for Online Auctions
Detail of Strategies
Multi-Agent System for Online Auctions
How it works
Every strategy (BidConfiguration) contains an object
behaviour that extends one of the JADE Behaviours.
In the action of the behaviour is where the negotiation
for the bidding happens.
The BidConfiguration object contains also a JPanel
where the user enters the parameters for the bidding.
This JPanel is displayed inside a Dialog where the user
chooses the strategy with a combo box.
Multi-Agent System for Online Auctions
How it works (II)
When the user enters the information for the automatic
bidding:
The BidConfiguration object is populated with the data and
passed to the BiddingAgent.
The BiddingAgent calls the setupBehaviour method that
registers the behaviour object contained in the BidConfiguration.
When the event that the behaviour is listening to happens the
method action is called and the bidding happens.
Multi-Agent System for Online Auctions
Steps to Add a new Strategy
Create a class that implements IBidConfiguration.
Contains a JPanel to show for the strategy
configuration.
Contains a behaviour that extends one of the
JADE Behaviours.

Current status of the Project


Implementation finished.
Pending Test cases.
Pending Final Document.

You might also like