(Low priority) Timing diagram - should be easier to understand
Only need one fault for the doors (should be a soft fault)
Scheduler should be telling Elevator to do stuff
Try to go back and fix up things for the final submission (highest grade)
(Good to have) arrival sensors - normal, faulty state
[ ] See the faults in Iteration 5 GUI
(Nice to have) Input file instead of having stuff in test file (if so, revive the old code Ryan made)
[ ] The label client to server, server to client is not clear switch it like floor to scheduler,...etc
Iteration 3
[ ] You really have a large number of classes which makes the class diagram hard to follow. I do not know if you can combine the functionality in less number of classes or not.
[x] #233
[ ] Rename Client to ClientServer
[ ] (Low priority) Update old diagrams
[ ] #234
[ ] Scheduler state machine: The movement state machine is the Elevator state machine that was required for this iteration. There should be similar state machine for the scheduler. the other state machine you provided does not have any clear state for the scheduler. You should have one similar to the one you did for the elevator but with the scheduler states like idle, received request from floor subsystem, processing request , ...etc
[ ] You need to continue what happens after the elevator got a request, so it should service the request and send a notification to the schedular.
[x] Please modify your readme file to include a simple steps how to run your submission that you submitted on brightspace not from GitHub.
The client class does not have an attribute origin it is called portnumber.
[x] Give client a constructor with Origin again, and the origin attribute if it does not have it. It increases scalability with the One-MessagePasser Configuration. @RamitMahajan #209
[ ] All the static attributes defined in the Elevator class should be underlined @RamitMahajan
[x] the relation between the elevator and elevator door and motor should be composition
[x] In the Elevator class the method is called moveToFloor you made both methods moveToNextFloor
[x] In addition methods passApproachEvent, receiveApproachEvent are missing. In Elevator subsystem class the run , handleApproachEvent methods are missing. the main function should be underlined since it is defined as static
[x] FloorQueue class is missing the attributes upwardRequests and downwardRequests
Please double check the rest of the classes for any missing attributes or methods
(???) You can show the three main subsystem communications in your sequence diagram. It will be easier to follow.
Code
[x] switch the time to the left of the printed statement @RamitMahajan
At the beginning you should print the status and starting position of each elevator. Like elevator 1 is idle at floor 1, 1 expected, 2 expected is not clear do you mean the elevator that will be assigned the request. If so try to make it clear in your output.
[x] Try to make your output more clear just print the information that we should know.
Testing
[x] the Elevator Motor test and elevator Selection test failed
[x] Fix ElevatorMotor test
[x] Fix ElevatorSelectionTest
[x] For future submission you can add a test file that can run all the attached tests instead of running them one by one
[x] The TA can just right click the "test" folder and run them all at once
Iteration 4
[ ] The scheduler does not assign request in a way to minimize waiting time. Please make sure to address this issue.
[ ] (Selection Algorithm) When elevator 1 is done with the first request 1 up 2. It should stay at floor 2, Then when the second request comes which is 2 up 4. Elevator 1 should be the one who service that request not elevator 2 since elevator 1 is already in floor 2.
2 up 4 is processed by the Scheduler before Elevator is at floor 2
You have elevator 2 picked up the request 2 up 4, so when elevator 2 reaches floor 2 you should print a statement elevator stopped, doors open , loading passenger not reach destination.
The request for elevator 2 Up 6 came before elevator 2 reaches floor 2, so it should be the one who service that request not elevator 1
It doesn't do this because it's trying to ensure distributed loading time
Testing ( 4.5/6)
[ ] (???) When I run the test I can see the faults , but I can not see that they are resolved correctly although I see that you wrote a code to do that.
[ ] (Low priority) You only consider a single elevator to run the test not multiple.
[ ] (Great to have, need to confirm).When the elevator stuck it should be shut down and stop receiving any new request.
[ ] (Not necessary) If an elevator shuts down, we should see all the requests served by other elevators.
Only possible for ElevatorRequests
IDEA: Add RequestQueue to Scheduler ???
[x] When the door does not open/close, the schedular should just reset the door and the elevator should continue working normally. #236
Iteration 3
[ ] You really have a large number of classes which makes the class diagram hard to follow. I do not know if you can combine the functionality in less number of classes or not.
[ ] Scheduler state machine: The movement state machine is the Elevator state machine that was required for this iteration. There should be similar state machine for the scheduler. the other state machine you provided does not have any clear state for the scheduler. You should have one similar to the one you did for the elevator but with the scheduler states like idle, received request from floor subsystem, processing request , ...etc
[ ] You need to continue what happens after the elevator got a request, so it should service the request and send a notification to the schedular.
[x] Please modify your readme file to include a simple steps how to run your submission that you submitted on brightspace not from GitHub.
The client class does not have an attribute origin it is called portnumber.
[ ] All the static attributes defined in the Elevator class should be underlined @RamitMahajan
[x] the relation between the elevator and elevator door and motor should be composition
[x] In the Elevator class the method is called moveToFloor you made both methods moveToNextFloor
[x] In addition methods passApproachEvent, receiveApproachEvent are missing. In Elevator subsystem class the run , handleApproachEvent methods are missing. the main function should be underlined since it is defined as static
[x] FloorQueue class is missing the attributes upwardRequests and downwardRequests
Please double check the rest of the classes for any missing attributes or methods
(???) You can show the three main subsystem communications in your sequence diagram. It will be easier to follow.
Code
[x] Try to make your output more clear just print the information that we should know.
Testing
[x] the Elevator Motor test and elevator Selection test failed
[x] Fix ElevatorMotor test
[x] For future submission you can add a test file that can run all the attached tests instead of running them one by one
Iteration 4
Testing ( 4.5/6)