Multi-space Parking Meters

Background and motivation

UCI needs to build new parking structures, but let us imagine that no money is available. So, they will try to upgrade the parking meters on campus to generate more revenue without raising rates.

Currently, each parking space has it's own meter that accepts coins and displays the time remaining or a blinking warning when time has expired. These meters are prone to mechanical failure because they have too many moving parts. Parking enforcement officers must randomly patrol the parking lots, hoping to find expired meters. Also, if one user puts in $2 then leaves early, another person can park for free by using the remaining time.

Desired functionality

The new system will use only one computerized meter for eight parking spaces. Eight small displays on the multi-space meter show the time remaining for each parking space. Each space has a camera that detects when a car enters or exits, and photographs the license plate number. Rather than relying on parking enforcement officers, violations will be detected automatically: the meter will electronically report the violation to the UCI parking office and a parking ticket will be mailed to the car's registered owner.

When a person parks a car, the display for that space changes from blank to "SELECT AND INSERT COINS". The user then walks from their car to the multi-space meter and presses one of eight buttons to select the corresponding parking space. The user may then add as many coins as desired to add time to the parking timer for that space, and may come back later to add more. When a car leaves its space, the display goes blank and the timer is automatically set to zero, even if there was time remaining.

After entering a space, users have a grace period of up to five minutes to insert coins for that space, otherwise it is a violation. The time that passed between the arrival of the car and the insertion of the first coin is subtracted from the remaining time on the meter (in other words, the first 5 minutes are not free).

If a timer ever counts down to zero while a car is parked in that space, it is a violation. Whenever a space is less than two minutes away from giving a violation, the display for that space will flash "WARNING". Once a violation has occurred, the display for that space shows "VIOLATION" and coins are not accepted for that space until the car exits.

Each multi-space meter has one or more rate plans. Each rate plan starts at a given time on a given day of the week. Each rate plan specifies the minutes for each newly added quarter dollar and the time limit. For example, Plan-A starts Monday at 6am and allows users to park for up to 2 hours at a rate of 15 minutes per quarter dollar; and, Plan-B starts at 4pm Friday and extends the limit to 4 hours. Whenever the time remaining for a space equals or exceeds the time limit, the display for that space blinks "LIMIT", and further coins are not accepted.

In the figure below:

Feature set

The following briefly repeats the information given above in the form of feature specifications.

Feature F-01: Car detection. The camera can detect if a car is present in each parking space. A "car arrival" event is generated when a car parks in the space, and a "car departure" event is generated when it leaves. If there is no car in the space, the display is blank.

Feature F-02: Grace period. After arriving in a space, the driver has 5 minutes to insert a coin before a violation is signaled. These first five minutes are counted as part of the elapsed time that must be paid for with coins. During the grace period, the display for that space shows "SELECT AND INSERT COINS".

Feature F-03: Violation handling. If the grace period elapses or the elapsed parking time is more than the paid time, a violation is signaled and the display shows "VIOLATION".

Feature F-04: Warning. The display will always show "WARNING" for 2 minutes prior to signaling a violation.

Feature F-05: Remaining time time display. The remaining parking time is displayed while a car is parked (except as described in other features).

Feature F-05: Limit on remaining time. If the remaining time is greater than the limit (L) specified in the current rate plan, the display shows "LIMIT" and any additional coins are rejected. The limit will always be more than 2 minutes.

Feature F-06: Rate plans. The number of paid minutes given for each coin and the maximum remaining time limit are both determined by a rate plan. The current rate plan is determined by day of the week and time of day.

Feature F-07: No carry-over. Paid time does not carry over from one car to the next car to park in the same space.

Feature F-08: Centralized hardware. Only one meter is needed for every 8 spaces. This simplifies the collection of coins by the UCI parking office.

Feature F-09: Automated violation reporting. When a violation is signaled, it is automatically transmitted to the UCI parking office, along with a photograph of the car's license plate.

Note: this problem is inspired by a real product, but it is not the same as that product.

sample use case templateexample test plan templateProject plan template