Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 11 » fehlertolerierende-softwarearchitetekturen-ws18   (Übersicht)

no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.


pruefungen:hauptstudium:ls11:fehlertolerierende-softwarearchitetekturen-ws18 [13.04.2019 17:32] (aktuell) – angelegt kissen
Zeile 1: Zeile 1:
 +Vorlesung: Fehlertolerierende Softwarearchitekturen WS2018/19
 +Prüferin: Prof. Dr. Saglietti
 +Note: 1,3
 +
 +Mein Eindruck
 +Die Prüfung war relativ entspannt, obwohl Frau Saglietti wie immer etwas hektisch war. Die Benotung war fair.
 +Wichtig ist es sich in der Prüfung formal korrekt auszudrücken.
 +"Zurücksetzen auf einen vorherigen Zeitpunkt" und "Zurücksetzen auf einen vorherigen Zustand" macht für Frau Saglietti definitiv einen Unterschied.
 +
 +Prüfung
 +P: Was ist fehlertolerierende Software?
 +S: Software, die Versucht Versagen zu verhindern.
 +
 +P: Wie verhindert man nun dieses Versagen?
 +S: In der Regel durch Redundanz.
 +
 +P: Was heißt in der Regel? Gibt es auch noch andere Möglichkeiten?
 +S: Nein
 +
 +P: Welche Arten von Redundanz gibt es und wo sind die Unterschiede?
 +S: - Homogene Redundanz (durch gleichartige Mittel)
 +   - Diversitäre Redundanz (durch unterschiedliche Mittel)
 +
 +P: Wie kann man Redundanz noch unterscheiden?
 +S: - Arten der vermehrten Mittel
 +   - Arten der Aktivierung
 +
 +P: Nennen Sie verschiedene Arten von vermehrten Mitteln und erklären Sie diese.
 +S: - Strukturelle Redundanz (Vermehrung der Komponenten)
 +   - Funktionale Redundanz (zusätzliche Dienste, z. B. für Fehlererkennung (Voter))
 +   - Informationsredundanz (über Nutzinformation hinausgehende Informationen, z. B. Paritätsbit)
 +   - Zeitliche Redundanz (Aufbringen von zusätzlichem zeitlichen Aufwand, z. B. Rücksetzblockprogrammierung)
 +
 +P: Welche Arten der Aktivierung von Redundanz gibt es?
 +S: - Statische Redundanz
 +   - Dynamische Redundanz
 +
 +P: Wo ist der Unterschied zu kalter/heißer Reserve?
 +S: Heiße Reserve ist bereits aktiv (beispielsweise für andere Aufgaben) und kann schnell verwendet werden. Kalte Reserve wird so lange geschont bis im sie Einsatz gebraucht wird.
 +
 +P: Beschreiben Sie N-Versionen-Programmierung und Rücksetzblockprogrammierung.
 +S: => Gleiche Zeichnungen wie in den Folien.
 +
 +P: Erklären Sie die Arten von vermehrten Mitteln und Art der Aktivierung in den beiden Techniken.
 +S:
 +N-Versionen-Programmierung:
 +    - verschiedene Versionen (strukturelle Redundanz)
 +    - Voter (funktionale Redundanz und auch kleine zeitliche Redundanz)
 +    - keine Informationsredundanz
 +    - statische Redundanz
 +
 +Rücksetzblockprogrammierung:
 +    - evtl. verschiedene Versionen der Programmblöcke (strukturelle Redundanz)
 +    - Voter (funktionale Redundanz und auch kleine zeitliche Redundanz)
 +    - Rücksetzen des Zustands (zeitliche Redundanz)
 +    - keine Informationsredundanz
 +    - dynamische Redundanz
 +
 +P: Was sind die jeweiligen Vor-/Nachteile der jeweiligen Technik?
 +N-Versionen-Programmierung:
 +    - Parallele Abarbeitung
 +    - Relativtest (sehr einfach)
 +
 +Rücksetzblockprogrammierung:
 +    - Rücksetzen nur wenn nötig (Zeitersparnis)
 +    - geringer Hardwareaufwand (nicht parallel)
 +
 +Die Nachteile sind dann das Komplement zu den jeweiligen Vorteilen.
 +
 +P: Leiten sie die Zuverlässigkeit von TMR her.
 +S: Die Formel leitet sich aus der Aussage "Es müssen mehr als zwei Komponenten funktionsfähig sein" ab.
 +   R(t) = Sum_(j = 2)^(3) (3 über 2) * R_kom^j *(1 - R_komp^(3 - j)) = ... = 3 * R_komp^2 - 2 * R_komp^3
 +
 +P: Ist Softwareversagen immer unabhängig?
 +S: Nein. Formaler Beweis durch Eckhardt und Lee und experimenteller Nachweis durch Knight und Leveson.
 +
 +P: Was war der Ansatz von Eckhard und Lee?
 +S: Es gibt "schwierigere" Testfälle in denen Software wahrscheindlicher versagt.
 +=> Varianz der Intensitäetsfunktion != 0
 +=> Software ist nicht unabhängig.
 +
 +P: Zu welchem Kapitel der Vorlesung können Sie mir noch was sagen?
 +S: Back-to-Back Tests => Hinzeichnen der Versagensräume.
 +
 +P: Wie kann man die Wahrscheinlichkeit von gemeinsamen gleichem Versagen verringern?
 +S: Größerer Ausgabebereich (mehr als nur ein Bit Ergebnis war richtig/falsch), evtl. Werte von Zwischenergebnissen einbeziehen bzw. Werte vor der Informationsverringerung benutzen.