17.01.2014 Aufrufe

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 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!