Biomedical Engineering Reference
In-Depth Information
2.3 Software in Safety-Critical Systems
Software is a vital part of any system, especially in embedded systems, where it
is used to control the whole functionality of the systems. The embedded systems
have major role to control the behaviour of the safety critical systems. When we
use these systems, we consider that their risk has been minimised and uses of the
systems are effectively safe. The system is not only safe, but we also expect other at-
tributes like reliable and cost effective. Main safety-critical systems are commercial
aircraft, medical care, train signalling systems, air traffic control, nuclear power, and
weapons, where any kind of failure can quickly lead to human life in danger, loss of
equipment, and so on. The industries are responsible for designing and delivering
the safety-critical systems according to the standards authorities [ 18 , 33 , 54 , 58 ],
which satisfy the requirements.
To address the problem of system's failure related to the software errors for ex-
ample, overdoses from Therac-25 for treating cancer through radiation [ 74 ], the
overshooting of the runway at Warsaw airport by an Airbus A320 [ 79 ], Intel Pen-
tium floating point divide [ 91 ], 5000 adverse events for Insulin Infusion Pump (IIP)
reported by FDA [ 114 , 115 ] and Ariane 5 flight 501 going off [ 76 ]. All these prob-
lems and many more are considered as a part of the “software crisis”. The term
“software crisis” has been introduced in late 1960s to describe the failures of the
systems in which software-development problems cause the entire system [ 36 ]. In
1968, a meeting is organised by NATO related to the software crisis. This crisis had
as its root cause the problem of complexity brought about in many cases by sheer
length of programs combined with a poor control over how each line of code af-
fects the overall system. Almost three decades later, this problem still remains as
indicated in [ 36 ].
Software crisis is a well-known problem for other engineering disciplines, and
over the years of experience has been accumulated to provide effective solutions:
the technology has been available, and it has been shown to work with a very high
degree of confidence. Software are using frequently in the system development,
which is also classified as an engineering discipline, so it would seem natural that
one can apply the insights and quickly surmount any hurdles. However, it is true that
the engineering insights are applicable to modern the critical-system development
to come over the traditional approaches of the system development.
2.3.1 Software Safety and Reliability
Increasing size and complexity of software in critical systems, the software has a
primary threat for the reliability. Most of the reliability engineering techniques ad-
dress failures in hardware components. Software architecture analysis methods con-
centrate to analyse the quality and behaviour of a system at the early stage of the
system development. Several useful reliability engineering techniques are available
in literature to analyse and design a reliable system. A comprehensive survey of
Search WWH ::




Custom Search