9.12.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof....
-
Upload
berlin-kees -
Category
Documents
-
view
105 -
download
2
Transcript of 9.12.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof....
9.12.2005
Software-Engineering IIEingebettete Systeme, Softwarequalität, Projektmanagement
Prof. Dr. Holger SchlingloffInstitut für Informatik der Humboldt Universität
und
Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik
Folie 2H. Schlingloff, Software-Engineering II 9.12.2005
Übersicht
• 1. Eingebettete Systeme 1.1. Definitionen 1.2. Anforderungsanalyse 1.3. Modellierung 1.4. Architektur
- Hard- und Software-Aufbau- Fehlertoleranz- Echtzeitbetriebssysteme, Scheduling?- Hardware/Software Codesign?- Produktlinienentwicklung?
1.5. Automotive Software Engineering
Hinweise Mi. 21.12. keine Vorlesung mehr! Mi. 4. 1. ist normale Vorlesung Fr. 6. 1. findet ebenfalls statt Mi. 11.1., Fr. 13.1. MBEES (Vorlesung entfällt)
Folie 3H. Schlingloff, Software-Engineering II 9.12.2005
Thanks for the pictures: © Sergio Montenegro, FIRST
Folie 4H. Schlingloff, Software-Engineering II 9.12.2005
Redundanz und Fehlertoleranz
• Redundanz: Das Vorhandensein mehrerer Möglichkeiten, um eine gegebene Funktion zu erbringen Strukturelle Redundanz
- Vervielfältigung von Komponenten- baugleich oder alternative Entwürfe (Replikation /
Diversität) Funktionale Redundanz
- zusätzliche, unterstützende Komponenten- Test, Konfiguration, Sensoren
Informationsredundanz- Zusätzliche Informationen- Prüfbits, zusätzliche Zeiger, Zähler
Zeitliche Redundanz- Zusätzliche Zeit für wiederholte Ausführungen (Retry)
Folie 5H. Schlingloff, Software-Engineering II 9.12.2005
Fehlertoleranz
• Fehlertoleranz: Die Fähigkeit eines Systems, trotz aufgetretener Fehler die vorgesehene Funktion zu erbringen
• Ziel: Verringerung der Ausfallwahrscheinlichkeit durch Redundanz Komponentenausfälle müssen unabhängige
Ereignisse sein („single faults“) Einzelne Komponente hat Ausfallwahrscheinlichkeit
p; Gesamtausfallwahrscheinlichkeit? Notwendiger Replikationsgrad für geforderte
Verfügbarkeit?
Folie 6H. Schlingloff, Software-Engineering II 9.12.2005
Warum Fehlertoleranz?
Steuerungscomputer
SensorenAktuatoren
Technischer Prozeß
Folie 7H. Schlingloff, Software-Engineering II 9.12.2005
Folie 8H. Schlingloff, Software-Engineering II 9.12.2005
Kenngrößen
• Zuverlässigkeit (reliability) Grad der Fähigkeit einer Betrachtungseinheit, die geforderte
Leistung während einer vorgegebenen Zeitspanne zu erbringen Wahrscheinlichkeit der Abwesenheit von Ausfällen über dem
Beobachtungszeitraum• gleichzusetzen mit Überlebenswahrscheinlichkeit
R(t)=Wahrscheinlichkeit, dass das Systemim Zeitraum [0,t] fehlerfrei ist; oft R(t)=e-t
• Ausfallwahrscheinlichkeit F(t) = Wahrscheinlichkeit (mindestens) eines Ausfalls im
Beobachtungszeitraum; F(t) = 1 - R(t)• Verfügbarkeit (availability)
Maß für die Wahrscheinlichkeit, dass die geforderte Leistung zu einem Zeitpunkt erbracht werden kann
A(t) = Wahrscheinlichkeit, dass das System zum Zeitpunkt t intakt ist (MTBF/(MTBF+MTTR))
• Verlässlichkeit (dependability) Maß für das gerechtfertigte Vertrauen in die Leistung eines Systems
Folie 9H. Schlingloff, Software-Engineering II 9.12.2005
Ausfallrate
• Ausfallrate: Wahrscheinlichkeit, dass sich ein Ausfall pro Zeiteinheit in einem Intervall [t,t+] ereignet, gegeben Ausfallfreiheit bis zu t
F(t+)-F(t) / *R(t)Häufigkeit, mit der sich Ausfälle in einem Intervall ereignen
• Hazard-Rate: bedingte Ausfalldichtez(t) = f(t) / R(t)
Grenzwert der Ausfallrate für kleine Intervalle• Steuerung mit Control Loop: Wahrscheinlichkeit
mindestens eines Versagens in n Läufen: 1-(1-p)n
p: Wahrscheinlichkeit des Versagens in einem Programmlauf (1-p): Wahrscheinlichkeit des Nichtversagens (1-p)n: Wahrscheinlichkeit des Nichtversagens in n paarweise
unabhängigen Läufen
Folie 10H. Schlingloff, Software-Engineering II 9.12.2005
Techniken
•Erhöhung der Zuverlässigkeit durch Redundanz identische Replikation oder diversitäre
Entwicklung
•statische oder dynamische Redundanz Statische Redundanz
- Alle Ressourcen ständig im Betrieb- Im Fehlerfall direktes Umschalten
Dynamische Redundanz- Stand-by, Aktivierung erst im Fehlerfall- Ggf. Fremdnutzung der Ressource (kritisch!)
Folie 11H. Schlingloff, Software-Engineering II 9.12.2005
Fehlerarten
•SW-Fehler: diversitäre Entwicklung (teuer!)
•HW-Fehler, z.B. Speicher, Leitungen, Prozessoren…
•Byzantinische und nichtbyzantinische Fehler
•Fail-Operational, Fail-Soft, Fail-Stop
Folie 12H. Schlingloff, Software-Engineering II 9.12.2005
A CB
Seriell
A
Parallel
Was soll man duplizieren?
Ventilausfall auf: Wasser fliesst ab
Ventilausfall zu: Ablauf blockiert
sicher gegen einzelnen Ausfall
Folie 13H. Schlingloff, Software-Engineering II 9.12.2005
Folie 14H. Schlingloff, Software-Engineering II 9.12.2005
Folie 15H. Schlingloff, Software-Engineering II 9.12.2005
Triple Modular Redundancy (TMR)
• 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
Folie 16H. Schlingloff, Software-Engineering II 9.12.2005
Verallgemeinerung
Folie 17H. Schlingloff, Software-Engineering II 9.12.2005
Folie 18H. Schlingloff, Software-Engineering II 9.12.2005
Dynamische Redundanz
•Vorteile geringerer Ressourcenverbrauch Möglichkeit der Nutzung der Reserven
•Nachteile Verzögerung beim Umschalten Standby-Komponenten
Folie 19H. Schlingloff, Software-Engineering II 9.12.2005
Aufgaben der FT-Komponenten
• Fehlerdiagnose (Selbstdiagnose / Fremddiagnose) Ist ein Fehler aufgetreten? 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)
Folie 20H. Schlingloff, Software-Engineering II 9.12.2005
Stand der Praxis
•Sensorik, Aktuatorik 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)
Folie 21H. Schlingloff, Software-Engineering II 9.12.2005
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
Folie 22H. Schlingloff, Software-Engineering II 9.12.2005
Fehlerakkumulation
Folie 23H. Schlingloff, Software-Engineering II 9.12.2005
Folie 24H. Schlingloff, Software-Engineering II 9.12.2005