Robustness Requirements
- Robustness Requirements
- any dependability requirement
that specifies a required amount of
robustness
- Environmental Tolerance Requirement
- any robustness requirement that specifies a required amount of
environmental tolerance
- Error Tolerance Requirement
- any robustness requirement that specifies a required amount of
error tolerance
- Failure Tolerance Requirement
- any robustness requirement that specifies a required amount of
failure tolerance
- Fail Safety Requirement
- any failure tolerance requirement that specifies a required amount of
fail safety
- Fail Softness Requirement
- any failure tolerance requirement that specifies a required amount of
fail softness
- Fault Tolerance Requirement
- any robustness requirement that specifies a required amount of
fault tolerance
The typical objectives of a robustness requirement are to:
- Ensure that the following are properly tolerated:
- Abnormal environmental conditions (e.g., excessive heat).
- Errors in input (e.g., by human actors, external input devices, or other applications).
- Defects in components (e.g., hardware, software, personnel components).
- Failures (e.g., of internal components and external systems).
- Ensure, where practical, that abnormal conditions do not result in failure.
- Ensure that if failures do occur, then:
- Operations continue as before (possibly with degredation of performance).
- Operations continue in a degraded mode.
- A safe state is achieved before complete failure occurs.
Robustness requirements are typically specified in terms of the following measurements:
- Minimum acceptable percentage of the time that a
specified abnormal circumstance is properly handled.
The following are typical examples of robustness requirements:
- “The application shall not have a single hardware
point of failure involving the following kinds of hardware
components: servers, networks, network connectivity devices,
power supplies, and cooling.”
- “The application shall provide a meaningful error
message and continue to operate properly when a human user
provides incorrect inputs.”
- “The application shall provide a meaningful error
message and continue to operate properly if an external
system on which it depends fails.”
- “The application’s voice recognition
capability shall correctly recognize spoken commands 98% of
the time under the following conditions:
- List A contains valid spoken commands.
- List B contains invalid spoken commands.
- Both lists shall be spoken by a representative sample
of 10 native English users (five male and five female)
speaking at a normal speaking voice of approximately 60
(+/- 2) decibles(dB).
- Tape C contains sample background factory noise that
will be played at an average loudness of 75 dB.
- The customer representative will supply an equivalent
Tape D of background factory noise during acceptance
testing so that the application cannot be specifically
optimized for Tape C.”
- Example Environmental Tolerance Requirement.
“System interfaces shall be compatible with electromagnetic environments
as described in United States Department of Defense Interface Standard MIL-STD-464
Electronmagnetic Environment Effects, Requirements for Systems.”
The following guidelines have been found to be useful when producing robustness requirements:
- The scope of a robustness requirement can be:
- Where possible, robustness requirements should be specified quantitatively.
- Robustness requirements are related to reliability and
availability requirements because an application or component
cannot be highly reliable or available if it is not robust.
- Robustness requirements should
not specify specific architecture, design, and implementation constraints such as:
- Exception handling.
- Hot and cold failover to other applications or
preestablished alternative sites.
- Degraded modes of operation.
- Disaster avoidance and recovery.
- Back-up of application state and data.
- Roleback to previously valid state.
- Communications re-routing.