Full Paper (PDF) - Institut für Automatisierungs- und Softwaretechnik ...
Full Paper (PDF) - Institut für Automatisierungs- und Softwaretechnik ...
Full Paper (PDF) - Institut für Automatisierungs- und Softwaretechnik ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Zuverlässigkeitsbewertung softwareintensiver<br />
mechatronischer Systeme in frühen Entwicklungsphasen<br />
Dipl.-Ing. P. Jäger, Universität Stuttgart; Dipl.-Ing. M. Wedel, Universität<br />
Stuttgart; Dipl.-Math. oec. A. Gandy, Universität Hohenheim; Prof. Dr.-<br />
Ing. B. Bertsche, Universität Stuttgart; Prof. Dr.-Ing. Dr. h. c. P. Göhner,<br />
Universität Stuttgart; Prof. Dr. U. Jensen, Universität Hohenheim<br />
Kurzfassung<br />
Dieser Beitrag befasst sich mit der systematischen Zuverlässigkeitssicherung<br />
mechatronischer Produkte in frühen Entwicklungsphasen. Da der Begriff Mechatronik heute<br />
auch Softwareanteile beinhaltet, ist es das Ziel, einen Ansatz darzustellen, welcher die<br />
systematische Entwicklung zuverlässiger, softwareintensiver mechatronischer Produkte<br />
unterstützt. Die entsprechende methodische Vorgehensweise bewertet verschiedene<br />
Lösungsvarianten im Hinblick auf das Erreichen einer bestimmten Zuverlässigkeitsvorgabe.<br />
Der vorgestellte Ansatz konzentriert sich auf frühe Entwicklungsphasen, weil dort getroffene<br />
Entscheidungen den größten Einfluss auf den späteren Erfolg eines Produkts haben.<br />
Abstract<br />
This contribution deals with systematically securing the reliability of mechatronic products in<br />
early development phases. As the term mechatronics nowadays also encompasses software<br />
stakes it is the aim to present an approach to systematically develop reliable softwareintensive<br />
mechatronic products. The aim is to present a method that evaluates different<br />
solutions with respect to reaching a certain given reliability goal. The presented approach<br />
concentrates on early development phases, where decision making has the most extensive<br />
impact on later product success.<br />
1. Einführung<br />
Moderne mechatronische Produkte bieten ein weites Spektrum an Funktionen für den<br />
Produktnutzer. Dies ist ein Gr<strong>und</strong>, weshalb mechatronische Produkte heute eine immer<br />
größer werdende Bedeutung erlangen. Zusätzlich erlaubt die Mechatronik die Verbesserung<br />
bisheriger Technologien. Ein Beispiel hierfür sind stufenlos verstellbare Getriebe<br />
(Continuously Variable Transmission, CVT). Die ersten Getriebe dieser Bauart wiesen<br />
weitgehend mechanische <strong>und</strong> hydraulische Strukturen auf [1]. Moderne CVT [2] verfügen
über eine elektronische Steuerung, die die Leistungsfähigkeit des Getriebes zu steigern<br />
vermag, aber auch zu Unzuverlässigkeiten führen kann.<br />
Zusätzlich zu der Steigerung von Funktionalität <strong>und</strong> Bedienkomfort ist die<br />
Produktzuverlässigkeit heutzutage ein wichtiger Faktor für den wirtschaftlichen Erfolg eines<br />
Produkts [3]. Die momentanen Probleme, die durch den kombinierten Einsatz von Mechanik<br />
sowie Soft- <strong>und</strong> Hardware entstehen, zeigen, dass es im Bereich der Zuverlässigkeit<br />
mechatronischer Produkte noch Nachholbedarf gibt. Verschärft wird dieser Umstand<br />
dadurch, dass die Produktlebenszyklen stark gesunken sind <strong>und</strong> unentdeckte Fehler in<br />
frühen Entwicklungsphasen gravierende Auswirkungen auf den weiteren Verlauf der<br />
Entwicklung haben können.<br />
Häufig stehen in frühen Entwicklungsphasen mehrere Lösungsvarianten für ein<br />
Gesamtsystem zur Auswahl. Es wird eine methodische Vorgehensweise vorgestellt, welche<br />
den Vergleich von Lösungsvarianten hinsichtlich ihrer Zuverlässigkeit in frühen<br />
Entwicklungsphasen ermöglicht. Die Vorgehensweise zielt auf softwareintensive<br />
mechatronische Produkte <strong>und</strong> bezieht die Domänen Mechanik, Hardware <strong>und</strong> Software ein,<br />
um eine ganzheitliche Zuverlässigkeitsbetrachtung zu erreichen.<br />
Ein Problem bei der Bewertung der Zuverlässigkeit mechatronischer Systeme ist, dass<br />
Modelle für die Bewertung der Softwarezuverlässigkeit erst anhand von umfangreichen<br />
bereits durchgeführten Entwicklungsprojekten oder anhand von Daten aus dem Test der<br />
bereits entwickelten Software kalibriert werden müssen. Ersteres ist nur selten vorhanden,<br />
letzteres ist in frühen Entwicklungsphasen sicherlich nicht gegeben. Die Idee ist, für die<br />
Software ein Modell zu verwenden, welches einen unbekannten Parameter (im Folgenden<br />
meist als α bezeichnet) aufweist. Gr<strong>und</strong>sätzlich ist dieses Vorgehen, das heißt die Annahme<br />
eines unbekannten Parameters, nicht auf die Software beschränkt. Da jedoch die größten<br />
Probleme bei der Bewertung der Softwarezuverlässigkeit auftreten, ist es sinnvoll, diese<br />
Annahme dort zu verwenden. In der Regel ist für das Gesamtsystem ein zu erreichendes<br />
Zuverlässigkeitsziel gegeben. Man kann nun eine Schranke α zul für den unbekannten<br />
Parameter α angeben, bei der das Ziel gerade noch erreicht wird. Diese Schranke kann als<br />
"Entwicklungsspielraum" interpretiert werden, wobei der Entwicklungsspielraum stets auf<br />
einen einzigen, noch unbekannten Parameter abgebildet werden muss. Die Kenntnis des<br />
Entwicklungsspielraums erlaubt den Vergleich von Lösungsvarianten für das mechatronische<br />
Gesamtsystem.
Der Artikel ist folgendermaßen aufgebaut. In Abschnitt 2 wird der Stand der Technik bei der<br />
Zuverlässigkeitsbewertung mechatronischer Systeme in frühen Phasen erläutert. Abschnitt 3<br />
führt den Ansatz ein <strong>und</strong> erläutert ihn mittels eines sehr einfachen Beispiels. Abschnitt 4<br />
diskutiert, wie man Software bestehend aus mehreren Komponenten im vorgestellten Ansatz<br />
verwenden kann. Dabei wird die sogenannte Defektdichte von Softwarekomponenten als<br />
Größe für die Zuverlässigkeit herangezogen. In Abschnitt 4 wird diskutiert, wie man diese<br />
Defektdichte bestimmen kann. Abschnitt 5 beinhaltet ein umfangreicheres Beispiel. Es<br />
werden Voraussetzungen <strong>und</strong> Annahmen für den Vergleich zwischen zwei Lösungsvarianten<br />
für ein PKW Automatikgetriebe skizziert. Eine Lösungsvariante ist ein CVT, die andere ist ein<br />
Stufenautomat. In Abschnitt 6 werden Ergebnisse des Vergleichs diskutiert. Eine<br />
Zusammenfassung findet sich in Abschnitt 7.<br />
2. Stand der Technik bei der Zuverlässigkeitsbewertung mechatronischer Systeme in<br />
frühen Phasen<br />
Ziel der Entwicklungsarbeit in frühen Entwicklungsphasen ist sowohl im rein mechanischen<br />
als auch im mechatronischen Ingenieurwesen die Festlegung einer weiter zu verfolgenden<br />
Lösungsvariante [4]. Die Auswahl der entsprechenden Lösungsvariante wird meist anhand<br />
verschiedener Kriterien durchgeführt. Eines dieser Kriterien ist die Zuverlässigkeit. Die<br />
Zuverlässigkeit ist ein Produktcharakteristikum, das in den drei Domänen Mechanik,<br />
Elektronik <strong>und</strong> Software jeweils verschiedenen Einflüssen unterliegt <strong>und</strong> dessen Berechnung<br />
auf gänzlich verschiedenen Datenquellen beruht.<br />
Im Vergleich zu rein mechanischen Strukturen wird der Auswahlprozess in frühen Phasen<br />
insbesondere bei mechatronischen Produkten durch den Umstand einer nicht exakt oder<br />
überhaupt nicht quantifizierbaren Zuverlässigkeit bestimmt. Dieser Umstand soll im<br />
Folgenden näher erläutert werden.<br />
In der Mechanik gibt es für viele Maschinenelemente Modelle, welche aus angegebenen<br />
Betriebsbedingungen <strong>und</strong> Bauteileigenschaften die Verteilung der Lebensdauer der<br />
Maschinenelemente liefern. Ein bekanntes Erklärungsmodell für den Einfluss von wirkender<br />
Belastung <strong>und</strong> Bauteileigenschaften (Geometrie <strong>und</strong> Werkstoff) auf die Zuverlässigkeit ist die<br />
so genannte stress-strength inference [5]. Im Falle der DIN 3990 [6] für die<br />
Zahnradlebensdauerberechnung, sind Modelle für die Beanspruchungsermittlung gegeben,<br />
die in Kombination mit so genannten Wöhlerlinien <strong>und</strong> zusätzlich evtl. dem<br />
Schadensakkumulationskonzept [7], [8] zu Lebensdauern führen.
Bei elektronischen Komponenten wird zur Beschreibung des Ausfallverhaltens oft eine<br />
Exponentialverteilung genutzt. Diese reicht meistens aus, um das Ausfallverhalten<br />
elektronischer Bauteile im Bereich der nutzbaren Lebensdauer zu modellieren, da im<br />
Gegensatz zu Mechanik hier kein Verschleiß vorliegt. Aufgr<strong>und</strong> der vergleichsweise starken<br />
Standardisierung sind Lebensdauerwerte für entsprechende Komponenten oft in<br />
Katalogwerken, wie z.B. dem Military Handbook [9], enthalten.<br />
Bei Software kann nicht von Ausfällen aufgr<strong>und</strong> physischer Gegebenheiten, wie z.B. dem<br />
Bruch eines Zahnrads, gesprochen werden. Softwareausfälle entstehen durch die<br />
Auswirkung eines während der Tests nicht aufgef<strong>und</strong>enen Programmierfehlers [10]. Dazu<br />
kommen noch Fehler, welche bereits in frühen Phasen begangen wurden, beispielsweise die<br />
fehlerhafte oder nicht erfolgte Umsetzung bestimmter Anforderungen oder Fehler in den<br />
Anforderungen selbst. In der Literatur sind etliche Modelle bekannt, die mittels verschiedener<br />
Softwaremaße, wie z.B. der Anzahl der Codezeilen, die Softwarezuverlässigkeit<br />
beschreiben, aber weder einheitlich noch verallgemeinerbar sind. Dieser Umstand wird in<br />
eindrucksvoller Weise in [11] dargestellt. Die in der Literatur vorgeschlagenen Modelle sind<br />
häufig Regressionsmodelle, deren Parameter mithilfe eines Datensatzes geschätzt werden.<br />
Die teilweise großen Unterschiede zwischen den in der Literatur aufgeführten Modellen<br />
legen den Schluss nahe, dass keine allgemein gültigen Lebensdauer- oder<br />
Zuverlässigkeitsmodelle für Software existieren, sondern bestenfalls fallspezifische Modelle.<br />
Dies führt zu dem Problem, dass es selbst in späten Entwicklungsphasen äußerst schwierig<br />
ist, eine quantitative Zuverlässigkeitsaussage über ein softwareintensives mechatronisches<br />
Produkt zu tätigen. Ferner sind die meisten der oben genannten Datensätze nicht öffentlich<br />
verfügbar, da sie auf proprietären Entwicklungen basieren. Im Gegensatz dazu sind im<br />
Bereich der Open-Source Softwareentwicklung oft Fehlerberichte öffentlich zugänglich, die<br />
zur Analyse der Softwarezuverlässigkeit verwendet werden können [12]. Entwicklungen im<br />
Bereich der Mechatronik sind aber in der Regel nicht Open-Source.<br />
Diese Tatsache trägt dazu bei, dass nicht gewährleistet werden kann, dass das quantitative<br />
Zuverlässigkeitsziel systematisch erreicht wird. Ebenso wenig wird verhindert, dass in frühen<br />
Phasen eine Lösungsvariante ausgewählt wird, bei der die Erreichung des gesteckten<br />
Zuverlässigkeitsziels schwieriger ist bzw. mehr Aufwand erfordert oder unmöglich ist.<br />
Dementsprechend wird eine methodische Vorgehensweise benötigt, um die Auswahl von<br />
Lösungsvarianten zu unterstützen. Damit soll vermieden werden, dass aufgr<strong>und</strong> der Auswahl<br />
einer unterlegenen Variante entweder zusätzliche Kosten für die Nachbesserung anfallen
oder dass ein unausgereiftes Produkt mit mangelhafter Zuverlässigkeit zum K<strong>und</strong>en gelangt.<br />
Beides führt direkt oder indirekt über Garantie- <strong>und</strong> Kulanzkosten sowie Imageschäden zu<br />
wirtschaftlichen Einbußen. An diesem Punkt setzt die vorgestellte Vorgehensweise an.<br />
3. Ein Ansatz zur Entscheidungsunterstützung bei der Auswahl einer Lösungsvariante<br />
Ansatzpunkt ist der Umstand, dass es für die Softwarezuverlässigkeit kein einheitlich<br />
anwendbares Modell gibt. Vielmehr existieren verschiedene Modelle für jeweilige<br />
Einsatzbereiche, wie es unter anderem durch [13], [14] bestätigt wurde. Dementsprechend<br />
ist es für Firmen nur möglich, die Softwarezuverlässigkeit zu bestimmen, wenn hierfür<br />
spezifische dokumentierte Ausfallldaten vorhanden sind. Diese liegen entweder nicht vor<br />
oder sind sehr schwer übertragbar, sodass die Zuverlässigkeit einer bestimmten<br />
Lösungsvariante in frühen Phasen nicht quantifiziert werden kann. Ferner sind in frühen<br />
Entwicklungsphasen mechatronischer Produkte die Eingangsdaten für die Berechnung der<br />
Zuverlässigkeit von Mechanik <strong>und</strong> Elektronik meist nicht genau bekannt.<br />
3.1. Bestimmung des Spielraums zur Erreichung eines Zuverlässigkeitszieles<br />
Trotz der Ungenauigkeiten der Eingangsdaten <strong>und</strong> trotz eines fehlenden allgemeinen<br />
Softwarezuverlässigkeitsmodells besteht die Möglichkeit, eine Bewertung einzelner Systeme<br />
relativ zueinander vorzunehmen (Bild 1). Das Ziel ist dann nicht mehr die Ermittlung der<br />
Zuverlässigkeit, sondern der Vergleich verschiedener Lösungsvarianten. Als<br />
Vergleichskriterium dient der Spielraum zur Erreichung eines vorgegebenen<br />
Zuverlässigkeitszieles (Entwicklungsspielraum).<br />
Lösungsvariante A Lösungsvariante B Lösungsvariante C<br />
Entwicklungsspielraum<br />
Lösungsvariante B<br />
Lösungsvariante A<br />
Bild 1: Auswahl einer Lösungsvariante aufgr<strong>und</strong> des zur Verfügung stehenden<br />
Entwicklungsspielraums
Dieses Vorgehen wird im Folgenden geschildert. Dabei wird davon ausgegangen, dass für<br />
die Entwicklung ein bestimmter Aufwand eingeplant ist sowie die geforderten Funktionen<br />
bekannt sind. Aufwand <strong>und</strong> Funktionalität sind für alle Lösungsvarianten identisch. Zu<br />
bestimmen ist nun die Lösungsvariante, welche den größten Entwicklungsspielraum im<br />
Hinblick auf das Erreichen eines vordefinierten Zuverlässigkeitsziels bietet.<br />
3.2. Komponentenorientierte Modellierung der Zuverlässigkeit<br />
Gegenstand der Betrachtung ist das gesamte mechatronische System. Dieses besteht aus<br />
real vorhandenen Mechanik- <strong>und</strong> Elektronikbauteilen sowie der Informationsverarbeitung,<br />
welche keine direkte physische Repräsentation hat. Aufgr<strong>und</strong> der physischen Abgrenzbarkeit<br />
von Mechanik- <strong>und</strong> Elektronikbausteinen hat sich für diese Domänen eine<br />
komponentenorientierte Zuverlässigkeitsmodellierung etabliert. Hierbei repräsentieren die<br />
Komponenten eine oder mehrere Ausfallursachen, deren Ausfallverhalten in der Regel durch<br />
Verteilungen beschrieben wird.<br />
Ähnlich wie in der Mechanik lassen sich auch Softwaresysteme in Komponenten zerlegen.<br />
Nach [15] handelt es sich bei einer Komponente um eine abgeschlossene funktionale<br />
Einheit. Jede dieser Einheiten interagiert mit ihrer Umgebung über wohldefinierte<br />
Schnittstellen <strong>und</strong> stellt so ihre Funktionen nach außen hin bereit. Allerdings bestehen bei<br />
der Entwicklung von Softwarekomponenten andere Randbedingungen, als sie in der<br />
Mechanik vorzufinden sind. Zwar gibt es bei eingebetteten Systemen auch hier physische<br />
Beschränkungen, z.B. durch den zur Verfügung stehenden Speicher oder Anforderungen an<br />
die Ausführungsgeschwindigkeit; die Aufteilung von Funktionen auf Komponenten kann<br />
jedoch beinahe beliebig erfolgen.<br />
Während in der Mechanik der Zusammenhang zwischen dem Auftreten einer Fehlerart <strong>und</strong><br />
der Auswirkung auf das Gesamtsystem fast immer bekannt ist, lässt sich dieser<br />
Zusammenhang bei Software <strong>und</strong> auch bei speziell für die Informationsverarbeitung<br />
entwickelter Hardware nicht immer einfach ermitteln. Zum einen können fehlertolerante<br />
Strukturen die Auswirkung eines Fehlers verhindern oder Fehler vermeiden. Zum anderen<br />
können Wechselwirkungen auftreten, z.B., dass eine Softwarekomponente die Ausführung<br />
aller anderen blockiert, obwohl keine direkte funktionale Abhängigkeit zwischen diesen<br />
besteht. Aus diesem Gr<strong>und</strong> wird ein geeignetes Modell für das Auftreten von Fehlern in der<br />
Software sowie deren Auswirkung auf andere Komponenten benötigt. Im Folgenden wird die<br />
Annahme zu Gr<strong>und</strong>e gelegt, dass der Ausfall einer Softwarekomponente bewirkt, dass all<br />
ihre Ausgangssignale falsche Werte aufweisen <strong>und</strong> diese auch an alle anderen
Komponenten weitergeleitet werden, sofern diese miteinander verb<strong>und</strong>en sind. Diese<br />
Annahme ist sehr pessimistisch, da in der Realität eine Softwarekomponente beim Auftreten<br />
eines Fehlers nicht unbedingt ihre Gesamtfunktionalität verliert. Dies stellt aber für einen<br />
relativen Vergleich von Lösungsvarianten eine zulässige Einschränkung dar, wenn man<br />
davon ausgeht, dass sich diese Annahme auf alle Komponenten gleichermaßen auswirkt.<br />
Trifft dies auf ein zu betrachtendes System nicht zu, so muss mit einem detaillierteren<br />
Fehlermodell gearbeitet werden.<br />
Ein mechatronisches System besteht aus Mechanik-, Elektronik- <strong>und</strong> Softwarekomponenten.<br />
Diesem System wird eine Zielzuverlässigkeit vorgegeben, z.B. in Form einer<br />
Systemausfallrate oder eines Lebensdauerquantils (B 10 -Lebensdauer). Bei der<br />
Zuverlässigkeitsmodellierung werden den Ausfallarten der Systemkomponenten<br />
Wahrscheinlichkeitsverteilungen zugeordnet, woraus sich die Systemlebensdauer berechnen<br />
ließe. Die hierfür notwendige Wahrscheinlichkeitsverteilung für den Ausfall einer<br />
Softwarekomponente ist in frühen Phasen selten oder gar nicht vorhanden. Nimmt man an,<br />
dass die Zuverlässigkeit der Software mittels einer Exponentialverteilung beschrieben<br />
werden kann, so ist es möglich, eine Schranke für die Ausfallrate der Software anzugeben,<br />
bei deren Unterschreiten das Zuverlässigkeitsziel erreicht wird. Es geht also nicht mehr<br />
darum, aus bekannten Komponentenzuverlässigkeiten eine Systemzuverlässigkeit zu<br />
ermitteln. Vielmehr sollen ausgehend vom Gesamtzuverlässigkeitsziel Rückschlüsse auf die<br />
benötigte Zuverlässigkeit bestimmter - in diesem Fall softwaretechnischer - Komponenten<br />
gezogen werden, sodass das Gesamtzuverlässigkeitsziel gerade noch erreicht wird. Das<br />
Resultat ist eine implizite Aussage über die Softwarezuverlässigkeit. Der folgende Abschnitt<br />
verdeutlicht das prinzipielle Vorgehen durch ein einfaches Beispiel.<br />
3.3. Prinzipielles Vorgehen anhand eines einfachen Beispiels<br />
Ein mechatronisches System, bestehend aus einem Getriebe <strong>und</strong> der entsprechenden<br />
Getriebesteuerung (Bild 2), soll betrachtet werden. Die Getriebesteuerung teilt sich auf in die<br />
entsprechende Elektronik (Leiterplatte, Chips, usw.) <strong>und</strong> die darauf ablaufende Software. Der<br />
Einfachheit halber sei angenommen, dass sowohl die Getriebemechanik, die Elektronik als<br />
auch die Software jeweils nur eine Ausfallart aufweisen. Dies soll beim Getriebe ein<br />
Wellenbruch sein, bei der Elektronik der Bruch einer Leiterbahn <strong>und</strong> bei der Software der<br />
Ausfall dieser durch das Auftreten einer beliebigen Ursache.<br />
Getriebemechanik Elektronik Software<br />
Bild 2: Zuverlässigkeitsblockschaltbild des Beispielsystems
Es wird angenommen, dass die Ausfallzeitpunkte der drei Ausfallarten unabhängig sind <strong>und</strong><br />
jeweils einer Exponentialverteilung mit den Ausfallraten λ Mechanik , λ Elektronik <strong>und</strong> λ Software folgen.<br />
Somit gilt, dass der Ausfallzeitpunkt des Systems ebenfalls einer Exponentialverteilung mit<br />
der Ausfallrate<br />
λ = λ + λ + λ<br />
(1)<br />
System<br />
Mechanik<br />
Elektronik<br />
Software<br />
folgt. Die Annahme konstanter Ausfallraten dient hier zur Vereinfachung dieses<br />
Einführungsbeispiels. In der Anwendung in Abschnitt 5 <strong>und</strong> 6 werden zeitabhängige<br />
Ausfallraten zugr<strong>und</strong>e gelegt.<br />
Angenommen als Ziel ist vorgegeben λ System ≤ λ Ziel , so muss, um das Ziel zu erreichen<br />
λ ≤ λ − λ − λ = : λ<br />
(2)<br />
Software<br />
System<br />
Mechanik<br />
Elektronik<br />
zulässig<br />
Software<br />
gelten, wobei λ zulässig Software denjenigen Wert der Ausfallrate der Software beschreibt, bei dem<br />
das Zuverlässigkeitsziel gerade noch erreicht wird <strong>und</strong> als zulässige Softwareausfallrate<br />
bezeichnet wird.<br />
Diese Berechnung wird für zwei zu vergleichende Lösungsvarianten A <strong>und</strong> B (Bild 3)<br />
durchgeführt. Das Ergebnis der Berechnung sind zwei zulässige Softwareausfallraten für die<br />
betrachteten Varianten, die miteinander verglichen werden können. Da Funktionalität <strong>und</strong><br />
Aufwand für beide Varianten als identisch vorausgesetzt werden, weist eine im Vergleich<br />
höhere zulässige Softwareausfallrate auf einen größeren Entwicklungsspielraum hin. Somit<br />
wäre die Variante mit der höheren zulässigen Softwareausfallrate auszuwählen.<br />
λ<br />
Getriebe-<br />
Getriebe-<br />
Elektronik A<br />
Software A<br />
Elektronik B<br />
Software B<br />
mechanik A<br />
mechanik B<br />
Lösungsvariante A<br />
Lösungsvariante B<br />
zulässig Software A<br />
= λSystem<br />
A<br />
− λMechanik<br />
A<br />
− λElektronik<br />
A<br />
λzulässig<br />
Software B<br />
= λSystem<br />
B<br />
− λMechanik<br />
B<br />
− λElektronik<br />
B<br />
λ zulässig Software A<br />
λ zulässig Software B<br />
Bild 3: Vergleich zweier Lösungsvarianten mittels der zulässigen Softwareausfallrate
Um die Berechnung hier zu vereinfachen, wurde vernachlässigt, dass in realen<br />
mechatronischen Systemen die Mechanik meist entsprechend einer Weibullverteilung<br />
ausfällt <strong>und</strong> in frühen Phasen gewisse, die Zuverlässigkeit der Komponenten beeinflussende,<br />
Größen nur ungenau, z.B. in Form von Verteilungen, gegeben sind.<br />
3.4. Betrachtung gemischter Strukturen<br />
Mechatronische Systeme zeichnen sich oft durch eine hohe funktionale Komplexität aus.<br />
Dies führt bei der Modellierung der entsprechenden Funktionszuverlässigkeiten zu<br />
gemischten Strukturen, die auch Red<strong>und</strong>anzen aufweisen können.<br />
Insbesondere sollte Software aber nicht, wie im obigen Beispiel, als monolithischer Block,<br />
sondern entsprechend der tatsächlich zu erwartenden Struktur in Form einzelner<br />
Komponenten betrachtet werden. Dies ist erforderlich, um die unterschiedliche Bedeutung<br />
von möglicherweise mehreren Produkt-Fehlfunktionen aus Sicht des K<strong>und</strong>en beschreiben zu<br />
können. Hierbei ist zu berücksichtigen, dass die Funktionsstruktur lediglich einen<br />
Anhaltspunkt für die spätere Gestaltung der Software vorgibt. Es sind aber viele weitere<br />
Gesichtspunkte für die Strukturierung vorhanden wie z.B. die Umgebung, in welcher die<br />
Software ablauffähig sein muss, oder nicht-funktionale Gesichtspunkte, wie z.B. die<br />
Wartbarkeit. In frühen Entwicklungsphasen können Softwarekomponenten identifiziert<br />
werden, welche die geforderten Funktionen grob abbilden. Weiter sind die gr<strong>und</strong>legenden<br />
Abhängigkeiten innerhalb der Software sowie zu anderen Komponenten des<br />
mechatronischen Systems bekannt. Dies ist die Voraussetzung für die Modellierung der<br />
Gesamtzuverlässigkeit. Der Nachteil beim Vorliegen mehrerer Softwarekomponenten ist<br />
jedoch, dass sich diese durch Aufbau, Komplexität, Nutzungsdaueranteil <strong>und</strong> somit<br />
schließlich auch in ihrer Ausfallrate unterscheiden.<br />
Zudem sollen ungenaue Informationen, wie in [16] gezeigt, mittels Verteilungen beschrieben<br />
werden. Dies setzt die Verwendung eines Verfahrens voraus, mit dem stochastisch verteilte<br />
Informationen kombiniert werden können. An dieser Stelle wird die Monte Carlo Methode<br />
genutzt, deren Funktionsweise in Abschnitt 6 genauer dargestellt wird. Bei mechatronischen<br />
Systemen ist es nicht realitätsnah, lediglich konstante Ausfallraten als<br />
Zuverlässigkeitsindikatoren zu nutzen, da damit verschleißbedingte Ausfälle mechanischer<br />
Komponenten nicht gut repräsentiert werden können. Mittels der Monte Carlo Methode<br />
können aber Verteilungen beliebiger Art kombiniert werden, was auch dieses Problem<br />
behebt.
Ferner können gemischte Strukturen mit mehreren Softwarekomponenten auftreten, wie es<br />
beispielhaft in Bild 4 gezeigt wird.<br />
Elektronik 1<br />
Software 1<br />
Mechanik 1<br />
Elektronik 2<br />
Software 2 Mechanik 2<br />
Elektronik 3<br />
Bild 4: Zuverlässigkeitsblockschaltbild einer gemischten Struktur mit mehreren<br />
Softwarekomponenten<br />
Wenn annahmegemäß jeder Komponente nur eine Ausfallart zugeordnet wird <strong>und</strong> diese<br />
unabhängig sind, so ergibt sich die Systemzuverlässigkeit R System für das Beispielsystem aus<br />
Bild 4 entsprechend der Zuverlässigkeiten der Mechatronikkomponenten aus Mechanik (R M1 ,<br />
R M2 ), Elektronik (R E1 , R E2 , R E3 ) <strong>und</strong> Software (R S1 , R S2 ) zu<br />
R<br />
System<br />
[ − ( 1−<br />
R R )( 1−<br />
R R )( − R )]<br />
= R<br />
. (3)<br />
M 1RM<br />
2<br />
1<br />
E1<br />
S1<br />
E 2 S 2<br />
1<br />
E3<br />
Um einen Wert für die Systemzuverlässigkeit ermitteln zu können, müssen die<br />
Einzelzuverlässigkeiten mathematisch beschrieben werden. Während für Mechanik <strong>und</strong><br />
Elektronik häufig geeignete Zuverlässigkeitsmodelle vorliegen, muss für<br />
Softwarekomponenten ein geeignetes Zuverlässigkeitsmodell ausgewählt werden. Hierbei ist<br />
die Unterschiedlichkeit der verschiedenen Softwarekomponenten im Hinblick auf die<br />
Zuverlässigkeit zu berücksichtigen. Zudem ist zu beachten, dass in frühen Phasen zwar<br />
entsprechende Größen bekannt sind, welche die Zuverlässigkeit beeinflussen (z.B.<br />
Komplexität), aber nicht deren exakter Einfluss, sodass keine vollständige<br />
Modellparametrisierung vorgenommen werden kann.<br />
4. Berücksichtigung mehrerer Softwarekomponenten<br />
Nach den Überlegungen im vorherigen Abschnitt werden folgende Annahmen über das<br />
Ausfallverhalten der einzelnen Softwarekomponenten gemacht. Die Ausfallzeitpunkte der<br />
Softwarekomponenten sind unabhängig <strong>und</strong> folgen je einer Exponentialverteilung. Die<br />
Ausfallrate der i-ten Softwarekomponente ist gegeben durch eine einfache Gleichung der<br />
Form<br />
λ i<br />
= α ⋅Einflussgröße i . (4)
Hierbei stellt der Faktor α einen gr<strong>und</strong>legenden Zusammenhang zwischen in frühen Phasen<br />
bestimmbaren Eigenschaften einer Softwarekomponente <strong>und</strong> deren Ausfallrate her. Es wird<br />
keinerlei Kenntnis über α vorausgesetzt. Die Variable Einflussgröße i steht für Eigenschaften<br />
der i-ten Komponente, welche man bereits in frühen Phasen durch eine<br />
Wahrscheinlichkeitsverteilung beschreiben kann.<br />
4.1. Defektdichte als Maß für die Softwarezuverlässigkeit<br />
Die Defektdichte stellt das Verhältnis zwischen der Anzahl der Fehler <strong>und</strong> der Größe des<br />
untersuchten Objekts dar. Sie ist ein wichtiges Maß für die Softwarezuverlässigkeit [17] <strong>und</strong><br />
bietet sich daher als geeignete Einflussgröße für Gleichung (4) an. Nach [18] ist die<br />
Defektdichte aussagekräftiger als die absolute Zahl der Fehler, wobei die Größe eines<br />
Softwareprodukts durch die Zahl der Quellcodezeilen beschrieben werden kann.<br />
In der Praxis auftretende Defektdichten sind beispielsweise nach [19] Werte zwischen<br />
ungefähr 0,1 <strong>und</strong> 9 Fehler pro tausend Zeilen Quellcode (KLOC). In [20] wird ein<br />
Fehler/KLOC als eine typische Zielgröße für die Softwareentwicklung genannt. Ein weiteres<br />
Beispiel mit Bezug zum Automobilbereich ist das Betriebssystem OSEKturbo, für welches<br />
laut Herstellerangaben Werte bis zu 0,07 Fehler/KLOC erreicht werden [21].<br />
4.2. Abschätzung der Defektdichte anhand verfügbarer Informationen in frühen<br />
Phasen<br />
In [11] wird vorgeschlagen, die Defektdichte mithilfe von Bayesian Belief Nets (BBN) in<br />
Abhängigkeit der Einflussgrößen Komplexität des umzusetzenden Problems sowie<br />
Programmier- <strong>und</strong> Testaufwand zu bestimmen. Meist liegt in den Unternehmen<br />
<strong>und</strong>okumentiertes Wissen in Form von subjektiven Entscheidungsabläufen vor, die u.a. auf<br />
langjährigem Erfahrungswissen basieren. Dieses Wissen kann mittels eines BBN formalisiert<br />
werden. Dabei handelt es sich um ein Netz aus Knoten <strong>und</strong> Kanten, in dem jeder Knoten<br />
eine bestimmte Variable repräsentiert, welche entweder einen diskreten oder einen<br />
kontinuierlichen Wertebereich aufweist. Abhängigkeiten zwischen Variablen können mittels<br />
gerichteter Kanten zwischen den Knoten dargestellt werden. Der Wert eines Knotens folgt<br />
einer Wahrscheinlichkeitsverteilung, die bedingt auf die Werte seiner Vorgänger gegeben ist.<br />
Konkret wird in [11] ein prototypisches BBN vorgestellt, welches sich als Beispiel für die<br />
Abschätzung der Defektdichte sehr gut eignet <strong>und</strong> hier etwas verkürzt dargestellt ist (Bild 5).
Komplexität<br />
des Problems<br />
Entwicklungsaufwand<br />
Größe des<br />
Quellcodes<br />
Vorhandene<br />
Defekte<br />
Testaufwand<br />
Gef<strong>und</strong>ene<br />
Defekte<br />
Verbleibende<br />
Defekte<br />
Defektdichte<br />
Bild 5: Beispiel für ein Bayesian Belief Net zur Ermittlung der Defektdichte nach [11]<br />
In diesem Beispiel haben die in frühen Phasen abschätzbaren Einflussfaktoren wie<br />
Problemkomplexität, Entwicklungs- <strong>und</strong> Testaufwand, Größe des Quellcodes usw.<br />
Auswirkungen auf die Defektdichte. Dieses einfache Beispiel kann nun beliebig verfeinert<br />
<strong>und</strong> an die spezifischen Bedürfnisse einer Firma angepasst werden. Im gezeigten Beispiel<br />
wurde den meisten Knoten ein diskreter Wertebereich zugewiesen, z.B. kann die<br />
Komplexität des Problems zwischen „sehr niedrig“ <strong>und</strong> „sehr hoch“ liegen. Der Einfluss eines<br />
Knotens auf einen anderen über die gerichteten Kanten wird in Form von Tabellen<br />
angegeben. Die Werte in diesen Tabellen basieren auf dem Expertenwissen der jeweiligen<br />
Anwender. Ebenso können weitere Einflussfaktoren <strong>und</strong> deren Abhängigkeiten<br />
berücksichtigt werden, was eine firmenspezifische Ausprägung der Modellierung erlaubt.<br />
Aus Bild 5 wird ersichtlich, dass sich alle modellierten Einflussfaktoren auf eine Zielgröße<br />
fokussieren. In [11] werden mehrdimensionale Ansätze kritisch beleuchtet, da bereits ab<br />
wenigen Einflussfaktoren das Modell eine ausreichende Korrelation zum realen Verhalten<br />
aufweist <strong>und</strong> jede zusätzliche Dimension eine immer geringere Verbesserung der Korrelation<br />
bewirkt [22]. Weiter wird in [23] darauf hingewiesen, dass eine einzelne Maßzahl mehrere<br />
Einflussfaktoren abbilden kann. Dementsprechend kann man viele der in frühen Phasen<br />
vorhandenen Informationen über Softwarekomponenten in ihrer Auswirkung auf die<br />
Defektdichte modellieren, was zu Informationen über die Defektdichten der einzelnen<br />
Softwarekomponenten führt.
4.3. Modellierung weiterer Einflussfaktoren auf die Softwarezuverlässigkeit<br />
Eine direkte Berechnung der Systemzuverlässigkeit ist auf dieser Basis aber noch nicht<br />
möglich, da im Falle von Gleichung (4) der Modellparameter α unbekannt ist. Zusätzlich<br />
muss berücksichtigt werden, dass es neben der Defektdichte auch noch Einflussfaktoren<br />
gibt, die sich erst beim Einsatz einer Komponente auf die Zuverlässigkeit auswirken können.<br />
So spielt beispielsweise die unterschiedliche Nutzungsintensität von Softwarekomponenten -<br />
in diesem Zusammenhang wird oft der Begriff operational profile genutzt - eine Rolle.<br />
Eine notwendige Bedingung für das Auftreten eines Softwarefehlers ist, dass die fehlerhafte<br />
Stelle ausgeführt wird. Somit weist eine Komponente, die nur während 10 % der<br />
Systembetriebszeit genutzt wird, ein viel geringeres Ausfallrisiko auf, als wenn sie permanent<br />
betrieben wird. Um diesen Umstand zu berücksichtigen, wird das Modell aus Gleichung (4)<br />
zu einem verfeinerten Modell der Form<br />
λ i<br />
= α ⋅ Einflussgröße i ⋅ opi<br />
. (5)<br />
Der Faktor op i wird hierbei wiederum aus Erfahrungswissen bestimmt. Aufgr<strong>und</strong> der schon<br />
mehrfach beschriebenen Datenungenauigkeiten in frühen Entwicklungsphasen sind auch die<br />
Defektdichte <strong>und</strong> der Faktor op i eventuell davon beeinflusst. Auf Basis des bisher Gezeigten<br />
ist es also möglich, fast allen Größen für die Bestimmung der Systemzuverlässigkeit einen<br />
quantitativen Wert zuzuordnen. Diese Werte können deterministisch sein oder durch eine<br />
Verteilung beschrieben werden. Lediglich der Faktor α ist noch unbekannt, da man ihn nicht<br />
direkt aus Entwicklungsdaten heraus bestimmen kann.<br />
Somit stellt der Faktor α bei der Bestimmung der Zuverlässigkeit der verschiedenen<br />
Lösungsvarianten den letzten verbleibenden Freiheitsgrad dar. Dies erlaubt es, diesen<br />
Faktor als Vergleichsmaßstab für den Entwicklungsspielraum zu nutzen. Zu berücksichtigen<br />
ist hierbei die Voraussetzung, dass der Faktor α für alle Softwarekomponenten als konstant<br />
angenommen wird. Dies ist zulässig, da zunächst davon ausgegangen wird, dass sich alle<br />
Softwarekomponenten bei Auftreten eines Fehlers gleich verhalten, wie oben bereits<br />
beschrieben wurde. Falls dies nicht ausreichend ist, können – wie bereits für den Faktor op<br />
dargestellt – weitere komponentenspezifische Einflussfaktoren im Modell berücksichtigt<br />
werden. Der Ansatz lässt sich aber nicht ohne weiteres auf ein mehrdimensionales α<br />
erweitern.<br />
5. Anwendungsbeispiel<br />
Die zuverlässigkeitstechnische Bewertung mechatronischer Systeme in frühen<br />
Entwicklungsphasen soll anhand eines Beispiels dargelegt werden. Zu bewerten sind zwei
mögliche Lösungen für die Konstruktion eines PKW-Automatikgetriebes mit drei Gangstufen.<br />
Für beide Varianten sind die funktionalen Anforderungen <strong>und</strong> der zulässige<br />
Entwicklungsaufwand als identisch anzusehen. Als Zuverlässigkeitsziel wird eine bestimmte<br />
Lebensdauer vorgegeben, welche mindestens einzuhalten ist.<br />
5.1. Mögliche Lösungsvarianten<br />
Die in der Konzeptphase erarbeiteten Lösungsvorschläge sind in Bild 6 dargestellt. Es<br />
handelt sich zum einen um ein CVT mit einem Wandler als Anfahrelement. Mittels der<br />
Getriebesteuerung können die geforderten drei festen Übersetzungen dargestellt werden.<br />
Das Alternativkonzept ist ein 3-Gang-Stufenautomat, ebenfalls mit Wandleranfahrelement<br />
<strong>und</strong> mit Lamellenkupplungen.<br />
Bild 6: Die zu vergleichenden Konzepte CVT (links) <strong>und</strong> Stufenautomat (rechts)<br />
Das Getriebeeingangsmoment kann aufgr<strong>und</strong> noch existierender Planungsunsicherheiten<br />
lediglich in Form einer Gleichverteilung angegeben werden <strong>und</strong> wäre für beide Konzepte<br />
identisch. Die Gangstufen der beiden Getriebe sollen die Übersetzungen 2,9 (1. Gang), 2,0<br />
(2. Gang) <strong>und</strong> 1 (3. Gang) liefern. Die Laufzeitanteile des Wandlers sowie der drei Gänge<br />
gemessen in Umdrehungen der Getriebeeingangswelle werden als bekannt vorausgesetzt.<br />
Es wird ferner davon ausgegangen, dass das Getriebeeingangsmoment durchschnittlich<br />
konstant ist.
Zunächst muss für die Konzepte die mechanische Struktur zuverlässigkeitstechnisch<br />
analysiert werden. Es ergeben sich hierbei für das CVT die kritischen Komponenten<br />
• Axiallager im Wandler,<br />
• Ölpumpe,<br />
• Lauffläche des oberen Kegelscheibensatzes <strong>und</strong><br />
• die Lauffläche des unteren Kegelscheibensatzes.<br />
Bei dem Stufenautomaten wird der identische Wandler <strong>und</strong> somit auch dasselbe Axiallager<br />
verbaut, was bei annahmegemäß identischer Belastung zu gleichem Ausfallverhalten führen<br />
wird. Die Ölpumpe im CVT ist baugleich mit der im Automaten, wird aber im Automaten<br />
weniger stark belastet. Das Hauptunterscheidungsmerkmal zwischen CVT <strong>und</strong> Automat sind<br />
die Stufensätze des Automaten, die je nach Gang zu den Ausfallarten Zahnbruch <strong>und</strong><br />
Grübchen führen können.<br />
Im Rahmen einer quantitativen Zuverlässigkeitsanalyse müssen die verschiedenen<br />
Ausfallarten quantitativ beschrieben werden. Insbesondere in frühen Entwicklungsphasen ist<br />
dies jedoch nur eingeschränkt möglich. Manche der Parameter, welche die Verteilung der<br />
Ausfallarten beschreiben, sind nur näherungsweise bekannt. Diese Unsicherheit kann<br />
dadurch berücksichtigt werden, dass den unsicheren Parametern statt eines festen<br />
Zahlenwertes eine Wahrscheinlichkeitsverteilung zugeordnet wird. Die folgende<br />
Datenbeschreibung spiegelt dies wider.<br />
Bekannte Größen in frühen Phasen<br />
Bei dem Wandler-Axiallager wird von Weibull verteiltem Ausfallverhalten ausgegangen.<br />
Aufgr<strong>und</strong> von Vorgängerinformationen wird eine bestimmte B 10 -Lebensdauer angenommen.<br />
Diese könnte z.B. 800 Mio. Umdrehungen (bei dieser Umdrehungsanzahl sind 10 % der<br />
Bauteile ausgefallen) bei einem Eingangsdrehmoment der Eingangswelle von 130 Nm<br />
betragen. Basierend auf Literaturangaben wird ein Weibullformparameter von b = 1,1<br />
gewählt.<br />
Für die Ölpumpe wird entsprechend der nicht von Ungenauigkeiten beeinflussten<br />
Verteilungsparameter t 0 , b <strong>und</strong> B 10 ein dreiparametriges Weibull-Ausfallverhalten<br />
angenommen. Dabei gibt t 0 die ausfallfreie Zeit an.<br />
Bei den Laufflächen der Kegelscheibensätze ist festzustellen, dass der obere motornahe<br />
Scheibensatz aufgr<strong>und</strong> der geringeren Anpressradien höhere flächenspezifische
Anpressungen auf die Kette aufzubringen hat, als der untere Satz, was zu einem früheren<br />
Ausfall des oberen Satzes führt.<br />
Da die Scheibensätze ein vergleichsweise neues Produkt sind, bestehen über das<br />
Ausfallverhalten in einer frühen Entwicklungsphase auch noch gewisse Datenunsicherheiten.<br />
So sind für die Scheibensätze Vorversuche durchgeführt worden. Zum Beispiel erhält man<br />
B 50 -Werte für die einzelnen Gänge in Höhe von 300 Mio. Umdrehungen für den 1. Gang <strong>und</strong><br />
360 Mio. Umdrehungen für den 2. Gang. Im 3 Gang traten in den Vorversuchen keine<br />
Ausfälle auf. Daher wird das Ausfallverhaltens des 3. Ganges mithilfe von Überlegungen<br />
basierend auf Wöhlerlinien <strong>und</strong> einer Spannungsanalyse abgeschätzt.<br />
Für die Formparameter der einzelnen Gänge können aufgr<strong>und</strong> der geringen<br />
Versuchsumfänge keine sicheren Werte angegeben werden. Zur Beschreibung dieser<br />
Unsicherheiten wird ebenfalls wieder eine Gleichverteilung herangezogen.<br />
Beim Stufenautomatikgetriebe wird dieselbe Ölpumpe, wie beim CVT eingesetzt, nur wird<br />
diese weniger stark belastet. Die entsprechenden angepassten Verteilungsparameter t 0 , b<br />
<strong>und</strong> B 10 sind nicht exakt bekannt <strong>und</strong> werden durch Verteilungen beschrieben, weil die<br />
vergleichsweise geringere Belastung in ihrer Auswirkung auf die Lebensdauerverteilung<br />
bisher nicht genauer berechnet werden konnte.<br />
Da es sich bei den im Stufenautomaten verwendeten Zahnrädern um Bauteile handelt, die<br />
schon sehr lange im Hinblick auf die Lebensdauerermittlung untersucht werden, kann man<br />
sich für die Ausfallartbeschreibung auf etablierte Vorgehensweisen, wie z.B. die DIN 3990 [6]<br />
stützen. Es ist ein einzuhaltender Achsabstand angegeben <strong>und</strong> es liegt auch eine<br />
Bauraumrestriktion in Achsrichtung vor. Mit diesen Informationen erfolgt eine<br />
Vordimensionierung, deren Ergebnisse von Ungenauigkeiten geprägt sind, welche in die<br />
weitere Berechnung mit einfließen.<br />
5.2. Aufbau der Steuerung der beiden Getriebe<br />
Als Beispiel für die Steuerung des CVT wurde eine vereinfachte Architektur basierend auf [2]<br />
verwendet (Bild 7). Diese wird nachfolgend aus der Sicht des Kenntnisstands in frühen<br />
Phasen <strong>und</strong> mit Hinblick auf die Zuverlässigkeitsbetrachtung beschrieben. Für das Beispiel<br />
des Stufenautomaten wird auf entsprechende Änderungen der Steuerung im Vergleich zum<br />
CVT hingewiesen.
Sollübersetzung<br />
Fahrstrategie<br />
Automatisch<br />
Manuell<br />
Gaspedal, Kickdown<br />
Schalthebel (+/-)<br />
Fahrprogramm<br />
Geschwindigkeit<br />
Variatorregelung<br />
Ansteuerung<br />
Wandler-Überbrückungskupplung<br />
Primär-,<br />
Sek<strong>und</strong>ärdrehzahl<br />
Gas-, Bremspedal<br />
Signalverarbeitung<br />
Betriebssystem<br />
Steuergerät<br />
Bild 7: Steuergerät mit Softwarekomponenten <strong>und</strong> relevanten Ein- <strong>und</strong> Ausgangssignalen<br />
Steuergerät<br />
Das Steuergerät soll aus einem Mikrocontroller sowie der entsprechenden Software<br />
bestehen. Es wird angenommen, dass auf dem Controller Speicher sowie Schnittstellen für<br />
Feldbusse (z.B. CAN) <strong>und</strong> andere Ein- <strong>und</strong> Ausgangssignale untergebracht sind. Sensoren<br />
zur Erfassung von Signalen (z.B. Drehzahlsensor) <strong>und</strong> Aktoren zur Beeinflussung der<br />
eigentlichen physikalischen Prozessgrößen sollen der Einfachheit halber nicht betrachtet<br />
werden. Sie können aber als weitere Komponenten in das Modell eingefügt werden, wenn<br />
dieser Detaillierungsgrad erforderlich sein sollte. Die Software zur Getriebesteuerung soll die<br />
Komponenten Betriebssystem, Signalverarbeitung <strong>und</strong> Fahrstrategie (Automatisch/Manuell)<br />
sowie die Regelung der Hydraulik zur Einstellung des Getriebes (Variatorregelung) <strong>und</strong> die<br />
Ansteuerung der Wandler-Überbrückungskupplung enthalten. Die genannten Komponenten<br />
werden im Folgenden kurz vorgestellt.<br />
Betriebssystem<br />
Auf dem Steuergerät stellt ein Betriebssystem gr<strong>und</strong>legende Basisdienste zur Verfügung.<br />
Für den Automobilbereich kommt dabei ein Betriebssystem nach OSEK/VDX in Frage [24].<br />
Bei OSEK (Offene Systeme <strong>und</strong> deren Schnittstellen für die Elektronik im Kraftfahrzeug)<br />
handelt es sich um eine offene Architektur, welche unter anderem auch ein
Echtzeitbetriebssystem umfasst. Aufgabe des Betriebssystems ist die Bereitstellung von<br />
Diensten für andere Komponenten, wie etwa das Aktivieren <strong>und</strong> Beenden verschiedener<br />
Tasks. Fällt das Betriebssystem aus, so stehen diese Basisdienste nicht mehr zur Verfügung<br />
<strong>und</strong> das gesamte Getriebe funktioniert nicht mehr wie erwartet.<br />
Umwelterkennung / Signalverarbeitung<br />
Hier werden die erfassten Signale aufbereitet <strong>und</strong> den anderen Komponenten als Eingabe<br />
zur Verfügung gestellt. Manche Signale wie z.B. die Aktivität des Fahrers werden dabei erst<br />
aus mehreren Sensorwerten durch die Umwelterkennung berechnet. Da diese Komponente<br />
in dem gezeigten Beispiel nicht weiter verfeinert wird, wird angenommen, dass das Getriebe<br />
nicht mehr ordnungsgemäß funktioniert, sobald ein Fehler auftritt <strong>und</strong> damit falsche Signale<br />
ausgegeben werden. Eine mögliche Verfeinerung wären Fehlertoleranzmaßnahmen wie z.B.<br />
die Einführung einer Plausibilitätsprüfung.<br />
Fahrstrategie<br />
Durch die Fahrstrategie wird die optimale Übersetzung für den aktuellen Fahrzustand<br />
bestimmt. Der Fahrer kann wählen, ob er manuell schalten möchte oder ob der<br />
Schaltvorgang automatisch gesteuert werden soll. Beim CVT müssen im manuellen<br />
Fahrbetrieb feste virtuelle Übersetzungen vorgegeben werden, zwischen denen gewählt<br />
werden kann. Da sowohl manuelles wie auch automatisches Schalten die Funktionalität des<br />
Getriebes gewährleisten, wird angenommen, dass beide Komponenten ausfallen müssen,<br />
damit auch das Gesamtsystem Getriebe ausfällt.<br />
Variatorregelung<br />
Diese Komponente ist für die Regelung des Drucks verantwortlich, mit dem das<br />
Schubgliederband an den Variator angepresst wird. Je nach geforderter Übersetzung wird<br />
die Verstellung des Variators so durchgeführt, dass ein Durchrutschen des Bands stets<br />
vermieden wird. Ein Ausfall dieser Komponente ist als extrem kritisch einzustufen, da<br />
dadurch das Getriebe nachhaltig beschädigt werden kann. Weiter entfällt diese Komponente<br />
beim Stufenautomaten, da hier kein Schubgliederband vorhanden ist, sondern<br />
Zahnradstufen eingesetzt werden. Die Hydraulik muss lediglich so angesteuert werden, dass<br />
der korrekte, fest vorgegebene Gang eingelegt wird.<br />
Ansteuerung der Wandler-Überbrückungskupplung<br />
Der Wandler ermöglicht das Anfahren <strong>und</strong> Anhalten des Fahrzeugs. Bei höheren<br />
Geschwindigkeiten soll die Wandler-Überbrückungskupplung geschlossen werden, um so
den Verlust durch Wärme möglichst gering zu halten. Es wird angenommen, dass diese<br />
Komponente sowohl für das CVT als auch für den Stufenautomaten identisch ist. Fällt die<br />
Überbrückungskupplung aus, so wird davon ausgegangen, dass damit die Funktion des<br />
gesamten Getriebes stark beeinträchtigt wird.<br />
Zuverlässigkeitsblockschaltbild<br />
Aus den obigen Überlegungen ergibt sich das folgende Zuverlässigkeitsblockschaltbild für<br />
die Getriebesteuerung des CVT. Da sowohl der automatische als auch der manuelle<br />
Schaltvorgang das Funktionieren des Gesamtsystems gewährleisten können, sind diese<br />
beiden Komponenten parallel verzweigt. Im Fall des Stufenautomaten entfällt außerdem die<br />
Variatorregelung, wie oben beschrieben.<br />
Steuergerät<br />
(Mikrocontroller)<br />
Betriebssystem<br />
Variatorregelung<br />
Signalverarbeitung<br />
Automatisch<br />
Manuell<br />
Ansteuerung<br />
Wandler-Überbrückungskupplung<br />
Bild 8: Zuverlässigkeitsblockschaltbild der Getriebesteuerung für das CVT<br />
5.3. Bestimmung der Defektdichte für die Softwarekomponenten<br />
Anhand eines geeigneten Modells bzw. dessen firmenspezifischer Ausprägung muss nun<br />
zunächst die Defektdichte der einzelnen Softwarekomponenten abgeschätzt werden.<br />
Basierend auf Bild 5 wurden die folgenden Abhängigkeiten festgelegt <strong>und</strong> an das<br />
vorliegende Problem angepasst.<br />
Gr<strong>und</strong>sätzlich lässt sich annehmen, dass die Komplexität des Problems sowohl die Größe<br />
des Quellcodes als auch die Zahl der vorhanden Defekte erhöht. Auf der anderen Seite<br />
werden diese beiden Werte reduziert, je höher der Entwicklungsaufwand ist.<br />
Vorhandene Defekte= f 1 (Komplexität des Problems, Entwicklungsaufwand, ε 1 )<br />
Größe des Quellcodes= f 2 (Komplexität des Problems, Entwicklungsaufwand, ε 2 )<br />
(6)<br />
Je nach Testaufwand <strong>und</strong> der Größe des Quellcodes kann ein bestimmter Anteil der<br />
vorhandenen Defekte gef<strong>und</strong>en werden.
Gef<strong>und</strong>ene Defekte= f 3 (Vorhand. Defekte, Größe des Quellcodes, Testaufwand, ε 3 ) (7)<br />
Um zu modellieren, dass die beschriebenen Zusammenhänge nicht deterministisch sind,<br />
wurden zusätzlich die Zufallsvariablen ε 1 , ε 2 <strong>und</strong> ε 3 eingeführt, welche als Störgrößen<br />
fungieren. Für diese Zufallsvariablen werden Verteilungen angenommen. Schließlich<br />
verbleiben im Quellcode diejenigen Defekte, welche nicht beim Testen aufgef<strong>und</strong>en werden<br />
konnten. Die eigentliche Defektdichte ist der Quotient aus der Zahl der verbleibenden<br />
Defekte <strong>und</strong> der Größe des Quellcodes.<br />
Verbleibende Defekte= Vorhandene Defekte - Gef<strong>und</strong>ene Defekte<br />
Defektdichte = Verbleibende Defekte / Größe des Quellcodes in KLOC<br />
(8)<br />
Auf eine Beschreibung der genauen Form von f 1 , f 2 , f 3 wird hier verzichtet. Die verwendete<br />
Wahl dieser Funktionen ergibt ein Bayessches Modell, welches nicht mit dem in [11]<br />
vorgeschlagenen Modell übereinstimmt <strong>und</strong> welches auch nicht mehr in Form eines BBN<br />
dargestellt werden kann.<br />
6. Anwendung der methodischen Vorgehensweise<br />
In diesem Abschnitt sollen Auswertungen für das Beispiel des PKW-Automatikgetriebes<br />
dargestellt werden. Das betrachtete Modell der zwei Lösungsvarianten beinhaltet Parameter<br />
b 1 ,...,b k , die gewissen Wahrscheinlichkeitsverteilungen folgen. Hieraus resultiert eine<br />
Wahrscheinlichkeitsverteilung der Schranken für α, die mit α zul,CVT für das CVT <strong>und</strong> mit α zul,Stuf<br />
für den Stufenautomaten bezeichnet werden. Einige der Parameter b 1 ,...,b k beeinflussen<br />
sowohl das CVT als auch den Stufenautomaten. Deswegen sind α zul,CVT <strong>und</strong> α zul,Stuf nicht<br />
unabhängig. Die Verteilung von α zul,CVT <strong>und</strong> α zul,Stuf kann man wie folgt mithilfe der Monte<br />
Carlo Methode erhalten.<br />
Es werden n unabhängige Wiederholungen (Replikationen) durchgeführt, in denen jeweils<br />
die Parameter b 1 ,...,b k entsprechend den angenommenen Verteilungen gezogen werden. In<br />
jeder Wiederholung berechnet man nun α zul,CVT <strong>und</strong> α zul,Stuf . Die sich hieraus ergebenden<br />
empirischen Verteilungen werden als Näherung der exakten Verteilungen verwendet. Durch<br />
Erhöhung der Anzahl der Wiederholungen kann man die Verteilung von α zul,CVT <strong>und</strong> α zul,Stuf<br />
beliebig gut annähern.<br />
In unserem Beispiel ist das Zuverlässigkeitsziel eine Schranke für den B 10 -Wert. Im<br />
Gegensatz zu dem einfachen auf Exponentialverteilungen beruhenden Beispiel aus
Abschnitt 3.3 kann hier α zul,CVT <strong>und</strong> α zul,Stuf nicht explizit berechnet werden. Diese Berechnung<br />
erfordert den Einsatz einer eindimensionalen numerischen Nullstellensuche.<br />
Im Folgenden wurde die Monte-Carlo Methode stets mit n = 1000 Wiederholungen<br />
angewandt. Plottet man die sich so ergebenden empirischen Verteilungsfunktionen von<br />
α zul,CVT <strong>und</strong> α zul,Stuf, so ergibt sich Bild 9. Es suggeriert, dass der Stufenautomat mehr<br />
Entwicklungsspielraum erlaubt als das CVT. Die Verteilungsfunktion von α zul,CVT liegt „links“<br />
von der Verteilungsfunktion von α zul,Stuf , was im Sinn der so genannten stochastischen<br />
Ordnung bedeutet, dass α zul,CVT kleiner als α zul,Stuf ist. Aus Bild 9 lässt sich aber nicht<br />
schließen, dass α zul,CVT ≤ α zul,Stuf immer (d.h. mit Wahrscheinlichkeit 1) gilt. Man kann aber die<br />
Wahrscheinlichkeit der Gültigkeit von α zul,CVT ≤ α zul,Stuf angeben. Aus dem in Bild 10 gezeigten<br />
Plot der Verteilungsfunktion von α zul,CVT - α zul,Stuf lässt sich diese Wahrscheinlichkeit direkt<br />
ablesen – sie ist der Schnittpunkt der Kurve der Verteilungsfunktion mit der y-Achse. Im<br />
vorliegenden Beispiel ergibt sich, dass α zul,CVT ≤ α zul,Stuf mit einer Wahrscheinlichkeit von ca.<br />
80 % gilt. Somit weist mit einer Wahrscheinlichkeit von 80 % der Stufenautomat einen<br />
höheren Entwicklungsspielraum auf als das CVT.<br />
P (α zul ≤ x)<br />
0.0 0.2 0.4 0.6 0.8 1.0<br />
CVT<br />
Stufenautomat<br />
0.0 e+00 2.0 e-08 4.0 e-08 6.0 e-08 8.0 e-08 1.0 e-07 1.2 e-07<br />
x<br />
Bild 9: Verteilungsfunktion von α zul,CVT <strong>und</strong> α zul,Stuf
P (α zul,CVT −α zul,Stuf ≤ x)<br />
0.0 0.2 0.4 0.6 0.8 1.0<br />
-1 e-07 -5 e-08 0 e+00 5 e-08<br />
x<br />
Bild 10: Verteilung der Differenz der Faktoren α zul beider Lösungsvarianten<br />
Um die beschriebene Beurteilung vornehmen zu können, sind, wie oben dargestellt,<br />
zunächst die Defektdichten der einzelnen Softwarekomponenten zu ermitteln. Mithilfe der<br />
Modellgleichungen (6) - (8) lassen sich Verteilungen für die Defektdichten der<br />
Softwarekomponenten berechnen. Diese sind als Eingangsdaten für die Modellierung der<br />
Ausfallraten einzelner Softwarekomponenten erforderlich. Bild 11 zeigt die Verteilung der<br />
Defektdichte für die Steuerung der Wandler-Überbrückungskupplung unter der Annahme,<br />
dass sowohl die Komplexität wie auch der Entwicklungs- <strong>und</strong> Testaufwand verhältnismäßig<br />
hoch sind. Die Komplexität hängt von den geforderten Funktionen ab, welche in diesem Fall<br />
als entsprechend umfangreich angenommen werden.
P (dd w ≤ x)<br />
0.0 0.2 0.4 0.6 0.8 1.0<br />
0.0 0.2 0.4 0.6 0.8 1.0<br />
x<br />
Bild 11: Beispielhafte Defektdichte für die Softwarekomponente zur Steuerung der Wandler-<br />
Überbrückungskupplung<br />
Ein Problem wurde bisher noch nicht erwähnt. Bei der Berechnung von α zul,CVT <strong>und</strong> α zul,Stuf<br />
kann es passieren, dass kein α ≥ 0 existiert, mit dem das Ziel erreicht wird. Anders formuliert<br />
kann man in einem solchen Fall das Ziel selbst mit perfekter Software nicht erreichen. Falls<br />
dieser Fall eintritt, so setzen wir α zul,CVT = -∞ bzw. α zul,Stuf = -∞. Verschärft man in unserem<br />
Beispiel die Anforderung an das Gesamtsystem von einem B 10 -Wert von mindestens 0,5·10 8<br />
Umdrehungen der Eingangswelle auf 1,5·10 8 Umdrehungen, so ergibt sich das zu Bild 9<br />
analoge Bild 12 der Verteilungsfunktionen von α zul,CVT <strong>und</strong> α zul,Stuf . Mit einer<br />
Wahrscheinlichkeit von ca. 35 % erreicht man bei dem CVT das gesteckte<br />
Zuverlässigkeitsziel nicht.
P (α zul ≤ x)<br />
0.0 0.2 0.4 0.6 0.8 1.0<br />
CVT<br />
Stufenautomat<br />
0.0 e+00 5.0 e-09 1.0 e-08 1.5 e-08 2.0 e-08 2.5 e-08<br />
x<br />
Bild 12: Plot der Verteilungsfunktionen von α zul,CVT <strong>und</strong> α zul,Stuf bei verschärftem<br />
Zuverlässigkeitsziel<br />
7. Zusammenfassung<br />
In diesem Beitrag wurde dargestellt, wie in frühen Entwicklungsphasen mechatronischer<br />
Produkte der Auswahlprozess von Lösungsvarianten im Hinblick auf die Erreichung eines<br />
Zuverlässigkeitsziels unterstützt werden kann. Kernelement der vorgestellten<br />
Vorgehensweise ist die Idee, die Zuverlässigkeit nicht direkt ermitteln zu wollen, sondern den<br />
noch zulässigen Spielraum zur Erreichung eines Zuverlässigkeitsziels zu bewerten. Dies<br />
wird ermöglicht durch die komponentenorientierte Betrachtung des Gesamtsystems – auch<br />
der Software – <strong>und</strong> der realitätsnahen Modellierung von Eigenschaften der Software<br />
bezüglich der Zuverlässigkeit. Mittels der Monte Carlo Methode können in frühen Phasen<br />
typischerweise vorhandene ungenaue Daten, z.B. aus der Befragung von Experten,<br />
gehandhabt werden. Anhand zweier verschiedener Lösungsvarianten in Form von<br />
unterschiedlichen Gesamtgetriebekonzepten wurde gezeigt, auf welchen Informationen der<br />
Auswahlprozess basiert <strong>und</strong> wie er praktisch durchzuführen ist.<br />
Die vorgestellte Vorgehensweise ermöglicht es einem Anwender, ohne firmenspezifisches<br />
dokumentiertes Ausfallverhalten, insbesondere von Software, Zuverlässigkeitsbewertungen<br />
durchzuführen. Ist jedoch ein solches Ausfallverhalten innerhalb einer Firma ausreichend<br />
dokumentiert <strong>und</strong> auf eine entsprechende Entwicklung in frühe Phasen übertragbar, erlaubt
dies eine weiterreichende Beurteilung. Solange eine solche Dokumentation nicht vorliegt,<br />
stellt die vorgestellte Vorgehensweise ein geeignetes Instrument dar.<br />
Der Beitrag entstand im Rahmen der Forschergruppe 460, welche durch die Deutsche<br />
Forschungsgemeinschaft gefördert wird.<br />
8. Literaturverzeichnis<br />
[1] Bernhard, W., Heidemeyer, Y.: Auswahl <strong>und</strong> Strukturen stufenloser PKW-Getriebe. VDI<br />
Berichte 803, 1990 Drehzahlvariable Antriebe. VDI Verlag<br />
[2] Greiner, J., Kiesel, J., Veil, A., Strenkert, J.: Front-CVT Automatikgetriebe (WFC280)<br />
von Mercedes-Benz. VDI Berichte 1827. Getriebe in Fahrzeugen 2004<br />
[3] Bertsche, B., Lechner, G.: Zuverlässigkeit im Fahrzeug- <strong>und</strong> Maschinenbau. Springer<br />
Verlag 2004<br />
[4] Gausemeier, J.; Möhringer, S.: Die neue Richtlinie VDI 2206: Entwicklungsmethodik für<br />
mechatronische Systeme. VDI Berichte 1753. 2003<br />
[5] O’Connor, P.D.T.: Practical reliability engineering. Chichester; Wiley, 2002<br />
[6] DIN 3990-31, Ausgabe:1990-07, Tragfähigkeitsberechnung von Stirnrädern;<br />
Anwendungsnorm für Schiffsgetriebe<br />
[7] Palmgren, A.: Die Lebensdauer von Kugellagern. VDI-Z 58 (1924), S. 339/41<br />
[8] Miner, M. A.: Cumulative damage in fatigue. J. Appl. Mech. 12 (1945), S. 159/64<br />
[9] Department of Defense: Reliability Prediction Of Electronic Equipment. MIL-HDBK-<br />
217F, Washington, DC., Notice 1, Dezember 1991<br />
[10] Becker, G.: Softwarezuverlässigkeit: Quantitative Modelle <strong>und</strong> Nachweisverfahren. De<br />
Gruyter 1989<br />
[11] Fenton, N.E., Neil, M.: A Critique of Software Defect Prediction Models. Software<br />
Engineering, 25 (1999), 5, S. 675-689<br />
[12] Gandy, A., Jensen, U.: A Nonparametric Approach to Software Reliability. Appl. Stoch.<br />
Models Bus. Ind. 20 (2004), S. 3-15<br />
[13] Nagappan, N., Williams, L., Vouk, M.: Towards a Metrics Suite for Early Reliability<br />
Assessment. 14. IEEE International Symposium on Software Reliability Engineering,<br />
(ISSRE), Fast Abstract, USA 2003<br />
[14] Rosenberg, L., Hammer, T., Shaw, J.: Software Metrics and Reliability. 9th<br />
International Symposium on Software Reliability Engineering, Deutschland 1999.<br />
[15] Szyperski, C.: Component Software – Beyond Object-Oriented Programming. New<br />
York: Addison-Wesley 1998
[16] Jäger, P.; Gandy, A.; Bertsche, B.; Jensen, U. 2004. Decision Support in Early<br />
Development Phases – A Case Study form Machine Engineering. Eingereicht beim<br />
International Journal of Reliability, Quality and Safety Engineering (IJRQSE)<br />
[17] Naixin Li, Yashwant K. Malaiya, Jason Denton: Estimating the Number of Defects: A<br />
Simple and Intuitive Approach. International Symposium on Software Reliability<br />
Engineering, Deutschland 1998<br />
[18] Ebert, C., Dumke, R.: Software-Metriken in der Praxis. Berlin: Springer Verlag 1996<br />
[19] McGarry, F., Pajerski, R., Page, G., Waligora, S., Basili, V.R., and Zelkowitz, M.V.:<br />
Software Process Improvement in the NASA Software Engineering Laboratory.<br />
Software Engineering <strong>Institut</strong>e, Carnegie Mellon University, Technical Report<br />
CMU/SEI-94-TR-22 , Dezember 1994<br />
[20] Holzmann, G.J.: Economics of Software Verification. In Proc. Workshop on Program<br />
Analysis for Software Tools and Engineering, Snowbird, Utah, USA, June 2001<br />
[21] Statement of Quality, Test and Process Maturity for OSEK turbo, Prospekt,<br />
metrowerks, Austin, USA, v2.1draft<br />
[22] Denaro, G., Morasca, S., Pezzè, M.: Deriving Models of Software Fault-Proneness.<br />
SEKE ’02, Ischia, Italien<br />
[23] Munson, J.C., Khoshgoftaar, T.M.: Regression Modelling of Software Quality: An<br />
Empirical Investigation. Information and Software Technology, 32 (1990), 2, S. 106-114<br />
[24] www.osek-vdx.org