Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Your task for this assignment is to investigate some of the properties of queues. You should write a Java, C++, or Phyton program which
Your task for this assignment is to investigate some of the properties of queues. You should write a Java, C++, or Phyton program which simulates the queuing system in an email server. 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 30 messages per minute. As messages are received, 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 received. Each minute, you can dequeue up to 30 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 cannot be sent, put it back at the end of the queue or enqueue it. Run the simulator for 15 minutes, tracking the number of times each message had to be requeued. At the end of the simulation, print the statistics that show: 1 The total messages processed. 2 The average arrival rate, that is, the average number of messages arriving per minute. 3 The average number of messages sent per minute. 4 The average number of messages in the queue in a minute. 5 The number of messages sent on the first attempt, the number of messages sent on the second attempt, and so forth. 6 The average number of times messages had to be requeued (do not include the messages sent the first time in this average.) NOTE: Since the question is to assess your understanding of the concept of Queue, you are NOT allowed to use the library of the language that implement queue. You need to write the codes (implementation) of Queue for this exercise. (See point (iii).) Sample Output: Please enter the total minutes to run: 30 Total number of messages processed Average arrival rate : 818 : 29.03 : 19.97 Average number of messages sent per minute Average number of messages in the queue per minute Number of messages sent on 1st attempt Number of messages sent on 2nd attempt : 122.77 : 491 : 87 Number of messages sent on 3rd attempt Number of messages sent on 4th attempt Number of messages sent on 5th attempt Average number of times messages had to be requeued 18 : 1 : 2 : 1.30 These are just sample answers to show the output format required from your program. They are NOT necessarily the output that your program must produce because the data generated for this program were randomly generated.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started