Project Narrative for CSC 791c: Agents and Multiagent Systems
This is the description of the main project for CSC 791c. The details
may change over time, so please visit the online version again.
You are to build an information system for a company called
WolfMall. WolfMall is building a large online shopping mall,
which presents a number of stores selling a variety of goods in a
unified information space. Here is some terminology defining
different kinds of businesses along with some examples:
- Merchant or vendor: a business that sells things, usually from
different manufacturers; a merchant maintains inventory and can
process cash flow.
- Shopping service: a business that helps a shopper find things at
different vendor sites; a shopping service doesn't maintain inventory;
often a service may make money only through referral fees or
- Mall: a business that aggregates stores for different merchants
and offers an integrated ability to browse products, and optionally an
integrated purchase mechanism; the merchants handle inventory; the
mall may provide support in terms of customer registration, and
central billing and shipping.
The difference between malls and shopping services is that usually
the shopping services don't upload catalogs from the vendors, but just
browse the information posted on-line by the vendors. Thus shopping
services can reach to more vendors, but usually have a tougher time
pulling the information from their sites and a tougher time offering
aggregated purchasing. The difference between malls and merchants is
that malls maintain the separate identities of the merchants they
include. The above definitions are not exclusive - some sites combine
The following is a partial description of WolfMall's information
needs, which must be satisfied by its information system. In doing
your project, you will need to make additional assumptions as well
as identify the potential inconsistencies and resolve them. Any
reasonable assumptions are fine, but they must be documented in your
reports. You can consult with the TA if you have questions about the
You are the main technical team to design and implement the
WolfMall system. What follow are a bunch of statements about WolfMall
that you may glean from talking to its founders as well as potential
investors and shoppers. They are not organized in any particular
manner. In doing this project, you might discover that not every
statement has to be explicitly captured in the database. Part of the
modeling effort it to decide what to keep and what to discard.
For comparison and to understand the market, you should visit
sites such as those listed above. Let me know of others that you find
WolfMall's information systems has two main components. One
supports the value added that WolfMall provides to its customers; the
other supports WolfMall's own operations. The two components interact
in a few places, specifically where staff are assigned to different
roles. In this project, we will concentrate on the externally
- A shopper must be registered to make a purchase. For each
registered shopper, WolfMall records their name, email, and shipping
address. The usual variety of demographic information is also kept if
the shopper is willing to provide it. To make a purchase, each shopper
must provide a credit card. Information on the credit cards can be
stored by WolfMall to facilitate filling out forms on repeat visits.
- WolfMall constructs and remembers a model for each registered
shopper. The model itself can be represented in a simple manner that
support the above functions. The
- The models of shoppers are used to highlight for them the stores,
products, brands, and shipping services that they prefer. These
highlights are merely conveniences and do not restrict the actions the
shopper can take. That is, a shopper may always override the
suggestions made by the system based on the system's model of the
- The models of shoppers are also used to notify shoppers of
specials in which they may be interested. Shoppers may disable or
enable such notifications at any time.
- Models of shoppers can be ``learned'' in a simple manner by
recording the preferred sites, stores, products, and shipping service
for each shopper.
- WolfMall has a number of sites to customize the mall to
different audiences. The sites are based on geographical regions
(e.g., the Australian site sells ostrich eggs) or affinity groups
(e.g., the cardiologists site offers free golf balls with every
- WolfMall does business with a number of merchants. For each of
them, it offers store-fronts in one or more sites. A merchant
can decide how many store-fronts it would like and in which sites.
WolfMall has a price schedule based on the specific sites with
discounts for more store-fronts.
- To open a store-front at WolfMall, the merchant has to provide
catalog data to WolfMall. The catalog entries carry information on
each product or product combination sold by the merchant. This
information includes a name, a description, a price schedule for
different quantities, and a shipping cost schedule for different
regions of the world. In addition, a catalog entry may include an
optional picture and an optional video clip. Catalog entries may
include a certain number of product-specific features, such as
resolution for scanners and screen size for television sets.
- WolfMall also allows a merchant to offer a limited number of
special deals on bundles of goods, e.g., if you buy shoes then socks
are 50% off.
- WolfMall assigns a merchant representative to every merchant.
- WolfMall assigns a marketing manager to every site.
- Marketing managers and merchant representatives can suggest that
merchants offer certain kinds of specials. For example, they may
advise apparel merchants to offer sales on neckties in the week before
- WolfMall offers a point-based incentive program for shoppers,
called WolfPoints. Shoppers accumulate WolfPoints for shopping
at WolfMall. They can redeem WolfPoints for discounted merchandise at
any WolfMall store.
- WolfMall audits merchants to require that they offer merchandise
for WolfPoints at least to cover the WolfPoints that are generated
from their sales. This ensures that some merchants aren't forced to
For your project, you should develop a general approach and then
apply it on the domain of toys. Have at least three toy merchants in
your implementation of the mall.
Tasks and Operations
The following are the four major kinds of tasks that need to be
performed using your database. Each task potentially consists of a
number of operations. An "operation" is something that corresponds to
a separate action. For example, managing WolfPoints for customers is
considered one task, which involves separate operations such as adding
to the points, removing points for a purchase, and removing
(forfeited) points when they expire.
Each student should write about the same number of application
programs, but it is up to each team to decide how to allocate the
In the above, some simplifications are legitimate. For example, we
won't have a direct hookup with a credit card company, so you can fake
it through a clean interface that is implement simply to record the
desired charge in a file.
- Manage customer accounts. Register a new customer, and
take basic information from the customer. Take credit card numbers.
Update information. Handle logins. After purchases, record what the
customer bought and for how much.
- Browse and shop. Help a customer specify the desired
products or merchants or brands. Search by keyword and price - the
keyword search can be simplified for this project. Present
descriptions, images, and video clips for products where available.
Enable a shopper to select products for purchase by including them in
a shopping cart. Enable a shopper to lay-away items from the shopping
cart; bring up these items when the shopper visits again.
- Process purchases. Help a shopper finalize selection from
the shopping cart. Help the shopper select a shipping service (give
prices and delivery guarantees, respecting what kind of shipping the
product may require). Help a shopper select a credit card to use.
Record the activity to upload to credit card company.
- Manage WolfPoints. Create rewards account for a customer
based on the marketing manager's specifications. Produce reward point
reports to show how many WolfPoints are available and their expiration
schedule. Increment WolfPoints when a cash purchase is made.
Decrement WolfPoints when a purchase is made using WolfPoints. Handle
forfeited WolfPoints by removing them from the account that forfeited
them, and distributing them among other customers prorated by their
level of purchases in the previous month.