Suppose a customer wishes to monitor the performance of a heterogeneous fleet of GPS navigation receivers operating in aerospace vehicles. The customer wishes to enforce a standard set of requirements, and maintain a design flexible enough to handle changing performance requirements, interface variations in the original suite of in-service GPS receivers, and interface variations in the unknown receiver interfaces that may appear as the fleet upgrades.
A system engineer generates the test requirements. For example:
1)Monitor signal strength once per second. Fail the measurement for a signal strength not equal to -142 dBm, plus or minus 20 dBm.
2)Monitor the number of satellites in view once per second. Fail the measurement for a number of satellites in view not equal to 5 or greater.
Additional architecture and operational items are added to the test requirements to complete the document:
- Each receiver is identified with a unique interface
- All the measurements are specified as independent with equal priority (can be made in parallel)
System developers then create and test software modules (hardware controllers) for each receiver type already present in the system.
The software module contains receiver-specific interfaces and functions necessary to perform required signal strength and satellites-in-view measurements, isolating these custom items from the rest of the system. All the software modules use the same standard interface to communicate with the rest of the system. The software module measures and evaluates the data (pass/fail) and archives measured data.
Suppose requirements change:
- The author (system engineer) updates the requirements document, e.g. to measure signal strength three times per second, and submits it for parsing, scheduling and execution. System software remains the same.
Suppose a new receiver enters service:
- A developer creates a new software module to handle receiver specific interfaces. Requirements remain the same.
Suppose a receiver vendor wants to package test a receiver using a package test system:
- The requirements document provides clear, consistent unambiguous test requirements for the package test system. The vendor executes the same test.