Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

Verlässliche Echtzeitsysteme - Übung

Ziel der Übung

Analog zur Vorlesung befassen sich die Übungsaufgaben mit der zuverlässigen Entwicklung zuverlässiger Software. In den Übungsaufgaben werden sowohl selbstgeschriebene als auch fremde Codestücke unter die Lupe genommen. Die Programmiersprache ist hierbei ausschließlich C. Als Vorraussetzung für die Übung sollte man deshalb grundlegende C-Kenntnisse mitbringen.

Zuverlässige Software entwickeln

Während der erste Teil sich auf das Finden von Entwicklungsfehlern konzentriert, betrachten wir in der zweiten Hälfte auch Fehler, die zur Laufzeit auftreten können. Hierzu zählen vor allem unerwartete Hardwarefehler, die den Programmfluss bzw. Rechenergebnisse beeinflussen können. In der Übung werden wir hierzu verschiedene konstruktive Maßnahmen kennenlernen und umsetzen, die die Software gegen derartige Fehlerszenarien härten können.

Zuverlässig entwickeln

Ein wesentlicher Bestandteil dieser Veranstaltung ist das Kennenlernen und der Umgang mit Werkzeugen, die die Entwicklung verlässlicher Systeme unterstützen. Hierzu zählen u.a.:

Evaluationsergebnis SS 2018

  • LQI: 1,43
  • Evaluationsergebniss:

Übungsfolien und vorläufige Terminplanung

KapitelThemaDatumFolien
U1Organisation 09.04.2018 1x1, 2x2, animiert
U2Einführung in den Umgang mit git 1x1, 2x2, animiert
U3Implementieren eines Filters mit Festkommaarithmetik 16.04.2018 1x1, 2x2, animiert
U4Triple Modular Redundancy 30.04.2018 1x1, 2x2, animiert
U5EAN Codes und Fehlerinjektion 14.05.2018 1x1, 2x2, animiert
U6Testen 28.05.2018 1x1, 2x2, animiert
U7Stackverbrauchs Analyse 11.06.2018 1x1, 2x2, animiert
U8Abstrakte Interpretation 25.06.2018 1x1, 2x2, animiert

Übungsaufgaben

Nr. Titel Kurzbeschreibung Ausgabetermin Fester Termin Vorgaben
1 git Einführung in den Umgang mit git 09.04.2018 26.04.2018 Aufgabe 1
2 Filter Implementieren eines Filters mit Festkommaarithmetik 16.04.2018 03.05.2018 Aufgabe 2
3 TMR Schutz durch Einbringung von Redundanz 30.04.2018 24.05.2018 Aufgabe 3
4 EAN Schutz durch arithmetische Codierung 14.05.2018 07.06.2018 Aufgabe 4
5 Testen Manuelles und automatisiertes Testen 28.05.2018 14.06.2018 Aufgabe 5
6 Statische Analysen clang static analyzer, stack analyse, WCET 11.06.2018 28.06.2018 Aufgabe 6
7 Abstrakte Interpretation Implementierung und Korrektheitsnachweis eines einfachen Ringpuffers und Filters 25.06.2018 05.07.2018 Aufgabe 7