UnivIS
Informationssystem der Friedrich-Alexander-Universität Erlangen-Nürnberg © Config eG 
FAU Logo
  Sammlung/Stundenplan    Modulbelegung Home  |  Rechtliches  |  Kontakt  |  Hilfe    
Suche:      Semester:   
 
 Darstellung
 
Druckansicht

 
 
Modulbeschreibung (PDF)

 
 
Informatik (Bachelor of Science) >>

Echtzeitsysteme 2 - Verlässliche Echtzeitsysteme (V+Ü) (EZS2)5 ECTS
(englische Bezeichnung: Real-Time Systems 2 - Dependable Real-Time Systems (V+Ü))
(Prüfungsordnungsmodul: Verlässliche Echtzeitsysteme (Vorlesung mit Übungen))

Modulverantwortliche/r: Peter Wägemann
Lehrende: Peter Wägemann, Simon Schuster, Tim Rheinfels


Startsemester: WS 2022/2023Dauer: 1 SemesterTurnus: jährlich (SS)
Präsenzzeit: 60 Std.Eigenstudium: 90 Std.Sprache: Deutsch

Lehrveranstaltungen:


Empfohlene Voraussetzungen:

Für eine erfolgreiche Teilnahme an der Veranstaltung sind grundlegende Programmierkenntnisse in C/C++ erforderlich. Diese können durch den (empfohlenen) Besuch entsprechender Grundlagenveranstaltungen oder im Eigenstudium erworben sein.
Weiterhin sind grundlegende Kenntnisse über Echtzeitsystemeeine, zum Beispiel durch den Besuch der Veranstaltung "Echtzeitsysteme", empfohlen.
Eine formale Voraussetzung besteht in diesem Zusammenhang jedoch nicht.

Es wird empfohlen, folgende Module zu absolvieren, bevor dieses Modul belegt wird:

Grundlagen der systemnahen Programmierung in C (SS 2022)
Systemprogrammierung (SS 2022)
Systemnahe Programmierung in C (SS 2022)
Grundlagen der Systemprogrammierung (SS 2022)


Inhalt:

Viele Echtzeitsysteme sind in Bereiche des täglichen Lebens eingebettete, die hohe Anforderungen an die funktionale Sicherheit dieser Systeme stellen. Beispiele hierfür sind Fahrerassistenzsysteme in modernen Automobilen, medizinische Geräte, Prozessanlagen in Kernkraftwerken oder Chemiefabriken oder Flugzeuge. Fehlfunktionen in diesen Anwendungen ziehen mitunter katastrophale Konsequenzen nach sich - Menschen können ernsthaft verletzt oder sogar getötet werden, Landstriche können unbewohnbar gemacht oder zumindest großer finanzieller Schaden verursacht werden.

Dieses Modul betrachtet Methoden und Werkzeuge, die uns helfen können, einerseits zuverlässig Software zu entwickeln (also Fehler im Programm zu entdecken und zu vermeiden), und andererseits zuverlässige Software zu entwickeln (also Abstraktionen, die auch im Fehlerfall ihre Gültigkeit behalten). Hierbei steht weniger die Vermittlung theoretischer Grundkenntnisse auf diesen Gebieten im Vordergrund, also vielmehr

  • die praktische Anwendung existierende Werkzeuge und Methoden

  • sowie die Erfahrung und das Verständnis ihrer Grenzen.

Auf diese Weise soll ein Fundament für die konstruktive Umsetzung verlässlicher Echtzeitsysteme gelegt werden. Dieses Modul soll daher fundierte Anknüpfungspunkte für die Entwicklung verlässlicher Echtzeitsysteme vermitteln, die Ad-hoc-Techniken möglichst ersetzen sollen.

Lernziele und Kompetenzen:

Studierende, die das Modul erfolgreich abgeschlossen haben:

  • nennen die Konzepte und die Taxonomie verlässlicher Systeme, unterscheiden Software- und Hardwarefehler und klassifizieren Fehler (Defekt, Fehler, Fehlverhalten).

  • stellen Fehlerbäume auf.

  • organisieren Softwareentwicklungsprojekte mittels der Versionsverwaltung git.

  • vergleichen die verschiedenen Arten der Redundanz als Grundvorraussetzung für Fehlererkennung und -toleranz.

  • entwickeln fehlertolerante Systeme mittels Replikation.

  • diskutieren die Fehlerhypothese und die Sicherstellung von Replikdeterminismus.

  • erläutern die Vor- und Nachteile softwarebasierter Replikation und den Einsatz von Diversität.

  • wenden Informationsredundanz zur Härtung von Daten- und Kontrollflüssen an.

  • bewerten die Effektivität der arithmetischer Codierung von Programmen und verallgemeinern diesen Ansatz auf die verschiedenen Implementeirungsebenen (Maschinenprogramm zu Prozessinkarnation).

  • interpretieren den Einfluss der Ausführungsplattform (Hardware, Betriebssystem) auf die Leistungsfähigkeit der Fehlererkennung.

  • konzipieren eine fehlertolerante Ausführungsumgebung für ein softwarebasiertes TMR-System basierend auf ANBD-Codierung.

  • nennen die Grundlagen der systematischen Fehlerinjektion.

  • überprüfen die Wirksamkeit von Fehlertoleranzmechanismen mittels Fehlerinjektion auf der Befehlssatzebene.

  • entwickeln Testfälle für die Fehlerinjektion mittels des fail* Werkzeugs.

  • setzten Messergebnisse in Relation zu dem tatsächlichen Fehlerraum.

  • beschreiben die Grundlagen der Fehlererholung (Vorwärts- bzw. Rückwärtskorrektur) und Reintegration fehlgeschlagener Knoten.

  • vergleichen den Zustandstransfer am Beispiel der Running bzw. Recursive State Restoration.

  • benennen Konzepte der Rückwärtskorrektur durch Entwurfsalternativen (Recovery Blocks).

  • fassen die Grundlagen des dynamischen Testens zusammen.

  • unterscheiden Black-Box und White-Box Testverfahren.

  • konzipieren und implementieren Testfälle.

  • überprüfen die Testüberdeckung anhand grundlegender Überdeckungskriterien (Anweisungs- bis Bedingungsüberdeckung).

  • geben die Grundlagen der statischen Programmanalyse wieder.

  • nennen die Funktionsweise von Hoare- WP-Kalkül.

  • verifizieren eine Ampelsteuerung mittels des FramaC Werkzeugs zur statischen Analyse von C Programmen.

  • beschreiben den Korrektheitsnachweis mittels abstrakter Interpretation und unterscheiden die konkrete von der abstrakten Programmsemnatik.

  • erläutern die Funktionsweise von Sammel- und Präfixsemantiken.

  • erstellen einen Korrektheitsbeweis für einen a-b-Filter mittels des Astrée Werkzeugs zur abstrakten Interpretation von C Programmen.

  • bewerten die Verlässlichkeit kommerzieller, sicherheitskritischer Systeme anhand von Fallstudien (Sizewell B, Airbus A320).

  • erschließen sich typische Probleme und Fehlerquellen bei der Programmierung von eingebetteten Systemen im Allgemeinen.

  • klassifizieren Fallstricke und Mehrdeutigkeiten in der Programmiersprache C99 im Besonderen.

  • können in Gruppen kooperativ und effektiv arbeiten.

  • können ihre Entwurfs- und Implementierungsentscheidungen kompakt präsentieren und argumentativ vertreten.

  • reflektieren ihre Entscheidungen kritisch und leiten Alternativen ab.

  • können offen und konstruktiv mit Schwachpunkten in der Konzeption wie Umsetzung umgehen.


Weitere Informationen:

Schlüsselwörter: Echtzeitsysteme, Real-Time Systems, Fehlertoleranz, Fault Tolerance
www: https://sys.cs.fau.de/lehre/WS22/vezs

Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan:

  1. Informatik (Bachelor of Science)
    (Po-Vers. 2022w | TechFak | Informatik (Bachelor of Science) | Gesamtkonto | Wahlpflichtbereich (Wahlpflichtmodule aus mind. 2 Vertiefungsrichtungen) | Vertiefungsrichtung Verteilte Systeme und Betriebssysteme | Verlässliche Echtzeitsysteme (Vorlesung mit Übungen))
Dieses Modul ist daneben auch in den Studienfächern "Elektrotechnik, Elektronik und Informationstechnik (Bachelor of Science)", "Informatik (Bachelor of Arts (2 Fächer))", "Informatik (Master of Science)", "Informations- und Kommunikationstechnik (Master of Science)", "Maschinenbau (Master of Science)", "Mathematik (Bachelor of Science)", "Mechatronik (Bachelor of Science)", "Mechatronik (Master of Science)", "Medizintechnik (Master of Science)", "Wirtschaftsingenieurwesen (Master of Science)" verwendbar. Details

Studien-/Prüfungsleistungen:

Verlässliche Echtzeitsysteme (Vorlesung mit Übungen) (Prüfungsnummer: 876012)

(englischer Titel: Dependable Real-Time Systems (Lecture with Exercises))

Prüfungsleistung, mündliche Prüfung, Dauer (in Minuten): 30, benotet, 5 ECTS
Anteil an der Berechnung der Modulnote: 100.0 %
weitere Erläuterungen:
30-minütige mündliche Prüfung über den gesamten Stoff der Veranstaltung. Die Prüfungssprache ist Deutsch oder Englisch, abhängig von der Wahl der Studierenden. Teilnahme an den Übungen und die Bearbeitung aller Übungsaufgaben wird hierzu dringend empfohlen!
Prüfungssprache: Deutsch oder Englisch

Erstablegung: WS 2022/2023, 1. Wdh.: SS 2023
1. Prüfer: Wolfgang Schröder-Preikschat

UnivIS ist ein Produkt der Config eG, Buckenhof