Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik 30.6.2009
War wir bislang hatten Einführungsbeispiel (Mars Polar Lander) Automotive Software Engineering Anforderungsdefinition und -artefakte Modellierung physikalische Modellierung Anwendungs- und Verhaltensmodellierung Berechnungsmodelle, zeitabhängige & hybride Automaten Datenflussmodelle (Katze und Maus) Regelungstechnik PID-Regelung HW für Regelungsaufgaben speicherprogrammierbare Steuerungen Fehler und Fehlertoleranz Qualitätsnormen und Reifegradmodelle 30.6.2009
Kenngrößen Zuverlässigkeit (reliability) Ausfallwahrscheinlichkeit R(t)=e-t Ausfallwahrscheinlichkeit F(t) = 1 - R(t) Ausfallrate (innerhalb eines Intervalls ) (t)= F(t+)-F(t) / *R(t) Hazard-Rate z(t) = F´(t) / R(t) mittlere Betriebsdauer MTBF = 1 / (falls konstant) Verfügbarkeit (availability) A(t) = (MTBF/(MTBF+MTTR)) Versagenswahrscheinlichkeit p(n)=1-(1-p)n bei Festplatten MTBF-Werte von 1,2*106 Stunden = 137 Jahren. Wahrscheinlichkeit, dass es während 5 Jahren zum Ausfall jährlich kommt = 0,37% 30.6.2009
Was soll man duplizieren? C A A Parallel A B Seriell Ventilausfall auf: Wasser fliesst ab Ventilausfall zu: Ablauf blockiert sicher gegen einzelnen Ausfall 30.6.2009
30.6.2009
30.6.2009
Triple Modular Redundancy (TMR) Beispiel: p(n)=1,2*10-4 pTMR= ? Unabhängiges Voting Externe Komponente oder logisch getrennt Software-Voting: getrennte Speicher, geschütztes Betriebssystem 2-aus-3 Mehrheitsentscheid single fault fail operational, double fault fail silent (erster Ausfall kann toleriert, zweiter erkannt werden) bei 4-fach Replikation können byzantinische Fehler behoben werden 30.6.2009
30.6.2009
RAM-Analyse 30.6.2009
Ausfallrate mit Fehlertoleranz gefordert durch Normen: 30.6.2009
Verallgemeinerung 30.6.2009
30.6.2009
Dynamische Redundanz Vorteile Nachteile geringerer Ressourcenverbrauch Möglichkeit der Nutzung der Reserven Nachteile Verzögerung beim Umschalten Standby-Komponenten 30.6.2009
Aufgaben der FT-Komponenten Fehlerdiagnose (Selbstdiagnose / Fremddiagnose) Ist ein Fehler aufgetreten? Fehlermodell! Welche Komponente ist fehlerhaft? Protokollierung Rekonfiguration Erbringung der Funktion mit den intakten Komponenten Umschalten bzw. Ausgliedern / Neustarten Recovery Reparatur bzw. Wiedereingliedern Rückwärts (Rollback, Recovery Points) Vorwärts (Wiederaufsatzpunkte) 30.6.2009
Stand der Praxis Sensorik, Aktuatorik Verkabelung, Bussysteme z.B. Lenkwinkelgeber (Bosch), Bremsmotoren Verkabelung, Bussysteme z.B. TTP/C, FlexRay Controller, Hardware redundante integrierte modulare Controller (IMCs) Zukunftsmusik: fehlertolerante Prozessoren, SoC Software diversitäre Entwicklungen bislang nur für wenige Systeme bekannt (Fly-by-wire) 30.6.2009
fehlertolerante Mehrprozessorarchitekturen Lock-step versus loosely-synchronized Lock-step effizienter, loosely-synchronized sicherer Sicherung der Datenintegrität mittels CRC-Speicher Prototypen verfügbar, Serie nicht in Sicht Quelle: Baleani, Ferrari, Mangeruca, SangiovanniVincentell, Peri, Pezzini 30.6.2009
Forschungsfragen Fehlertoleranz und Selbstorganisation kann ein Netz redundanter Knoten so angelegt werden, dass fehlerhafte Komponenten selbsttätig ausgegliedert werden? z.B. Sensornetze Fehlertolerante System-on-Chip (SoC), Network-on-Chip (NoC) (wie) können multiple Recheneinheiten auf einem Chip für Fehlertoleranz genutzt werden? Welche Common-Cause-Fehler sind möglich? z.B. Multi-Core-Architekturen 30.6.2009
Fehlertolerante System-on-chip Dual-Core: eine CPU rechnet, die andere überwacht (selbstprüfendes Paar) Synchronisation? Problem Abfangen von „äußeren“ Fehlern Common-cause-Fehler (z.B. thermisch) Common-Cause: Eine Ursache bewirkt verschiedene Ausfälle Common-Mode: Ein Ausfall durch verschiedene Ursachen bewirkt Trend Network-on-Chip Selbstprüfung (BIST), sanfte Degradierung 30.6.2009
Sensor Fusion Zusammenführung von bruchstückhaften und unzuverlässigen Sensordaten in ein homogenes Gesamtbild, Ziel: die fusionierte Information ist besser als die Einzelinformation Information aging: Extrapolation von (erwarteten) Sensordaten auf Grund unterschiedlicher Sampling-Zeiten und Ausfallmöglichkeit Information priorization: Berücksichtigung der Zuverlässigkeit von Daten (z.B. inertiale Navigation) Indirect fusion: Berücksichtigung von a-priori-Information, z.B. Umgebungszustand; Informationsfusion 30.6.2009