Queues are commonly used in network systems. For example, e-mail is placed in queues while it is waiting to be sent and after it arrives at the recipient's mailbox. A problem occurs, however, if the outgoing mail processor cannot send one or more of the messages in the queue. For example, a message might not be sent because the recipient's system is not available. Write an e-mail simulator that processes mail at an average of 40 messages per minute. As mesages are recieved, they are placed in a queue. For the simulation, assume that the messages arrive at an average rate of 30 messages per minute. Remember, the messages must arrive randomly, so you will need to use a random number generator to determine when messages are recieved. Each minute, you can dequeue up to 40 messages and send them. Assume that 25% of the messages in the queue cannot be sent in any processing cycle. Again, you will need to use a random number to determine whether a given message can be sent. If it can't be sent, put it back at the end of the queue(enqueue it). Run the simulation for 24(simulated) hours, tracing the number of times each message had to be requeued. At the end of the simulation, print the statistics that show: a. The total messages processed. b. The average arrival rate. c. The average number of messages sent per minute. d. The average number of messages in the queue in a minute. e. The number of messages send on the first attempt, the number sent on the second attempt, and so forth. f. The average number of times messages had to be requeued (do not include the messages sent the first time in this average).
Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
## Deadline information
Must be completed by Tuesday November 13, 2001.