Title: Agent-based E-commerce System
1Agent-basedE-commerce System
- Maria Ganzha
- Marcin Paprzycki
- http//agentlab.swps.edu.pl
2Agent-basedE-commerce System
3Assumptions
- Modelling a distributed marketplace ? Internet
- e-buyers visit e-shops with a desire to purchase
products - buyers negotiate prices with sellers
- clients decide which store to buy from
- wholesalers provide products for e-shops
- Utilizing software agents for all e-commerce
functions - develop complete system skeleton ? all agent
functions and agent interactions implemented
4Use case of the system
5What's different (1)
- Multiple items of a product placed for sale one
after another ?? series of price negotiations - Multiple items sold ? price negotiations are
organized differently ? discrete process - Buyer Agents (BA) collected and released in
groups to participate in negotiations - while negotiation takes place BAs communicate
only with the Seller Agent (SeA) - meanwhile next group of BAs is collected (as
they arrive) and will participate in the next
negotiation
6What's different (2)
- Multiple subsequent auctions (involving items of
the same product) take place ? price negotiation
mechanism can change - Model of a complete e-commerce system
- actions that take place before negotiations
- actions that take place after negotiations
- product logistics
- Clients choose shop from which to make a purchase
? airline reservation model
7Agent-basedE-commerce System
- 2. Ontologies and their utilization
8Ontology of products (1)
- Product taxonomy inspired by the Global Products
Classification (GPC) standards - shoes
- cameras
- Product skeleton
- created by sub-classing the base ontology
- shoes of the same style and brand
- Product variation
- instance of a product skeleton
- shoes of given style and brand of a particular
size and colour
9Ontology of products
10Ontology of products (2)
hasBrand a owlDatatypeProperty
rdfsdomain Product rdfsrange xsdstring
. hasColor a owlObjectProperty
rdfsdomain Product rdfsrange Color
. hasSize a owlObjectProperty rdfsdomain
Product rdfsrange Size .
- Product
- a owlClass .
- Clothing
- rdfssubClassOf Product .
- Shoes
- rdfssubClassOf Clothing .
- ShoesWithLaces
- rdfssubClassOf Shoes .
- AthleticShoes
- rdfssubClassOf Shoes .
- hasPrice
- a owlObjectProperty
- rdfsdomain Product
- rdfsrange Price .
11Ontology of product instance (1)
- _at_prefix cc lthttp//www.ibspan.waw.pl/e-cap/produc
t/clothing-catalog.owlgt - _at_prefix prod lthttp//www.ibspan.waw.pl/e-cap/prod
uct/product.owlgt . - _at_prefix lthttp//www.ibspan.waw.pl/e-cap/db/cic/p
roducts.owlgt . - Product1165510834375 a ccProtectiveLowerBodyWea
rBrick, - a prodProductEntity
- cchasConsumerLifestage ccUnclassified
- cchasGender ccFemale
- cchasIfDisposable ccYes
- cchasSafetyFeatures ccColdResistant
- cchasTypeOfMaterial ccCombination
- cchasTypeOfProtectiveLowerBodyWear
ccProtectiveKneePads
12Ontology of product instance (2)
- _at_prefix avc lthttp//www.ibspan.waw.pl/e-cap/produ
ct/audio-visual-catalog.owlgt . - _at_prefix prod lthttp//www.ibspan.waw.pl/e-cap/prod
uct/product.owlgt . - _at_prefix lthttp//www.ibspan.waw.pl/e-cap/db/cic/p
roducts.owlgt . - Product1165506706750 a avcTelevisions_Hand_Held
Brick, - prodProductEntity
- avchasColourFormat avcBlack_White
- avchasTypeOfTelevisions avcPlasma
- avchasIfWithRadio avcYes
- avchasScreenSize avc_2.5Inch .
13Ontology of products
14Product registration (1)
- SA registers sold products with the CIC using ACL
REQUEST messages - message content specified using FIPA Semantic
Language (FIPA SL) - FIPA SL term representing an action has the form
- (action Agent Action)
- Specifically
- Agent the agent performing the action
- Action the action which is to be performed
15Product registration (2)
- Agent CIC
- (agent-identifier
- name cic_at_ibspan.waw.pl
- addresses http//www.ibspan.waw.pl9999)
- Action register set of products sold by a SA
- (Add-Product-Shop
- (Entry
- product (set PD1 ... PDn)
- shop Shop
- gatekeeper Gatekeeper))
- PDi product descriptions in OWL (Lite) ?
ontology instance - (ProductDescription
- language "owl"
- description OWL-EXPRESSION )
16Product registration (3)
- Products that are sold have to be registered with
the CIC - Product ID
- extension of product ontology to specify that a
given shop sells a given product - shop identified by its Gatekeeper Agent (GA)
- GA-1 a gatekeeperAgent
- name ga509_at_ibspan.waw.pl
- addresses http//www.ibspan.waw.pl9999
- shop 767
- sells Product4094094049.
17Usage scenario
- System is running for some time
- SAs have registered their products with the CIC
- stored in a Jena repository
- middleware over a database to manage stored in
the system instances of ontologies - CAs know where the CIC is
- CAs have interacted with some SAs
- SAs have interacted with some CAs
- Scenario ? what happens when user wants to buy a
pair of athletic shoes - assumption ? user interacts with its CA through a
web-based interface
18Processing User Request
- A query-string (URL extension) representing user
request reaches the CA - Example
- ?productClassAthleticShoes
- hasColorBlackColorprizeofCurrencyEUR
- prizevalueleftBound25prizevaluerightBound5
0 - sizevalue136sizevalue137
- CA translates query-string into a SPARQL query
- SPARQL rather than RDQL because
- SPARQL is more expressive than RDQL
- SPARQL is about to obtain standardization
- JENA already includes working SPARQL module
- SPARQL query engine is better tested
19SPARQL Query example
- PREFIX my
- lthttp//jacs.ibspan.waw.pl/ontologygt
- SELECT ?product, ?gateway
- ?gateway sells ?product
- ?product,
- rdfssubClassOf myAthleticShoe
- myhasColor myBlackColor
- myhasPrize ?prize
- myhasSize ?size
- ?prize,
- myofCurrency myEUR
- myvalue ?prizeValue
- ?size myvalue ?sizeValue ,
- FILTER
- ((?sizeValue 36.0 ?sizeValue 37.0)
- (?prizeValue gt 25.0 ?prizeValue lt 50.0))
20CIC result set and what next?
- CA packs the SPARQL query into an ACL QUERY-REF
message send to CIC agent - CIC returns a (possibly empty) set of answers
packed in an ACL INFORM message containing
expressions like this - (set
- (sequence PD1 GA1) ...
- (sequence PDn GAn))
- CA evaluates this list based on trust/image
- Based on results of evaluation CA will interact
with selected e-shops
21Before Negotiation
22Before Price Negotiations
- CA asks the GA about admission rules
- GA checks CA-trust product availability and
responds - no more product
- go away ? we do not trust you
- BAs have to come
- CA creates and sends a BA
- BAs created locally
- RESULT ? BA skeleton is in
- GA provides BA with negotiation details
- BA requests strategy (for THAT negotiation)
- RESULT ? BA is ready and informs the GA
23Modular Agents
?
24Negotiation and After
- GA manages a pool of SeAs
- when the time comes, it releases the list of BAs
to a free and appropriately configured SeA for
negotiation - When negotiation is finished
- SeA informs winning BA and SA (via GA)
- SA (via SDA) determines for how long to reserve
the product for the winner BA/CA - depending on BA/CA image/trust
- SA informs the BA about the reservation
conditions - BA informs its CA about results on negotiation
25Decision Time
- CA receives ACL INFORM messages from its BAs
- inform about winning or loosing negotiations
- come completely asynchronous
- varying time of reservation
- CA utilizes multicriterial analysis to decide
- to make purchase utilizing an available offer
- to try for a better price
- to abandon purchase
26Agent-basedE-commerce System
27Trust and Image
- trust standard conceptualization
- a peers belief in another peers capabilities,
honesty and reliability based on its own direct
experiences - trust in our system
- fulfilment of a contract
- product matching our order
- delivery time
- reliability of the buyer
- image involves perceptions
- given shop is cheap or expensive
And I could afford to buy at your shop
But your prices are too high for me...
I also trust you. I believe in your honesty.
I trust you. I believe in your responsibility.
Costin.Client
Pawel.Client
28Trust in the System
29Client Trust
- Most processes that can visibly change trust in a
given store take place during Sale finalization - involves, among others, payment and delivery of
products
30Initial Trust Sequence Diagram
31Shop Trust
- Most of process which can visibly change trust
take place during After-negotiation period - SA create reservation
- BA
- confirm purchase
- reject purchase (?time?)
- no answer/answer after deadline
32(No Transcript)
33Modelling Trust
34Effect of a
Brave client
I want to buy new shoes and I'm gonna try to
negotiate with Maria's and Marcin's shops.
Tn(Maria)0
Tn(Marcin)0
T
Maciej.Client
Careful merchant
You must be really obnoxious to make me angry,
but as soon you managed to do it, I won't change
my opinion about you so fast.
a0.1
Tn(Maciej)0
Radical merchant
I can be really mad, when you make me angry, but
I also forget about negative behaviours quickly.
Tn(Maciej)0
a0.8
Marcin.Merchant
35TA(e) How Can It Look Like
- Reservation time is tres, no-penalty time is
tnop, reservation cancellation time is tcant - BA has finalized purchase at time t ?
0,tres?TA(e) 1 - BA has cancelled reservation at time
tcan?0,tnop ? TA(e) 0 - BA has cancelled reservation at time tcan ?
(tnop, tres. Let us assume that the maximum
penalty for cancellation at time tcan tres is
?, where 0Â ? a, and the TA(e) is linear
function, then TA(e) a tcan b, where a ? /
(tres tnop) and b ? tnop /(tres tnop) - if BA has not responded in time t tres, then
TA(e) a
36Comments
- Trust value as a part of CA's strategy
- it will buy one item, while has multiple
reservations - which to reject imediately?
- which can expire?
- where not to send agent back to negotiations?
- etc.
- knowing that over time good and bad behaviors are
being forgotten and the incoming agent is treated
as unknown
37Agent-basedE-commerce System
38Price Negotiation Overview
- BJP framework
- negotiation participants
- host ? negotiation manager
- buyer(s)
- seller(s)
- negotiation process has phases
- proposal submission
- agreement formation
- Our system
- admission to negotiations Gatekeeper agent (GA)
not a part of negotiations - rules for admission to negotiations outside of
the host
39Negotiation Host Structured Into Subagents
40Negotiation Rules
- Enforce specific negotiation mechanism
- for checking the validity of negotiation
proposals ProposalValidator - for protocol enforcement ProposalEnforcer
- for updating the negotiation status and informing
participants InformationUpdater - for agreement formation AgreementMaker
- for controlling the negotiation termination
NegotiationTerminator
41English Auction
- single-item
- ?rst-price
- open-cry
- ascending auctions
- single seller and many buyers
- time limit for ending the auction
- seller reservation price
- simple, well-known, !uninteresting!
42Posting Rule
- IF
- There is a valid proposal Pr submitted by a
participant with role Buyer on product A - AND
- There is an active proposal submitted by a
participant with role Seller on product A - THEN
- Proposal Pr is posted
43JESS representedrule
44Dutch Auction
- Single item Dutch auction
- Seller begins with a high asking price which is
lowered until buyer is willing to accept the
price, or a predetermined minimum price is
reached (no sale) - Multiple-item Dutch auction??
45Dutch Auction Scenario (1)
- Participants
- Negotiation Host (location where the
negotiations takes place) - Single Seller Agent (SeA)
- Multiple Buyer Agents (BA)s
- N units of product P are to be sold
- Initial bid posted on the Blackboard
46Dutch Auction Scenario (2)
- SeA subsequently reduces the price
- One of BAs (e.g. BA5) responds with an ACL
message informing that it is ready to purchase M,
M N, units of P at a price equal to the current
bid - then number of available units is reduced by M
and BA5 is removed from negotiations (each BA is
allowed to submit at most one successful bid) - Process continues until (1) all N units are sold,
or (2) minimal price of the SeA is reached, or
(3) time of inactivity is over
47Seller Rules
- Seller is allowed to shout a new price when one
of the following conditions holds - it is the ?rst shout
- one of Buyers submitted a bid that was successful
- no successful bids were received and at least Tm
time units elapsed since the last shout
48Improvement-Seller Rule
- IF
- participant with role Seller has posted
proposal Pr - and
- value of last offer posted by Seller is B
- and
- minimum decrement is H
- and
- X(Pr) B - H
- THEN
- proposal Pr is active
49Experiments
- JADE agent environment
- JAVA Expert System Shell (JESS)
- up to 20 machines in a single network
- homogeneous environment (Windows or Linux)
- heterogeneous environment (Windows Linux)
- system is being re-implemented, so next slides
represent what was (IT WORKED)
50(No Transcript)
51(No Transcript)
52(No Transcript)
53(No Transcript)
54Agent-basedE-commerce System
55Logistics
- SDA controls supply and demand information
- SDA sends product level prediction for a
time-period (i.e. weekly prediction for 5 weeks) - WA analyses the status of the warehouse and
decides how many to buy - Order (if necessary) is send to the Logistics
Agent (LA) - LA utilizes a pool for Ordering Agents to process
and order
56Use Case of Logistics
57(No Transcript)
58(No Transcript)
59END of Agent-basedE-commerce System