Upload
gertrude-heiting
View
117
Download
1
Tags:
Embed Size (px)
Citation preview
Dr. Hans-Werner WiesbrockZeSys e.V.
Zentrum zur Förderungeingebetteter Systeme e.V.
Qualitätssicherung von Software
Fehleranalysen• PHA (Prophylactic hazard analalysis)• FTA (Failure Tree Analysis)• FMEA (Failure Mode and Effects Analysis)
Inhalt
Beispiel
PHA (Prophylaktische Hazard Analysis)
FTA (Failure Tree Analysis)
FMEA (Failure Mode & Effect Analysis)
Risiko Analyse und SW
1
2
3
4
5
Inhalt
Beispiel
PHA (Prophylaktische Hazard Analysis)
FTA (Failure Tree Analysis)
FMEA (Failure Mode & Effect Analysis)
Risiko Analyse und SW
1
2
3
4
5
Beispiel:HerzunterstützungssystemEXCOR® ein lebensrettendes Herzunterstützungssystem für Kinder und Erwachsene die an Herzinsuffizienz leiden.
Das System besitzt zwei Pumpen, die das Blut in die beiden Herzkammern pumpt, um den Druck zu erhöhen.
Software regelt die Motoren, die den Pumpdruck erzeugen. Abhängig von Patientendaten, Druckbedingungen wird der Blutfluss eingestellt und der systolische (oben) und diastolische (unten) Druck überwacht.
Neues System: Umschaltventil soll Betrieb auch bei Ausfall einer Pumpe ermöglichen, wechselseitiges Pumpen.
ZuverlässigkeitVersagen des Systems kann Todesfolgen haben!Wie kann man das System sicher entwickeln? Besser, sicherer?
Jede Branche, Automotive, Avionik, Medizintechnik,… hat seine eigene Normen und Vorschriften, Techniken,…jede Firma seine bevorzugten Methoden.
Es gibt trotzdem gemeinsame Grundideen, Verfahrensweise und einige davon sollen hier vorgestellt werden.
Leitende Frage:Wie lässt sich systematisch die Zuverlässigkeit eines Produkt verbessern?
Was bedeutet Zuverlässigkeit? Sicher?Was bedeutet es für die Software?
SW verletzt nicht selber, aber das fälschlich angesteuerte Relais kann tödlich wirken!
Ausschnitt: Medizintechnik
Normen und Vorschriften und ihre Abhängigkeiten!
ISO 13485„Medizinprodukte-Qualitätsmanagementsysteme-Anforderungen für regulatorische Zwecke“verlangt Risikoanalyse
Inhalt
Beispiel
PHA (Prophylaktische Hazard Analysis)
FTA (Failure Tree Analysis)
FMEA (Failure Mode & Effect Analysis)
Risiko Analyse und SW
1
2
3
4
5
PHA (Prophylaktische Hazard Analysis)Fehler im Herzunterstützungssystem können Todesfolgen haben
Schaden
Als Schaden definiert ISO 14971 „physische Verletzung oder Schädigung der Gesundheit von Menschen oder Schädigung von Gütern oder der Umwelt“
Gefährdung
Eine Gefährdung ist eine potenzielle Schadensquelle. Als Gefährdungssituation bezeichnet man die „Umstände, unter denen Menschen, Güter oder die Umwelt einer oder mehrerer Gefährdungen ausgesetzt
In der vorläufigen Gefährdungsanalyse werden mögliche Gefährdungen identifiziert.
Beispiel: Kronleuchter hängt in einem abschließbaren Zimmer
PHA (Prophylaktische Hazard Analysis)
Es ist vorrangig erfahrungsbasiert und wenig systematisch:
• Branchen spezifische Checklisten• Produkt spezifische Checklisten• Erfahrungsberichte• Feldrückmeldungen• ….
Gefährdungen beim Herzunterstützungssystem:• Ausfall der Pumpen• Stromschlag• Leckage der Schläuche• …
Inhalt
Beispiel
PHA (Prophylaktische Hazard Analysis)
FTA (Failure Tree Analysis)
FMEA (Failure Mode & Effect Analysis)
Risiko Analyse und SW
1
2
3
4
5
FTA (Failure Tree Analysis)Wie kann es zu den Schäden kommen?
FTA (Fehlerbaumanalyse)Deduktives Verfahren, sucht Ursachen für Ausfälle,…Top-Down Analyse -> System Ansatz
FTA (Failure Tree Analysis)
Eine PHA identifiziert die potenziellen Gefährdungen, eine Fehlerbaumanalyse zielt auf die Ursachen ab und damit, diese Gefährdungen in ihrem Schadensfall zu verhindern. Was muss passieren? In welcher Zusammenspiel?-> boolesche Verknüpfung von unglücklichen Ereignissen!Ihr Vorgehen ist Top-Down, eine Baum Zerlegung boolesch verknüpfter Ausfälle!
Beispiel:Fehler in der Software können zu erheblichen Schäden führen! Eine falsche Regelung der Pumpen kann zum Aufheizen des Blutes führen!Diese Ursachenkette zu erkennen ist eine Aufgabe der FTA!
•60er Jahre: Luft- und Raumfahrt•Mitte der 70er Jahre: Kerntechnik•Ende der 70er Jahre: Automobilindustrie•Anfang der 90er Jahre: weitere technische
und nichttechnische Bereiche
FTA einer Eingebetteten BlutpumpeThrombose
Die Pumpen erwärmen sich zu stark
&
||
||
Erhitzen des Blutes wird nicht erkannt
Pumpen werden zu stark angetrieben
Falsche Drücke werden erzeugt
Blut erwärmt sich zu stark
Verklumpen des Blutes
FTA und EntwicklungsprozessTop-Down Ansatz:Man benötigt Kenntnisse der Architektur!
Andererseits: Um Gefährdungen zu vermeiden, sollten bestimmte Architekturen verwendet werden!
HW/SW-Entwurf
Architektur
System- anfor- derungen
Analyse von System- Anforde- rungen, RAN
Analyse von SW/HW- Anforde- rungen
Modelltest, Modell- analyse
Unit-Test
Die verschiedenen Phasen sind miteinander eng verschränkt!
PH erstellen
Architektur entwerfen
Risiko Analyse
Konsolidierungund Freigabe
Entwicklungsphasen
Inhalt
Beispiel
PHA (Prophylaktische Hazard Analysis)
FTA (Failure Tree Analysis)
FMEA (Failure Mode & Effect Analysis)
Risiko Analyse und SW
1
2
3
4
5
Risiko Mindernde MaßnahmenBeispiele:
• Redundanzen, zwei Akkus anstelle eines• Trennung, Eingabe/Ausgabe läuft auf anderem Prozessor als die Regelung• Besondere Vorkehrungen, spezielle Buchsen für Schläuche•…
Risiko
Risiko ist definiert (ISO 14791) als Produkt der Wahrscheinlichkeit des Auftretens mit dem damit verbundenen Schaden.
Zuverlässigkeit
qualitativ• Grad der Fähigkeit einer Betrachtungseinheit, die geforderte Leistung während
einer vorgegebenen Zeitspanne zu erbringen
• Fähigkeit eines Systems, für eine gegebene Zeit korrekt zu arbeiten
Begriff Beschreibung HäufigkeitGelegentlich Kann bei Bestimmungsgemäßem Gebrauch
vorkommen10-2 < p < 1
Unwahrscheinlich
10-8 < p < 10-6
Stochastische ZuverlässigkeitZuverlässigkeit / Verfügbarkeit
quantitativ
Wahrscheinlichkeit, System zu gegebenem Zeitpunkt in funktionstüchtigem Zustand anzutreffen
R(t) = P[kein Ausfall im Intervall 0..t] = 1- Wahrscheinlichkeit mindestens eines Ausfalls im Beobachtungszeitraum
Beispiel: •Todesfall des Patienten, p= 10-6 per anno => Risiko Schwerer Schaden * 10-6 per anno•106 Todesfälle, p = 10-12 per anno => gleiches Risiko !?!
Zulässiges Risiko wird Produkt spezifisch definiert -> Einstufung in Risikoklassen
FMEA (Failure Mode & Effect Analysis)Unterschiede zwischen SW und HW:
# derAusfälle
t
SW
HWProduktionsfehler
Verschleiß
Wie können wir Risiken messen?Schaden = Kosten, Verlustrechnung,…, aber Ausfallwahrscheinlichkeit?
Beispiel:Stromausfall beim Herzunterstützungssystem
FMEA (Failure Mode & Effect Analysis)FMEA
•Induktives Verfahren, •Wirkungsanalyse von Fehlverhalten•Fehlerfortpflanzung
Analysen sind auf Komponentenebene herunter zu brechen! Werkzeug ESSaRel (IESE)
Risikoprioritätszahl= A * E * B
• A = P(Auftreten): Eintrittswahrscheinlichkeit• E = P(Entdeckung): Wahrscheinlichkeit, dass Fehler sich
auswirkt bevor er entdeckt und beseitigt werden kann• B = Bedeutung: Gewicht der Folgen, Schaden
FMEA (Failure Mode & Effect Analysis)PH erstellen
Architektur entwerfen
Risiko Analyse
Konsolidierungund Freigabe
EntwicklungsphasenZerlegung des Systems in berechenbare Teile:
• Blätter dürfen nicht abhängig voneinander sein(Cut sets)
• Ausfallswahrscheinlichkeiten müssen bestimmt werden können
• Abstrakte Fehlerfortpflanzung muss berechenbar sein
Betrachte alle möglichen Wege durch den FMEA Baum, von der Wurzel bis zu den Blättern, und berechne für diese die Risikoprioritätszahl. Die Gesamtsumme ergibt ein Maß für das verbliebene Risiko!
Es gibt riesige Datenbanken über die Ausfallwahrscheinlichkeit von HW Bauteilen!
Inhalt
Beispiel
PHA (Prophylaktische Hazard Analysis)
FTA (Failure Tree Analysis)
FMEA (Failure Mode & Effect Analysis)
Risiko Analyse und SW
1
2
3
4
5
FMEA und SW?
SW Systeme verhalten sich ‚deterministisch‘, Fehler sind reproduzierbar!Fehler werden am Anfang gemacht
• Spezifikationsfehler• Implementierungsfehler• …
Unterschiede zwischen SW und HW:
# derAusfälle
t
SW
HWProduktionsfehler
Verschleiß
Ausfallwahrscheinlichkeit von SW?
Möglicher Ansatz: Hazard-Rate proportional zur Anzahl enthaltener Fehler
Fehlerwahrscheinlichkeit in SW?
μ(t) – Anzahl beobachteter Fehler
Annahme: Zuwachs pro Zeiteinheit proportional b zur Anzahl nicht entdeckter Fehler
μ(t) ≈ a ( 1 – exp(- b t ) ) , a = Gesamtfehlerzahl
λ0 = a b = Initial-Ausfallrate,
Entdeckte Fehleranzahl
100
200
300
Effektive Testzeit [PT]10 50 100 150
μ(t)210
λ(t) = λ0 exp(-bt) Ausfallrate zur Zeit t
Maximum-Likelihood => Parameter a,b
=> Schätzung benötigte Testzeit für vorgegebene Ausfallrate
Fehlerwahrscheinlichkeit in SW?Sichere SW = höhere Qualität der SW => Anwendung verschiedener QS Techniken
• Simulation der Anforderungen Konzeptmodell
• Diversitäre Programmierung
• Effektives Testen Erfüllung von Testabdeckungskriterien Einsatz von Testmodelle
• Einsatz von Verifikationstechniken(setzt Architektonische Vorbedingungen voraus)
Modell Checking Theorem Proving
Wie Risiken der SW Absichern?Architektonisch:
• Verwende sichere Architektur Muster o Trennung von Zuständigkeiteno Zentrale Steuerung komplexer Abläufe o Robustes Design (Fehlerbehandlungen)o …
• trenne über HW sicherheitsrelevante und andere SW
Prozess:• Definiere und installiere QM Prozess• Entwickle nach definiertem Prozess
o CMMI Capability Maturity Model Integration
o (Automotive) SPICE Software Process Improvement and Capability Determination
Automotive SPICE – Capability Dimension
Optimising
Predictable
Established
Managed
Performed
Incomplete
1
2
3
4
5
0
• Process Dimension: RM, Design,… TP, Wartung • Capability Dimension
CL5CL4CL3CL2CL1CL0
P1 P2 P3 .......... Pn
ZusammenfassungEingebettete Systeme können Gefahrenquellen bilden
Müssen zuverlässig sein (s. Definition der Zuverlässigkeit)
Risiko ist zu vermeiden (s. Risiko, Risikoanalyse, PHA, FTA, FMEA)
Entwicklungsprozess ist darauf abzustimmen (s. Verschränkung von RM, Architektur und RAN )
Bei SW greift eine FTA, nicht aber eine FMEA(s. Fehlerwahrscheinlichkeit in SW)
Prozess Vorgaben(s. SPICE, CMMI,…)
LiteraturPeter Löw, Roland Pabst, Erwin Petry
Funktionale SicherheitDpunkt.verlag 2010
Christian Johner, Matthias Hölzer-Klüpfel, Sven Wittorf
Basiswissen Medizinische Softwaredpunkt.verlag 2011