**This Project must done before Aug-04 (Monday) 6:00pm
You have been hired by the university to build a controller for an elevator in the 10 storied administration building, using semaphores or condition variables. The elevator is represented as a thread. Each person boarding or leaving the elevator is also represented by a thread. In addition to the elevator manager, you would need to implement the methods called by the arriving person. e.g. the method “ArrivingGoingFromTo(int atFloor, int toFloor)?? should wake up the elevator, tell it which floor to go to. The elevator is fast but it is not instantaneous, it takes only 100 ticks to go from one floor to the adjacent one. For simplicity, you can assume there is only one elevator and it holds arbitrary number of people. You can even assume that there is only one person entering the elevator at a floor at a time.
You have to come up with a way of storing the requests in the elevator manager, e.g. if a person is accessing the elevator at the 3rd floor and some body is trying to get access from the 5th floor then latter person has to wait before he could place his request. In other words he has to be put in a queue.
Also if the elevator is going upwards all the request for the destinations downwards will should not be accepted until it starts its downward motion and vice versa.
The assignment has to be done in Java.
**Please also write a one page design documentation.**