L4 Group 8
- Jason Gao 101108461
- Shashaank Srivastava 101105658
- Kevin Quach 101115704
- Michael Quach 101179729
- Harjap Gill - 101124926
Open Eclipse
File -> Import -> General -> Projects from Folder or Archive -> Select iteration archive -> Select nested folder SYSC3303_ElevatorSystem -> Finish
Open three terminals and run
java -jar Scheduler.jar
java -jar Elevator.jar
java -jar Floor.jar
Open the project in eclipse -> Open SchedulerSystem.java -> Run As -> Java Application
Open the project in eclipse -> right click the test folder -> Run As -> JUnit Test
Documentation is found in doc/ UML and state machine is in uml_docs
We will take the average of the times given my the professor (8 + 9.9+11.0+7.8) / 4 = 9.175 Therefore, the time for the elevator doors to open, load/unload and close is 9.175 seconds
The distance between each floor was found to be 4 metres
We will not include acceleration and assume constant speed to help find a good estimate for max speed of elevator Average time to travel 7 floors (17.6 + 19.6 + 19.6 + 22.5) / 4 = 19.825 second The height of each floor is 4 metres so total distance traveled 4 metres * 7 floors = 28 metres We can now calculate top speed Velocity = distance / time Velocity = 28 metres / 19.825 seconds Velocity = 1.412 metres / sec
We could not determine acceleration from the give data so we will use an acceleration of an elevator found online The value of the acceleration was found to be 1.148 metres / sec2 https://hypertextbook.com/facts/2009/AmosBaptiste.shtml
- Floor System
- Floor message data parse
- Floor message class (deprecated)
- ByteParse (deprecated)
- Schduler Datagram Communicator
- Scheduler Subsystem
- Serializable floor data message
- Scheduler Datagram Communicator
- Scheduler subsystem
- Box Class
- Elevator System
- Unit Testing
- UML Diagrams
- Unit Testing
- UML Diagrams
- Elevator class
- ReadMe
- ByteBuffer
- ByteBufferCommunicator
- Elevator state machine (shared work)
- Pair programming with Harjap Gill
- SchedulerSystem
- SchedulerRequestHandler
- Scheduler unit tests
- Scheduler state machine (shared)
- Pair programming with Michael Quach
- SchedulerSystem
- SchedulerResponseHandler
- SchedulerElevatorData
- FloorResponseHandler
- FloorLightResponseMessage
- Scheduler state machine (shared)
- Pair programming with Kevin Quach for scheduler systems
- Elevator state machine integration
- Unit tests
- UML diagrams
- State diagram
- Pair programming with Harjap Gill
- Scheduler state machine (shared)
- Elevator state machine (shared work)
- Pair programming with Jason Gao
- Implemented UDP messaging (shared)
- Fixed unit tests (shared)
- Implemented scheduler handling multiple elevators (shared)
- Implemented scheduler handling requests only on elevator state change (shared)
- Added elevator IDs to messages
- Revised sequence diagram pertaining to scheduler threads
- Implemented scheduler handling multiple elevators (shared)
- Implemented scheduler handling requests only on elevator state change (shared)
- Revised scheduler state machine diagram to reflect iteration
- Implemented UDP messaging (shared)
- UML class and sequence diagrams
- Implemented UDP messaging (shared)
- Fixed unit tests (shared)
- Add correct timing between floor requests (shared)
- Floor system now sends fault messages (shared)
- Create hard fault and transient fault messages (shared)
- Refactor DirectionEnum from hardcoded strings
- Create new buffer communicator for fault messages
- Updated SchedulerRequestHandler to respect faults
- Added unit tests for faults for Scheduler
- Updated tests to use DirectionEnum
- Added new thread to handle incoming faults
- Added logic to SchedulerSystem to handle faults
- Scheduler will handle hard fault timeouts (shared)
- Add correct timing between floor requests (shared)
- Floor system now sends fault messages (shared)
- Create hard fault and transient fault messages (shared)
- UML class and sequence diagrams, timing diagrams
- Updated elevator system to handle fault messages
- Scheduler will handle hard fault timeouts (shared)
- Created GUI frame showing elevator as JSlider, status of elevator with text field and, current elevator floor in a text field
- Added an additional elevator state for tracking elevator passing intermediate floors on its way to the destination
- Send updates to GUI when elevator data changes
- Timing implementation (shared)
- Timing measurements and analysis
- Timing implementation (shared)
- Timing implementation (shared)
- Timing implementation (shared)