Baseline Application Description: An online casino server allowing clients to buy chips, join blackjack games, play the blackjack, win or lose, and cash in their chips.
Configuration:
middleware: CORBA
operating systems: Linux and MS-Windows XP
language: Java
Third-party software, if any (databases):
item: MS-SQL Server, Sun's SDK with the Java IDL Corba implementation, Sandia Lab's idldoc, Jakarta's Ant.
Baseline Application Features:
Player can play as long as his/her chips are available.
Player cannot bet the chips more than what he/she has.
If Player has chips she/he can then join a table(game) and play blackjack, winning or losing. If there are no tables available one will be created, this is a virtual casino after all.
Player can "cash out" by selling her/his chips back to the bank.
There are multiple tables in the casio.
There are upto five players at each table.
Players can "see" all their own cards and the "face-up" cards of the dealer and the other players at the same table.
The first client will just be a simple command-line driven interface with a more complicated GUI client to follow.
Reliability Requirements:
The players' current cards are preserved under a single server
failure.
The players' bets are preserved under a single server failure.
The players' chip balances are preserved under a single server
failure.
The dealers' current cards are preserved under a single server
failure.
The dealers' bets are preserved under a single server failure.
The current request to hit or stay from players is preserved under a
single failure.
Real-Time Requirements:
Player receives the chips after the exchange transaction finishes
within 5 seconds.
Player can join the table within 5 seconds after requesting one.
Player can get the card(s) within 5 seconds after the dealer
is ready to send the card to the player. Note: The dealer may
have to wait for the other players on the same table to take an action
(such as hit, stay, etc.) before giving the card(s) to the other
players. However, the waiting time is limited. When the time is
expired and the decision has not been made, dealer will either
pass the turn to other players or force the player to leave the
table.
The process to exchange the player's chip will finish within 5
seconds after the dealer decides that the player either wins or
loses the game.
When a player receives the card(s), the other players on the same
table should see the card(s) of that player within 5
seconds.
When a player doesn't have enough chips to bet, the player is
removed from the game within 2 seconds and before the new game
starts. Note: The number of seconds may be changed after the
real-time testing.
Performance Requirements:
Each dealer can handle up to 5 players at a time.
Each server can handle up to 100 dealers at a time.
The database can store the profiles for up to 500 players.
Each player and dealer can have up to 5 cards at a time.