Providing Open Architecture High Availability Solutions
Providing Open Architecture High Availability Solutions
20
Unlike hardware faults that are mostly physical faults, software faults are design faults, which are
harder to visualize, classify, detect, and correct. As a result, software reliability is more difficult to
realize and analyze than hardware reliability. Usually, hardware reliability theory relies on the
analysis of stationary processes, because only physical faults are considered. However, with the
increase of system’s complexity and the introduction of design faults in software, reliability theory
based on stationary process becomes unsuitable to address non-stationary phenomena, such as
reliability growth or reliability decrease that is experienced in software. This makes software
reliability a challenging problem that requires several methods of attack.
3.4 Reliability Modeling for Hardware and Software Systems
In this section, a unified view of modeling hardware and software is presented. Introductory
reliability theory is presented as it applies to this view of a system model. The motivation and
consideration for presenting interacting components is reinforced through the introduction of
mathematical modeling. An analytical view of reliability is presented, system availability when
service restoration is considered, and reliability forecasting is briefly introduced.
3.4.1 System Decomposition
Earlier, a system was defined as a collection of interacting components, which, in turn, may again
be comprised of components. This recursion is ultimately terminated when the system has been
decomposed to the point where further decomposition is of little value or interest and a matter of
diminishing return. The smallest units of system elements then considered are called atomic
components.
This view of system decomposition is useful in representing the “composed-of” relationship of
components in a system. An alternative view could be shown as a tree as depicted below.
Figure 3. System Decomposition
C1
C4
C5
C6
C7
C3
C2
System
Subsystem 1
Subsystem 2
Atomic Components