© 2000 Morgan Kaufman Overheads for Computers as Components Networks zExample: elevator controller.
© 2000 Morgan Kaufman Overheads for Computers as Components Terminology zElevator car: holds passengers. zHoistway: elevator shaft. zCar control panel: buttons in each car. zFloor control panel: elevator request, etc. per floor.
© 2000 Morgan Kaufman Overheads for Computers as Components Elevator system floor Hoistway 1Hoistway 2
© 2000 Morgan Kaufman Overheads for Computers as Components Theory of operation zEach floor has control panel, display. zEach car has control panel: yone button per floor; yemergency stop. zControlled by a single controller.
© 2000 Morgan Kaufman Overheads for Computers as Components Elevator position sensing coarse sensor fine
© 2000 Morgan Kaufman Overheads for Computers as Components Elevator control zElevator control has up and down. yTo stop, disable both. zMaster controller: yreads elevator positions; yreads requests; yschedules elevators; ycontrols movement; ycontrols doors.
© 2000 Morgan Kaufman Overheads for Computers as Components Elevator system requirements
© 2000 Morgan Kaufman Overheads for Computers as Components Elevator system class diagram Car Floor Master-control-panel* Controller Motor* Coarse-sensor* Fine-sensor* Car-control-panel* Floor-control-panel* N 1 F 1 1 N
© 2000 Morgan Kaufman Overheads for Computers as Components Physical interfaces Sensor* hit: boolean Coarse-sensor*Fine-sensor* Motor* speed: {o,s,f} Floor-control-panel* up, down: boolean Car-control-panel* Floors[1..F]: boolean emergency-stop: boolean open-door, close-door: boolean Master-control-panel...
© 2000 Morgan Kaufman Overheads for Computers as Components Car and Floor classes Car request-lights[1..F]: boolean current-floor: integer Floor up-light, down-light: boolean
© 2000 Morgan Kaufman Overheads for Computers as Components Controller class Controller car-floor[1..H]: integer emergency-stop[1..H]: integer scan-cars() scan-floors() scan-master-panel() operate()
© 2000 Morgan Kaufman Overheads for Computers as Components Architecture zComputation and I/O occur at: yfloor control panels/displays; yelevator cars; ysystem controller.
© 2000 Morgan Kaufman Overheads for Computers as Components Panels and cab controller zPanels are straightforward---no real-time requirements. zCab controller: yread buttons and send events to system controller; yread sensor inputs and send to system controller.
© 2000 Morgan Kaufman Overheads for Computers as Components System controller zMust take inputs from many sources: ycar controllers; yfloors. zMust control cars to hard real-time deadlines. zUser interface, scheduling are soft deadlines.
© 2000 Morgan Kaufman Overheads for Computers as Components Testing zBuild an elevator simulator using an FPGA: ysimulate multiple elevators; ysimulate real-time control demands.