Title: Multi-Agent%20System%20for%20Online%20Auctions
1Multi-Agent System for Online Auctions
- Jose Manuel Valladares Pernas
- CIS Master Project - Fall 2004
- Advisor Dr. Haiping Xu
2Multi-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.
3Multi-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.
4Multi-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.
5Multi-Agent System for Online Auctions
6Multi-Agent System for Online Auctions
7Multi-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.
8Multi-Agent System for Online Auctions
- GUI Agent
- Receives commands from the user and acts
correspondingly. It doesnt 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.
9Multi-Agent System for Online Auctions
10Multi-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
11Multi-Agent System for Online Auctions
- Class Diagram of the System
12Multi-Agent System for Online Auctions
13Multi-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.
14Multi-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.
15Multi-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.