Santa's Workshop

The Problem

Team Responsibility

You are to design and implement a solution to this problem, in Java, for one year. After the delivery of the presents for the year, Santa's return to the North Pole, and the departure of the reindeer for the tropics, your program must terminate.

We strongly suggest that you implement a test bed allowing you control over the arrival of elves and reindeer, and Santa fixing problems and delivering toys, and use it to collect some statistics to demonstrate the behaviour of your program.

You should make and document plausible assumptions about arrival times etc, noting that reindeer only arrive near to Christmas, while elves may arrive at any time (hint: insert a relatively large initial delay for each reindeer). Experiment with different assumptions to see their effect, and document the results. In addition to the well-structured and well-documented Java source code, you must write a report that details your design (especially decisions related to concurrency), alternatives you considered, and the results of your experiments (e.g., were any race conditions uncovered? were you able to correct these?)

Submission

Submit your team's solution to the Project 1 - Santa dropbox by due date and time shown in the course schedule. The submission is to consist of one ZIP file, santa.zip, containing the following:

Any team failing to abide by these instructions will receive a grade no greater than 80.

Acknowledgements

This assignment is based in large measure on a similar assignment from Victoria University in New Zealand.