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