Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 4 » VEZS 2018-08-06
VEZS 2018-08-06
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?
- Die Nichterfüllung von festgelegten Forderungen (Spezifikation vs. Implementierung)
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?
- Defekt - innerer Fehler - Sichtbarkeit des Fehlers
- Implikationen
- gutartiger Defekt
- Software vs. Hardwarefehler
Robuster Systementwurf?
- Gefahrenanalyse, Risikobeurteilung, Fehlerbaumanalyse
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:
- Ist-Soll-Test vs. Ist-Ist-Test
- Akzeptanztest kann auch Vektor von Eingabewerten entgegennehmen
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:
- Ist-Soll-Test vs. Ist-Ist-Test
- Akzeptanztest kann auch Vektor von Eingabewerten entgegennehmen
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
- + günstig, schnell
- - schafft nur Vertrauen nicht Sicherheit, kombinatorische Explosion
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?
- Beweis der Korrektheit
- konkrete Semantik
- abstrakte Semantik
- Code wird nicht ausgeführt nur interpretiert
Eigenschaften der abstrakten Semantik?
- Vollständig, Korrekt
- Präzise
- Geringe Komplexität
- alles inkl. Skizze
Beispiel abstrakter Semantik?
- Intervallabstraktion (mit Skizze)
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?
- Schleifeninvarianten: Müssen vor, während und nach der Schleife gelten (Bsp. Maximumsfunktion)
Haben die Konzepte Nachteile?
- Vor-/Nachbedingungen müssen per Hand angegeben werden