VIPANI is a naive web-based marketplace that enables a seller to sell goods to buyers using a simple bargaining model. Suppose a seller has an inventory of items to sell. The seller maintains a database of items available (including the number of units of each item) and makes the database accessible to all registered users (prospective buyers) on the VIPANI website. A prospective buyer sends an XML message indicating the item required and the number of units of that item. VIPANI sends a reply indicating the unit price (typically a high price). The buyer then sends an XML message to VIPANI specifying the unit price she is willing pay in response to which VIPANI will send a slightly reduced unit price. Assume that VIPANI decreases the "ask" in a linear way and each buyer increases the "bid" in a linear way (but with a different slope). As soon as the "ask" from VIPANI and "bid" from the buyer cross each other, trade will take place at a unit price equal to the average of the latest ask and the latest bid. At any point of time, there could be multiple buyers bargaining on available items. Assume that trade will definitely take place once a buyer initiates a request. You will have to think about some interesting issues that could arise because of multiple buyers transacting business at the same time.
VIPANI has two actors: a single seller and multiple buyers. It is required to design and implement VIPANI. Create a use case diagram followed by a class diagram. Develop sequence diagrams for important usecases. Use MySQL or PGSQL database (PGSQL preferred) and a standard web server. You will to handle all messages as XML messages.
This can be done in batches of two students. The deadline for this
assignment is February 4, 2005 (Friday). The demos will be on
February 5th and 6th.
Moderators: NR Suri, S. Siva Sankar Reddy & Radhani Kanth