CIS/CSE 583
Types of Requirements
Functional
Error checking, recovery Protection against system failures Reliability, availability Proscribe unsafe or insecure behaviors Can sometimes be expressed as functional requirements
Non-functional
“Shall not” not”
Factors in Computer-based System Reliability
Hardware reliability
What is the probability of a hardware component failing, and for how long? How likely is it that software will produce bogus results? Software doesn’t wear out. doesn’ How likely is it that the human operator will make an error?
Software reliability
Operator reliability
1
Linkages
Hardware errors can trigger unexpected signals or input to software Software can behave in unexpected ways Strange behavior confuses operator Confused, stressed operator makes mistake in handling situation Mistaken reaction further destabilizes the system
Reliability Metrics I
Probability of Failure on Demand (POFOD): likelihood the system will fail when a request for service is made. A POFOD of 0.001 means that 1 in 1000 requests will fail. Rate of Failure Occurrence (ROCOF): likely frequency of occurrence for unexpected behavior. ROCOF of 2/100 means 2 failures in 100 time units (also called failure intensity)
Reliability Metrics II
Mean time to failure (MTTF): the average time between system failures. An MTTF of 500 means that we expect one failure every 500 units. Availability (AVAIL): probability that a system will be available for use at a given time. An AVAIL of 0.998 means that for any 1000 time units, the system is likely to be available for 998 of them.
2
Meaning of “Time” in Metrics Time”
Time might be calendar time, processor time, or discrete units such as transactions Systems with continuous load—calendar time load— is fine Systems idle most of the time—processor time— time is better