The completion of this project is your take-home final for this course.
You are responsible for the design of the power window controller (PWC) on an automobile. The physical description of the windows is given below along with requirements defining the PWC operation.
Each window has mounted below it a rocker switch for controlling the raising and lowering of the window.
Pressing the rocker switch in one direction signals the intention to raise the window and in the other direction to lower it. Two signals are available indicating when the rocker is pressed on the raise and lower side, respectively. These are clean, debounced signals. There is a physical interlock that prevents the raise and lower signals from being simultaneously active.
An electric motor controls the movement of the window. The motor has two control inputs: raise and lower.
Each window has a high torque sensor that generates an active signal when the motor applies more torque than its maximum rating. This is an indication that the window is fully open, fully closed or may be jammed in its track.
The PWC controls multiple windows in the car.
The driver window has a special control arrangement. Instead of a single switch it has one switch for each window in the automobile. These switches are identical to the single switch at each other window.
The driver window has a power disable button that generates an active signal when it is in the on position.
The controller will command raise or lower motion of a window while a switch is active for that window. Except for the auto-lower feature described below, the controller will not command motion of a window if neither switch is active for that window.
If there is a discrepancy between the signals from a window's driver and window switches the controller will not move the window or will stop window motion as long as the conflict continues.
The controller will stop commanding motion for a window if it receives a high torque signal for the window.
The travel time from fully open to fully closed is 4 seconds. The controller will stop commanding motion for a window if it has been commanding motion continuously for 5 seconds.
The auto-lower feature is triggered if the driver's window lower switch is held down for more than 1 second. With auto-lower on, the controller will continue to command lowering of the window even after the driver's window lower switch has been released.
If the controller receives an active lower signal from the driver's window rocker switch while in auto-lower mode, the controller will stop commanding window motion. If the controller receives an active raise signal it will exit auto-lower mode and begin to command raising of the window.
When the power disable button is on the controller ignores input from all window rocker switches. The controller will stop any commanded window motion for non-driver windows as soon as it detects the power disable button being active. While the power disable button is active the controller continues to respond to input from all rocker switches at the driver's window.
More than one window can be in motion simultaneously.
This is a two-door model car with two operating windows: driver and passenger.
The system boundary is the controller processor. All sensors, actuators and elements described in the Physical Description section above are outside the system boundary.
For your documentation of your design you will submit a single Word file that holds, at a minimum, the following information:
Use case analysis. This includes a use case diagram indicating all the actors in the system and relationships between use cases. For each use case list the following information: use case name, relevant actors, description of the use case including a clear statement of the goal of the use case.
Object structural analysis. This includes a class diagram showing generalizations, associations, multiplicities, and stereotypes where appropriate. For each class provide a bulleted list of its responsibilities at a level of individual responsibilities, i.e. the responsibility of a motor class must be more specific than "This class is responsible for controlling the motor."
Behavioral analysis. This includes a statechart description of the behavior of the controller and textual commentary describing at least the first level states.
No presentation is required for this design project.
Submit a single Word document as your design documentation. Place this file in the PWC dropbox in the myCourses files area before the end of the time period specified for submission of this project.