Assessment 2: Programming Assignment
Due Friday by 17:00 Points 50 Submitting a file upload Available 2 Nov at 0:00 – 11 Nov at 17:00
Weighting
40%
Due
Week 10, Tuesday November 7th at 5:00pm
Purpose
The purpose of this assessment is to create a fully functional simulation of a more complex system. Building simulations is one of the key objectives of this course. You will need to be able to do this in an industry or government job working in decision sciences. Building a simulation is also the best way to absorb and gain a deep understanding of the ideas and topics that are discussed in this course. Even if you are just managing simulations projects, you should have some experience in creating the simulation itself.
This is quite a large and difficult task, but the assessment will provide considerable structure.
Directions
This assessment is divided into three parts which are scaffolded over Modules 2, 3 and 4. By completing the tasks outlined in each week, you will be well prepared to submit your assessment by the due date.
The three components of this assessment are:
Component 1: Conceptual model—your ability to formulate the model.
Component 2: Functionality—your ability to write code to create a simulation, and ensure the sub-components of it work.
Component 3: Programming style—your ability to write your program according to the specifications and general style guidelines for good code. Further detail
For complete details about the project, please select the following link.
Full Assessment Brief (https://myuni.adelaide.edu.au/courses/84791/pages/assessment-2)
Submission format
You are required to submit:
a PDF document showing your schematic, state diagram, flow chart and any other documentation you created. two .jl files with your code for implementing the discrete-event simulation.
a pair of data files (an entities and a state file) produced from your simulation with and where the simulation was stopped at time
.
You will submit this assessment via the link at the top of this page.
Academic Integrity Policy
By submitting an assignment via MyUni/Canvas, you are agreeing to the following statement:
I declare that all material in this assessment is my own work, except where there is clear acknowledgement and reference to the work of others. I have read the University of Adelaide’s Academic Integrity Policy (http://www.adelaide.edu.au/policies/230) .
I give permission for any assessed assignments to be reproduced and submitted to other academic staff for the purposes of assessment and to be copied, submitted and retained in a form suitable for electronic checking of plagiarism. Applicable policy links (https://www.adelaide.edu.au/policies/700/)
Questions?
Please post your questions on Assessment 2: Discussion (https://myuni.adelaide.edu.au/courses/84791/discussion_topics/882862) .
Assessment 2: Programming Assignment
Criteria Ratings Pts
Component 1:
Conceptual Model
Task 1. Draw a schematic of the system (This also applies to
Component 2: Task
1) 2 Pts
Full points
Your schematic correctly shows the standard queue components and the breakdown-repair cycle in some way. 1 Pts
Partial points
You have correctly shown either the standard queue components or the breakdown-repair cycle. 0 Pts
No points
Assessment requirements for this step have not been met. 2 pts
Task 2
Describe the state(s) of the system 2 Pts
Full points
You have correctly described the state(s) of the system. 1 Pts
Partial points
You have partially described the state(s) of the system. 0 Pts
No points
Assessment requirements for this step have not been met. 2 pts
Task 3
Determine the entities in the system in relation to the state 1 Pts
Full points
You have correctly determined the entities in the system. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Task 4
List the types of events in your model
•describe how each event changes the state of the system •describe the new events that may be created as a result of this event 1 Pts
Full points
You have correctly listed the types of events in your model. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Task 5
Draw a flow chart illustrating your simulation structure. 3 Pts
Full points
Your flow chart: (i) is a valid flow chart for this model, (ii) does not have any dead ends (except for the intended termination step), and (iii) includes vacation (machine breakdowns). 2 Pts
Partial points
You have successfully completed two of the following: (i) a valid flow chart, (ii) there are no dead ends (except for the termination step), and (iii) included vacation (machine breakdowns). 1 Pts
Partial points
You have successfully completed one of the following: (i) correctly drawn a valid flow chart, (ii) there are no dead ends (except for the termination step), and (iii) included vacation (machine breakdowns). 0 Pts
No points
Assessment requirements for this step have not been met. 3 pts
Component 2: Functionality
Task 2. Draw a state-diagram of the system 1 Pts
Full points
Your state diagram shows the correct state transitions. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Task 3. Write code to implement a discrete-event simulation of the system.
Output state file:
Initialisation 2 Pts
Full points
Your initialisation creates a valid starting state with an arrival at time 0.0 and a breakdown at time 150.0. 1 Pts
Partial points
You have done one of the following: (i) created a valid starting state with an arrival at time 0.0, and (ii) created a valid starting state with a breakdown at time 150.0. 0 Pts
No points
Assessment requirements for this step have not been met. 2 pts
Criteria Ratings Pts
Output state file: run! initialisation 1 Pts
Full points
Your run! function can be called with the prescribed inputs and does not crash. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Output state file:
Random number generators 4 Pts
Full points
Your random number generators create suitable random numbers for (i) inter-arrival times, (ii) construction times, (iii) breakdown times, and (iv) repair times. 3 Pts
Partial points
Your random number generators have created suitable random numbers for three of the following: (i) inter-arrival times, (ii) construction times, (iii) breakdown times, and (iv) repair times. 2 Pts
Partial points
Your random number generators have created suitable random numbers for two of the following: (i) interarrival times, (ii) construction times, (iii) breakdown times, and (iv) repair times. 1 Pts
Partial points
Your random number generators have created suitable random numbers for one of the following: (i) interarrival times, (ii) construction times, (iii) breakdown times, and (iv) repair times. 0 Pts
No points
Assessment requirements for this step have not been met. 4 pts
Output state file:
CSV format and metadata 2 Pts
Full points
Your output state file conforms to the correct CSV format and contains satisfactory metadata. 1 Pts
Partial points
You have done one of the following: (i) created an output state file that conforms to the correct CSV format, and (ii) created an output state file that contains satisfactory metadata. 0 Pts
No points
Assessment requirements for this step have not been met. 2 pts
Output state file:
States 1 Pts
Full points
Your output state file contains states that are sequentially ordered in increasing time. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Output state file:
Event IDs 1 Pts
Full points
Your output state file contains unique event IDs. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Output state file:
Arrival and breakdown 2 Pts
Full points
Your output state file contains an arrival at time 0.0 and breakdown time at 0.0. 1 Pts
Partial points
You have done one of the following: (i) created an output state file that contains an arrival time at 0.0, and (ii) created an output state file that contains a breakdown time at 0.0. 0 Pts
No points
Assessment requirements for this step have not been met. 2 pts
Output state file:
Queue 1 Pts
Full points
Your output state file shows that the queue grows during the breakdown. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Output state file:
Events 1 Pts
Full points
Your output state file shows that the event list always has 1 or 2 events in it. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Output state file:
Machine status 1 Pts
Full points 0 Pts
No points 1 pts
Criteria Ratings Pts
Your output state file shows that the machine status is 0 normally and 1 after the start of a breakdown up until a repair. Assessment requirements for this step have not been met.
Output entity file:
CSV format and metadata 2 Pts
Full points
Your output entity file conforms to the correct CSV format and contains satisfactory metadata. 1 Pts
Partial points
You have done one of the following: (i)created an output entity file that conforms to the correct CSV format, and (ii) created an output entity file that contains satisfactory metadata. 0 Pts
No points
Assessment requirements for this step have not been met. 2 pts
Output entity file:
Times 1 Pts
Full points
Your output entity file contains arrival times, start service times and completion times that are in increasing order. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Output state file:
Event IDs 1 Pts
Full points
Your output entity file contains entities with unique IDs. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Component 3:
Programming Style.
Specification 1
File names, functions and data structures 1 Pts
Full points
Your file names are correct, and the correct code is in the correct place (functions and data structures in particular). 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Specification 2
Packages 1 Pts
Full points
Your file names are correct, and the correct code is in the correct place (functions and data structures in particular). 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Specification 3
Data structures 3 Pts
Full points
You have three data structures declared in a valid manner with appropriate constructors. 2 Pts
Partial points
You have two of the three data structures declared in a valid manner with appropriate constructors. 1 Pts
Partial points
You have one of the three data structures declared in a valid manner with appropriate constructors. 0 Pts
No points
Assessment requirements for this step have not been met. 3 pts
Specification 3
Event types 1 Pts
Full points
You have included concrete event types. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Specification 4
Machine breakdowns 1 Pts
Full points
You have included extra delays for machine breakdowns in the update function for breakdowns. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Specification 5
Update functions 1 Pts
Full points
You have included update functions for four types of events. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Specification 6
Parameters 1 Pts
Full points
Your code has a data structure for passing parameters. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Criteria Ratings Pts
Specification 7
Constructor 1 Pts
Full points
You have included a random number generator constructor. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Specification 7
Specification 1 Pts
Full points
You have included an initialise function matching specification. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Specification 8 run! function 1 Pts
Full points
You have included a run! function that runs the simulation. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Specification 9
Entities file 1 Pts
Full points
Your program writes an entities file. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Specification 9
State file 1 Pts
Full points
Your program writes a state file. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Specification 10
Variables 1 Pts
Full points
You have not included any global variables. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Specification 10
Variable names 1 Pts
Full points
You have used meaningful variable names, with the exception of local variables with small scope. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Specification 10
Comments 2 Pts
Full points
You have used comments efficiently and effectively. 1 Pts
Partial points
You have partially used comments efficiently and effectively. 0 Pts
No points
Assessment requirements for this step have not been met. 2 pts
Specification 10
White space 1 Pts
Full points
You have used correctly and consistently used indentation and space to separate important components and expressions. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Specification 10
Inefficient
approaches 1 Pts
Full points
You have used correctly and consistently used indentation and space to separate important components and expressions. 0 Pts
No points
Assessment requirements for this step have not been met. 1 pts
Total points: 50