Problem 1
Explain why it is practically impossible to validate reliability specifications when these are expressed in terms of a very small number of failures over the total lifetime of a system.
Problem 3
Imagine that a network operations center monitors and controls the national telecommunications network of a country. This includes controlling and monitoring the operational status of switching and transmission equipment and keeping track of nationwide equipment inventories. The center needs to have redundant systems. Explain three reliability metrics you would use to specify the needs of such systems.
Problem 4
What is the common characteristic of all architectural styles that are geared to supporting software fault tolerance?
Problem 5
Suggest circumstances where it is appropriate to use a fault-tolerant architecture when implementing a software-based control system and explain why this approach is required.
Problem 6
You are responsible for the design of a communications switch that has to provide \(24 / 7\) availability but that is not safety-critical. Giving reasons for your answer, suggest an architectural style that might be used for this system.
Problem 7
It has been suggested that the control software for a radiation therapy machine, used to treat patients with cancer, should be implemented using \(N\)-version programming. Comment on whether or not you think this is a good suggestion.
Problem 9
Explain how programming language support of exception handling can contribute to the reliability of software systems.
Problem 10
Software failures can cause considerable inconvenience to users of the software. Is it ethical for companies to release software that they know includes faults that could lead to software failures? Should they be liable for compensating users for losses that are caused by the failure of their software? Should they be required by law to offer software warranties in the same way that consumer goods manufacturers must guarantee their products?