Fach: Verlässliche Echtzeitsysteme
ECTS: 5
Prüfer: Peter Ulbrich
Beisitzer: Florian Schmaus
Angenehme Atmosphäre. Stift und Papier liegen bereit. Ablauf sehr ähnlich zu dem in den älteren Protokollen beschriebenem.
Was ist ein Fehler?
Wie kann man diese kategorisieren?
Viele verschiedene Möglichkeiten z.B. nach Art:
permanente Fehler: Sind permanent; können erst durch eine korrigierende Maßnahme behoben werden
sporadische Fehler: unregelmäßiges Auftreten, häufig gebündelt, oft Vorboten permanenter Fehler
transiente Fehler: unregelmäßiges Auftreten, durch äußere Einwirkung ausgelöst, münden aber meistens nicht in einen permanenten Fehler
Fehlerkette?
Robuster Systementwurf?
Fehlerbaumanalyse?
Komponente/Pfade finden die zu Systemversagen führen
Wurzel = Fehlverhalten, ausgehend davon Ursachen identifizieren
Schnitt: atomare Ereignisse, die Schadensereignis verursachen
Minimalschnitt: kritische atomare Ereignisse, die zu Systemversagen führen
Minimalpfade: Gegenteil Schnitt –> atomare Ereignisse, die das Schadensereignis verhindern
Redundanz?
Strukturelle Redundanz: Komponenten gleichartig auslegen
Funktionelle Redundanz: Komponenten verschiedenartig auslegen (unterschiedliche Herleitung)
Informationsredundanz: Einbringen zusätzlicher Informationen
zeitliche Redundanz: Schlupfzeit
Vor-/Nachteile der verschiedenen Arten von Redundanz?
Strukturell: + Verlässlich, - teuer, - Gleichtaktfehler
Funktionell: + Gleichtaktfehler durch Diversität vermeiden, - sehr aufwändig, - Anwendungsspezifisch durch Akzeptanztest
Informations-: + Fehlererkennung, - Berechnungen teuer, - noch keine Fehlertoleranz
Akzeptanztest vs. Relativtest:
TMR zeichnen + erklären:
Replikdeterminismus (mit Voraussetzungen), Fehlerisolation (zeitl. + räuml. Isolation, geringe Kopplung)
Kritische Bruchstellen vs. Replikationsbereich
Einigung ueber Eingangswerte: Stellvertreter, Mehrmaliges Auslesen/Replikation, Akzeptanzmaskierer
Akzeptanztest vs. Relativtest:
Wie TMR mehr härten?
Codierung von Replikator, Ausgangsvoter, Sensoren und Aktoren
Sensoren, Aktoren auch mehrfach auslegen (Bsp. Fluss)
Mit TMR Härtung gegen transiente Fehler, wie andere Fehler Vermeiden?
Testen
formale Verifikation
Testen Vor-/Nachteile
Effektivität von Tests messen?
Untere Schranke Anzahl Testfälle MCC
Testüberdeckung (Anweisungs-, Zweig-, Pfad-, Bedingungsüberdeckung - inkl. kurzer Erklärung Vor-/Nachteile)
Statische Analyse?
Eigenschaften der abstrakten Semantik?
Vollständig, Korrekt
Präzise
Geringe Komplexität
alles inkl. Skizze
Beispiel abstrakter Semantik?
Was macht Astree?
Intervallabstraktion: liefert keine Werte, nur Wertebereich für Variablen
Korrektheit im Sinne des C-Standards
Funktionale Verifikation möglich, aber unvollständig
Wie funktionale Eigenschaften nachweisen?
Vor-/Nachbedingungen, Beweis führen
Hoare Kalkül: Wenn Vorbedingung gilt, gilt nach Anweisung, Nachbedingung
WP Kalkül: Genau umgekehrt, wenn Nachbedingung gilt was ist die schwächste Vorbedingung, die vor Anweisung gegolten haben muss
Was gibt es ausser Vor- und Nachbedingungen noch?
Haben die Konzepte Nachteile?