Modellbasierte Software-Entwicklung eingebetteter Systeme
Prof. Dr. Holger SchlingloffInstitut für Informatik der Humboldt Universität
und
Fraunhofer Institut für offene Kommunikationssysteme FOKUS
Folie 2H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Fragen?
• Welche Hardwarekomponenten enthält eine Embedded Plattform?
• Unterschied Mikroprozessor – Mikrocontroller – System-on-Chip?
• Besonderheiten von embedded CPUs?
• Stromsparkonzepte?
• Besonderheiten vom Speicher für eingebettete Systeme?
• Welche Arten von Sensoren kennen Sie?
• Wie werden intelligente Sensoren mit der CPU verbunden?
• Was versteht man unter PWM?
Folie 3H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Folie 4H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Kap. 6: Sicherheit
• Funktionale Sicherheit (FuSi) der Teil der Sicherheit eines Systems, der von der korrekten
Funktion der sicherheitsbezogenen (Sub-)Systeme und externer Einrichtungen zur Risikominderung abhängt
nicht erfasst: nichtfunktionale Eigenschaften, z.B. Brandschutz
• Diverse Normen und Richtlinien IEC 61508 "Funktionale Sicherheit sicherheitsbezogener
elektrischer/elektronischer/programmierbar elektronischer Systeme“
viele daraus abgeleitete Normen
• Maßnahmen zur Vermeidung, Erkennung und Beherrschung von Fehlern Maßnahmen während der Entwicklung Absicherung des laufenden Betriebs
Folie 5H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Ursache, Wirkung und Folge
• Standardwerk zur Terminologie: J.C. Laprie, A. Avizienis,H. Kopetz: Dependability: Basic Concepts and Terminology. Springer-Verlag (englisch, deutsch, französisch)
Irrtum (error) Ursache Fehlzustand (fault) Wirkung Ausfall (failure) Folge
•Ausfall kann Ursache für weiteren Fehler sein!
Folie 6H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Fehlerursachen
• Fehlerursache (cause): direkter oder indirekter Vorgänger in der Wirkfolge ein Fehler hat meist viele Ursachen
• Fehlerursache = Anerkannte oder angenommene Ursache für einen Fehler. Ereignis, das vermieden oder toleriert werden sollte. Auswirkung des Ausfalls eines anderen Systems, das mit dem betrachteten System zusammengewirkt hat oder zusammenwirkt, auf das betrachtete System
• letztlich ist jeder Fehler auf das menschliche Unvermögen zurückzuführen, die Gesamtheit aller Wirkzusammenhänge zu verstehen. Beispiel: Materialbruch Materialforschung Beispiel: Ariane 5 Flugbahneinfluss
• Irrtum (error), Fehlhandlung (mistake)
Folie 7H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Fehlzustände
• Fehlzustände treten auf, wenn ein System auf Grund äußerer Einflüsse oder selbsttätig in einen ungewollten Zustand übergeht
• Fehlzustand = Teil des Systemzustands, der dafür verantwortlich ist, dass ein Ausfall auftritt. Offenbarung einer Fehlerursache im System
• Möglichkeit des Fehlzustands ist immer schon im System vorhanden, der Fehlzustand wird durch den ausführenden Prozess nur aktiviert Beispiel: Division durch 0 in Zeile 739 Beispiel: Bit kippt auf Grund von alpha-Strahlung
• Fehlzustand (fault), Defekt (defect)
Folie 8H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Fehlerauswirkung
• Fehlverhalten ist die Konsequenz aus einem Fehlzustand. Wenn ein System einen Defekt enthält, führt das meist früher oder später zu einem teilweisen oder totalen Ausfall. Beispiel: kaputtes Zahnrad Getriebeschaden Beispiel: ungeschützte Gleitpunktkonvertierung …
• Ausfall = Abweichung der erbrachten Leistung von der in der Spezifikation geforderten Leistung. Übergang von korrekter Leistungserbringung zu fehlerhafter Leistungserbringung.
• Ausfall und Versagen sind weitgehend synonym (failure) Ausfall eher für Komponenten, Versagen eher für
Gesamtsysteme Im Sinne der Hierarchie ist der Ausfall einer Komponente die
Ursache für das Versagen des Systems
Folie 9H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Fehlerarten
oftmals unterscheidet man zwischen
• zufälligen Fehlern Auftreten nur statistisch vorhersagbar,
z.B. Bitflip auf Grund von Strahlung
und
• systematischen Fehlern in der Systematik (Art der Zusammensetzung des Systems)
begründet, z.B. Bitflip auf Grund eines Programmierfehlers
Diese Unterscheidung ist grob vereinfachend bzw. unscharf!Was ist z.B., wenn ein Bitflip eine Exception wirft, die nicht
gefangen wird?
Folie 10H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Klassifikation von Fehlern (1)
• Intention (Art) zufälliger Fehler = zufällig auftretender oder erzeugter
Fehler(z.B. Kommafehler)
absichtlicher Fehler = in böswilliger Absicht erzeugter Fehler (z.B. Backdoor)„zufällig“ bedeutet hier nicht „stochastisch auftretend“, sondern „ohne Absicht“
• Idee, phänomenologischer Ursprung physikalischer Fehler = Fehler aufgrund eines
physikalischen Phänomens (z.B. Materialbruch) logischer Fehler = auf menschlicher Unzulänglichkeit
basierende Fehlerursache, Denkfehler (z.B. Feldindex)
Folie 11H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Klassifikation von Fehlern (2)
• Raum externer Fehler = von der Beeinflussung des Systems
durch seine physikalische Umgebung oder vom Zusammenwirken mit seiner menschlichen Umgebung hervorgerufene Fehlerursache
interner Fehler = Teil des Systemzustandes, der bei Aufruf durch eine Rechenaktivität einen Fehler hervorruft
• Zeit, Entstehungsphase Betriebsfehler = während der Nutzung des Systems
auftretender Fehler Entwurfsfehler, Konstruktionsfehler = während der
Entwicklung oder der Modifikation oder der Erstellung der Betriebsprozeduren entstandener Fehler
Folie 12H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Klassifikation von Fehlern (3)
• Dauer permanente Fehler = Anwesenheit ist nicht von einer
punktuellen Bedingung abhängig Temporäre oder transiente Fehler = nur während einer
bestimmten Zeit vorhanden
Unterscheidung reversibel (reparierbar) oder nicht!temporäre interne Fehler werden auch intermittierende Fehler genannt
„Benutzerfehler“ oder „Bedienfehler“ ist demnach zufälliger, logischer, externer, temporärer Betriebsfehler
wichtig: Ursachen- statt Schuldanalyse!
jeder Fehler kann als permanenter Entwurfsfehler verstanden werden
Folie 13H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Klassifikation von Ausfällen
•Wert- oder Zeitausfälle
•verfrüht oder verspätet
•konsistent oder inkonsistent
•kritisch oder unkritisch
•Stillstand oder Livelock
•Auslassungsausfälle, Totalausfälle
•…
Folie 14H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
IEC 61508: Sicherheits-Lebenszyklus
1. Analyse der Bedrohung durch das EUC
2. Ableitung von Sicherheits-anforderungen
3. Planung und Realisierung von Sicherheits-mechanismen
4. Validierung und Betrieb der Systeme
Folie 15H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
IEC 61508 Prozess (System)
Folie 16H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
IEC 61508 Prozess (Software)
Folie 17H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Gefährdungs- und Risikoanalyse
• Gefährdung: potentielle Schadensquelle• Risiko: Verbindung / Kombination der Auftretenswahrscheinlichkeit
eines Schadens und des zugehörigen Schadensausmaßes
• Auftretenswahrscheinlichkeit: der Parameter des Risikos, der Auskunft über die Wahrscheinlichkeit gibt, mit der eine identifizierte Gefährdung bzw. ihre Ursache in der Praxis tatsächlich auftreten könnte. Eintrittswahrscheinlichkeit Entdeckungswahrscheinlichkeit Möglichkeit zur Gefahrenabwendung
• Schadensausmaß: quantitatives Maß für die möglichen Folgen / Konsequenzen einer Gefährdung
• Sicherheit: Freiheit von nicht akzeptablen Risiken
Risiko = Eintrittswahrscheinlichkeit * Schadensausmaß
Folie 18H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Risikoanalyse
• Risiko = Eintrittswahrscheinlichkeit * Schadensausmaß z.B. Aktienkursverlust
• Problem bei sehr kleinen und sehr großen Zahlen sehr großer Schaden bei sehr geringer Wahrscheinlichkeit
• Problem der numerischen Einschätzung Kosten bei Personenschaden? Wahrscheinlichkeit von
Katastrophen?
• akzeptabeles Risiko? abhängig vom
persönlichen Einfluss
Folie 19H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
ALARP
• ALARP-Prinzip: „As Low As Reasonably Possible“ Wenn ein Risiko mit vertretbarem Aufwand reduziert
werden kann, sollte dies getan werden Oft auch: Wenn das Risiko nicht reduziert werden
kann, muss der Nutzen des Systems (Nutzungsdauer * Gewinn) den Schaden übersteigen
• “Cost per life saved”
Folie 20H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Automobil- versus Luftfahrtsicherheit
• Katastrophen werden subjektiv höher gewichtet
Folie 21H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme
Planes, Trains and Automobiles
E. Schnieder: 4. Bieleschweig Workshop, 14.-15.9.04: NEUE UND HERKÖMMLICHE MAßE ZUR QUANTIFIZIERUNG DES RISIKOS IM EISENBAHNVERKEHR
Quelle: http://www.ifev.bau.tu-bs.de/Workshops_Tagungen/Bieleschweig/bieleschweig4/pdf/Bieleschweig4_Folien_Schnieder.pdf
Top Related