联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2024-10-16 10:30

CS 520: Introduction to Operating Systems

Homework Assignment #3

This assignment is somewhat open-ended—start working on it as soon as you can!

A reminder: You may work in groups; however, you may not show anyone your

code or copy of any part of anyone else’s code or report.

Those who submit isomorphic programs or same reports, get 0 points each as a

minimum. (For the rest of the penalties please check the Syllabus.)

I recommend that you write everything in small—no longer than one-page-long—

methods and test each method separately. Start by testing your pseudo-random

variable package and check the distributions to ensure that everything works.

Include this test in a separate method.

Then prepare and test the event data structure. You must keep events in a heap—this

is exactly why this structure was developed. The good news is that you may use the

Java library.

After that, writing and debugging the rest of the program will be straight-forward. I

recommend that you finish the program in the first week and spend the second week

on experimenting and writing the report.

As a minimum, a program must be written and a report prepared with the specific

questions answered, but there is much room for using your creativity—please use it! The

most important thing that you will have learned from this assignment is the discreet

simulation technique, which you will apply (by re-using most of the code you develop to

deal with this particular problem) later.

Write the bus simulation, as explained in the class and described in the notes. Feel free to

look on the web for and then re-use any suitable code for the random number generator or

for linked list algorithms. With that, 1) don’t forget to include a reference to the source

of any code you re-use and 3) remember to test all re-used code as you are the only one

responsible for its performance..

The purpose of the simulation is to observe the behavior of the system, and answer the

following questions:

1. Does the distance between the adjacent buses remain the same? If not, what

should be done to ensure that it be the same?

2. What is the average size of a waiting queue at each stop (and what are its

maximum and minimum)? (You may provide this information on an hourly [simulation

time] base.)  2

Plot the positions of buses as a function of time (you will need to generate periodic

snapshots of the system for that). Feel free to change parameters; then observe and

document the results.

What you hand in must include

1. Your working Java program (it must be well-commented) as well as all required

input files in the txt format.

2. A README txt file explaining what you are submitting.

3. Your report, in the PDF format, including plots, observations, and—especially—

your recommendations for change in the scheduling policies. Needless, to say you

will need runs that demonstrate that your recommendations solve the problems

you observe. Remember that preparing a report is an essential part of this

assignment; this is not merely a programming exercise. The program must

be working (or the assignment will get a grade of 0), but the quality of your

report will determine your grade.

Feel free to change the simulation parameters. My initial suggestion is that there are

• 15 bus stops

• 5 buses

• The time to drive between any two contiguous stops is 5 minutes

• The passenger’s mean arrival rate at each stop is 5 persons/min

• The boarding time is 2 seconds for each passenger

• The total simulation time is 8 hours.

Make sure you start this project as early as possible so that you have enough time to run

experiments and prepare a comprehensive report. (100 points)


相关文章

版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp