Statistische Messung und Prognose von Zuverlässigkeit
Dr. Peter Liggesmeyer
Siemens AG
Zentralabteilung Technik, ZT PP 2
81730 München
Oliver Mäckel
Siemens AG
Zentralabteilung Technik, ZT PP 2
81730 München
Zuverlässigkeit ist eine stochastische Eigenschaft eines betrachteten Systems. Sie wird durch die zeitliche Verteilung des Eintretens von Fehlerwirkungen - also von Fehlverhalten und Ausfällen - bestimmt. Für die Hardwarebestandteile eines Systems wird oft davon ausgegangen, daß nur spontane Ausfälle aufgrund von Fertigungsfehlern, Verschleiß oder äußeren Einflüssen (z. B. Strahlung oder Temperatur) auftreten. Systematische Konstruktionsfehler werden als Quelle von Fehlverhalten häufig vernachlässigt. Bei Softwarebestandteilen sind die Fehler, die Ausfälle verursachen, statisch vorhanden. Spontane Ausfälle einer fehlerfreien Software sind nicht möglich. Der zufällige Eintritt von Fehlverhalten bei Software kommt durch die in der Regel vielfältigen Benutzungsmöglichkeiten einer Software zustande. Diese können als ein Ziehungsprozeß verstanden werden, der Fehlverhalten hervorbringt. Daher beeinflußt bei Software die Intensität und die Art der Benutzung die Häufigkeit, mit der Ausfälle auftreten, d. h. die Zuverlässigkeit.
Die Häufigkeit des Eintretens von Fehlverhalten ist eine Eigenschaft, die sich dynamisch bei der Benutzung zeigt. Ferner ist einsichtig, daß, falls die Zuverlässigkeit z. B. mit Hilfe der beobachteten Zeitspanne zwischen dem Eintreten zweier aufeinanderfolgender Ausfälle definiert wird, auch bei einem sehr zuverlässigen System einmal zwei Ausfälle zeitlich dicht aufeinander folgen können. Bei der Betrachtung der Qualitätseigenschaft Zuverlässigkeit muß folglich mit Wahrscheinlichkeiten gearbeitet werden. Zuverlässigkeit ist die Wahrscheinlichkeit des fehlerfreien Funktionierens eines Systems über eine bestimmte Zeitspanne in einer bestimmten Umgebung (Benutzungsart, Benutzungsintensität, Betriebsumgebung).
Software-Zuverlässigkeitsmodelle erschienen vor etwa 25 Jahren in der Literatur /Jelinski, Moranda 72/, /Littlewood, Verall 73/, /Musa 75/, /Shooman 73/. Die anfängliche Erwartung, daß universell geeignete Modelle entwickelt werden könnten, hat sich nicht bestätigt. Es hat sich gezeigt, daß kein einzelnes Modell alle Situation geeignet beschreiben kann, weil jedes Modell auf spezifischen Annahmen basiert, z. B. über die Entwicklungsumgebung oder die Art der Ausfälle. Darüber hinaus ist es kaum möglich, vorab zu entscheiden, welches Modell geeignet sein wird /Keiller et al. 83/.
Die Erfahrung zeigt, daß der kritische Aspekt der Software-Zuverlässigkeitstechnik die Anwendung der Theorie ist. In der Praxis ist es wichtig, daß Zuverlässigkeit leicht gemessen und prognostiziert werden kann.
Das Siemens-eigene Werkzeug RAT (Reliability Assessment Tool) unterstützt verschiedene Software-Zuverlässigkeitsmodelle und enthält Techniken zur Modell-Auswahl und -Kalibrierung basierend auf beobachteten Ausfällen. RAT wird in zahlreichen System-Entwicklungen angewendet /Liggesmeyer, Ackermann 98/. Die Anwendungsbereiche sind u. a. Telekommunikationssysteme, verkehrstechnische Systeme und Anlagen, Medizintechnik, militärische Systeme, Kraftwerke und Industrieautomation. Der Umfang dieser Systeme variiert stark. Obwohl RAT z. Zt. nur Modelle enthält, die für die Modellierung von Software-Zuverlässigkeit vorgeschlagen wurden, ist das Werkzeug auch auf SW-/HW-Systeme angewendet worden, um zu prüfen, ob und wie derartige Zuverlässigkeitsmodelle für hybride Systeme benutzt werden können.
RAT enthält eine Anzahl von Zuverlässigkeitsmodellen, um eine gewisse Breite von Situationen abzudecken. Diese Modelle gehören ausschließlich zur Klasse der nichthomogenen Poisson-Prozesse /Zhao 91/. Die Modelle werden vollständig durch den Erwartungswert für die Anzahl der Ausfälle über der Zeit beschrieben.
Die Modellkalibrierung wird mit Hilfe des Verfahrens der minimalen Fehlerquadrate oder durch Maximum Likelihood-Anpassung durchgeführt. Die Beurteilung der Modelleignung erfolgt auf Basis des Prequential Likelihood-Verfahrens, des U-Plot-Kriteriums und der Holdout Bewertung (siehe auch /Lyu 95/).
Der Ansatz wird aufgrund der unkomplizierten Anwendbarkeit der Zuverlässigkeitsmodellierung in der Praxis akzeptiert. Die Anwendung auf große Entwicklungen in der Praxis zeigt, daß ein einzelnes Modell nicht ausreicht, um allen Situationen gerecht zu werden. Darüber hinaus hat sich der Ansatz bewährt, verschiedene Zuverlässigkeitsmodelle, Auswahlkriterien, Kalibriertechniken und Prognoseverfahren zu kombinieren. Die Abweichung von vorhergesagter und beobachteter Ausfallanzahl ist typischerweise 5%, wenn der Prognosezeitraum und der Zeitraum, über den Daten vorliegen, etwa gleich lang sind.
Literatur
/Jelinski, Moranda 72/
Jelinski, Z., Moranda, P.B., Software reliability
research, in: Statistical Compuler Performance
Evaluation, W. Freiberger, Ed., New York,
Academic, 465-484, 1972.
/Keiller et al. 83/
Keiller, P.A., Littlewood, B., Miller, D.R., Sofer, A.,
Comparison of software reliability predictions, Dig.
FTCS /3 (/3th Int. Symp. Fault-Tolerant Comput.),
128-134, 1983.
/Liggesmeyer, Ackermann 98/
Liggesmeyer, P., Ackermann, T.: Applying
Reliability Engineering: Empirical Results, Lessons
Learned, and Further Improvements. ISSRE 98, The
Ninth International Symposium on Software
Reliability Engineering, Paderborn, November 1998
/Littlewood, Verall 73/
Littlewood, B, Verall, J.L., A Bayesian reliability
growth model for computer software, J. Roy. Statist.
Soc., 22, 332-346, 1973.
/Lyu 95/
Lyu, M.R., Handbook of Software R:liability
Engineering, McGraw-Hill, New York, 1995.
/Musa 75/
Musa, J.D., A theory of software reliability and its
application, IEEE Trans Software Eng., vol 1, no 9,
312-327, 1975.
/Shooman 73/
Shooman, M., Operational testing and software
reliability during prog,ram development, in Rec. 1973
IEEE Symp. Comput. Software Rel., New York,51
57, 1973.
/Zhao 91/
Zhao, M., Software reliability models based on
nonhomogenous poisson processes, Thesis,
Linköping University, Sweden, 1991.