Team 5 Project Page

17-654: Analysis of Software Artifacts
18-841: Dependability Analysis of Middleware




Project Title:Virtual Online Blackjack

Team Members: Team Roles: 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:

Third-party software, if any (databases):

Baseline Application Features:

  1. Player can play as long as his/her chips are available.
  2. Player cannot bet the chips more than what he/she has.
  3. 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.
  4. Player can "cash out" by selling her/his chips back to the bank.
  5. There are multiple tables in the casio.
  6. There are upto five players at each table.
  7. Players can "see" all their own cards and the "face-up" cards of the dealer and the other players at the same table.
  8. The first client will just be a simple command-line driven interface with a more complicated GUI client to follow.

Reliability Requirements:

  1. The players' current cards are preserved under a single server failure.
  2. The players' bets are preserved under a single server failure.
  3. The players' chip balances are preserved under a single server failure.
  4. The dealers' current cards are preserved under a single server failure.
  5. The dealers' bets are preserved under a single server failure.
  6. The current request to hit or stay from players is preserved under a single failure.

Real-Time Requirements:

  1. Player receives the chips after the exchange transaction finishes within 5 seconds.
  2. Player can join the table within 5 seconds after requesting one.
  3. 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.
  4. 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.
  5. 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.
  6. 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:

  1. Each dealer can handle up to 5 players at a time.
  2. Each server can handle up to 100 dealers at a time.
  3. The database can store the profiles for up to 500 players.
  4. Each player and dealer can have up to 5 cards at a time.


Baseline Application

Interfaces

Casino.idl Casino Interface Doc Pages Javadoc pages

Scenarios/Interactions

Use Cases

Current Status

Baseline use-case working

Downloads



Fault-Tolerant Baseline Application

Scenarios/Interactions

Current Status

Complete

Downloads



Real-Time Fault-Tolerant Baseline Application

Scenarios/Interactions

Real Time Data Analysis

Current Status

Analysis

Downloads



High-Performance Real-Time Fault-Tolerant Baseline Application

Scenarios/Interactions

Current Status

Downloads
Final Presentation