A program is required to simulate the operation of
the tills in a supermarket. Its primary purpose is to simulate,
for management inspection and analysis, queues of customers waiting
to be served at a number of tills.
Specifically, the program is to initially accept
the following simulation parameters:-
It will also be necessary to enter a seed for the
program's random number generator (allowing the program to be
rerun with the same data).
It is assumed that service times are from a Normal
Distribution, and arrival times from a Negative Exponential Distribution.
Number of items bought by a customer is to be random from a Rectangular
Distribution. See page 4 of the following 'Notes on the Simulation
and High-level Design'.
The program is to produce the following results:
The program should provide an option to produce a
history file of all customer information. This file will be displayed
on the screen or written to a text file, or both, determined by
an operator input at an appropriate time. Information recorded
about each customer is to be:-
While the simulation is running, a display of the
state of the tills and queues is to be continually updated. This
does not have to use sophisticated graphics, but must show all
significant data about the current state of the (simulated) supermarket.
It is anticipated that additional functional requirements
may arise in the future, involving modifications to the queueing
strategy, experiments with 'express' queues (with limited numbers
of items), etc.
Your task is to produce a solution to the problem described above (with one queue per till, and no 'express' tills), but ease of modification is an important requirement.