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ä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.:

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.

Folien und Dokumentation

Die Foliensätze zu den einzelnen Übungsterminen:
Kap. Thema Woche vom Datei
1 Organisatorisches 13.04.2015 PDF (4 auf 1),
PDF,
PDF (animiert)
2 Einführung in die Entwicklungsumgebung PDF (4 auf 1),
PDF,
PDF (animiert)
3 Einführung in CMake und Testen 28.04.2015 PDF (4 auf 1),
PDF,
PDF (animiert)
4 Abstrakte Interpretation 19.05.2015 PDF (4 auf 1),
PDF,
PDF (animiert)
5 Stackmessung 16.06.2015 PDF (4 auf 1),
PDF,
PDF (animiert)
6 Stack- und Laufzeitanalyse 22.06.2015 PDF (4 auf 1),
PDF,
PDF (animiert)
7 Laufzeitfehler 30.06.2015 PDF (4 auf 1),
PDF,
PDF (animiert)
8 Ganzzahl-Überläufe in C 08.06.2015 PDF (4 auf 1),
PDF,
PDF (animiert)

Übungsaufgaben

Nr. Titel Kurzbeschreibung Ausgabetermin Abgabewoche Vorgaben
1 git Einführung in den Umgang mit git 14.04.2015 28.04. - 05.05. Aufgabe 1
2 Testen Implementierung und Testen eine Prioritätswarteschlange 28.04.2015 12.05. - 18.05. Aufgabe 2
3 Abstrakte Interpretation Implementierung und Korrektheitsnachweis eines einfachen Filters 19.05.2015 08.06.2015 Aufgabe 3
4 Wasserstand Stackverbrauchsmessung 15.06.2015 22.06.2015 Aufgabe 4
5 Analyse Statische Laufzeit- und Stackanalyse 23.06.2015 30.06.2015 Aufgabe 5
6 TMR und EAN Schutz durch Einbringung von Redundanz 30.06.2015 14.07.2015 Aufgabe 6