Back again today to discuss the critical areas of reliablity and saftey engineering. Just some quick things I found helpful/ interesting. Reliability under the software engineering umbrella is described as the probability of failure-free operation over in a specific context. The key association here is that reliablility is refered to when describing a piece of software working in an explicit amount of time, environment, and purpose. Availability is more straight forward. It is described as the probability that at any specified time a software will be to operational and will work as intended.
Another interesting thing I came across was this table shown below from the textbook (Software Engineering 10). It contextualizes the numerical values of availability and what it means to the average user. This is just mind boggling to me. One might think that an availabilty rate of 99% would be acceptable but this graph shows how unreliable a system with an availability rate of 99% would be and how precise a system's availablity would have to be to available as much as many of todays most used systems are.
11.4) What is the common characteristics of all architectural styles that are geared to supporting software fault tolerance?
11.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.
11.9) Explain why you should explicitly handle all exceptions in a system that is intended to have a high level of availability.
12.5A train protection system automatically applies the brakes of a train if the speed limit for a segment of track is exceeded, or if the train enters a track segment that is currently signaled with a red light (i.e., the segment should not be entered). There are two critical-safety requirements for this train protection system:
The train shall not enter a segment of track that is signaled with a red light.
The train shall not exceed the specified speed limit for a section of track.
Assuming that the signal status and the speed limit for the track segment are transmitted to on-board software on the train before it enters the track segment, propose five possible functional system requirements for the onboard software that may be generated from the system safety requirements.