Project 4 - A Bank Simulator

Due - Wednesday, December 13, 2006

The goal of this project is to give you more experience with linked lists. For this assignment you will complete a modified exercise PP 12.5 from the Lewis and Loftus text. The goal of the assignment is to implement an application to simulate customers arriving, waiting, and being serviced at a bank. Unlike the assignment in the book, your program will assume that there are several teller windows available to service the waiting customers.

Implementation Requirements and Hints

  1. You must use a queue that you implement using a linked list.
  2. Your program will begin by parsing a configuration file that specifies the number of tellers you will simulate and the total amount of time you will simulate.
  3. The logic of your program will randomly determine the time of the next arrival of the next customer and the amount of time for which that customer will be serviced. It will then advance the current time to the time of the next event, either an arrival or departure, and process the appropriate event.
  4. You should print a message for each operation. When a customer departs, print the total amount of time that customer waited to be serviced.

Due 5:00PM, Wednesday December 13, 2006

  1. Complete and submit your working code. Turn in a hard copy in class and place a copy of your .java files in /home/submit/cs112/username.
  2. Make sure that each function is well documented. Your documentation should specify the type and function of the input parameters and output.
  3. Run your program on a variety of inputs ensuring that all error conditions are handled correctly.
Note: No portion of your code may be copied from any other source including another text book, a web page, or another student (current or former). You must provide citations for any sources you have used in designing and implementing your program.
Sami Rollins