Modellbasierte Software-Entwicklung eingebetteter Systeme

21
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für offene Kommunikationssysteme FOKUS

description

Modellbasierte Software-Entwicklung eingebetteter Systeme. Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für offene Kommunikationssysteme FOKUS. Fragen?. Welche Hardwarekomponenten enthält eine Embedded Plattform? - PowerPoint PPT Presentation

Transcript of Modellbasierte Software-Entwicklung eingebetteter Systeme

Page 1: Modellbasierte Software-Entwicklung eingebetteter Systeme

Modellbasierte Software-Entwicklung eingebetteter Systeme

Prof. Dr. Holger SchlingloffInstitut für Informatik der Humboldt Universität

und

Fraunhofer Institut für offene Kommunikationssysteme FOKUS

Page 2: Modellbasierte Software-Entwicklung eingebetteter Systeme

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?

Page 3: Modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 3H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme

Page 4: 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

Page 5: Modellbasierte Software-Entwicklung eingebetteter Systeme

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!

Page 6: Modellbasierte Software-Entwicklung eingebetteter Systeme

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)

Page 7: Modellbasierte Software-Entwicklung eingebetteter Systeme

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)

Page 8: Modellbasierte Software-Entwicklung eingebetteter Systeme

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

Page 9: Modellbasierte Software-Entwicklung eingebetteter Systeme

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?

Page 10: Modellbasierte Software-Entwicklung eingebetteter Systeme

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)

Page 11: Modellbasierte Software-Entwicklung eingebetteter Systeme

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

Page 12: Modellbasierte Software-Entwicklung eingebetteter Systeme

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

Page 13: Modellbasierte Software-Entwicklung eingebetteter Systeme

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

•…

Page 14: Modellbasierte Software-Entwicklung eingebetteter Systeme

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

Page 15: Modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 15H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme

IEC 61508 Prozess (System)

Page 16: Modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 16H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme

IEC 61508 Prozess (Software)

Page 17: Modellbasierte Software-Entwicklung eingebetteter Systeme

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ß

Page 18: Modellbasierte Software-Entwicklung eingebetteter Systeme

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

Page 19: Modellbasierte Software-Entwicklung eingebetteter Systeme

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”

Page 20: Modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 20H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme

Automobil- versus Luftfahrtsicherheit

• Katastrophen werden subjektiv höher gewichtet

Page 21: Modellbasierte Software-Entwicklung eingebetteter Systeme

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