• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Embedded Systems Software
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2024/25
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Systemprogrammierung 2
      • Verlässliche Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Lehre
  3. Wintersemester 2024/25
  4. Verlässliche Echtzeitsysteme
  5. Übung

Übung

Bereichsnavigation: Lehre
  • Verlässliche Echtzeitsysteme
    • Übung
      • Gruppenanmeldung
      • Folien
      • Aufgaben
    • Vorlesung
      • Folien
    • Wochenplan
    • Terminübersicht
    • Kontakt

Übung

Ziel der Übung

Analog zur Vorlesung befassen sich die Übungsaufgaben mit der zuverlässigen Entwicklung zuverlässiger Software. Im Rahmen eines Produktentwicklungszyklus werden in den Übungsaufgaben sowohl selbstgeschriebene als auch fremde Codestücke unter die Lupe genommen. Die Programmiersprache ist hierbei vorwiegend C. Als Vorraussetzung für die Übung sollte man deshalb grundlegende C-Kenntnisse mitbringen. Das Ziel der Übungsaufgaben ist die Entwicklung eines konkreten Echtzeitsystems auf Anwendungsebene. Zu diesem Zweck kommt das Echtzeitbetriebssystem eCos als Entwicklungsplattform zum Einsatz. eCos wird in den verschiedensten Anwendungen (Kommunikation, Steuerung, ...) und Produkten (z.B. NETGEAR-Routern) eingesetzt und ist auch als Open-Source-Variante verfügbar. In den Übungen wird ein konkretes Echtzeitsystem auf Basis von eCos aufgebaut, anhand dessen sich die verschiedenen Problemstellungen bei der Entwicklung solcher Systeme zeigen lassen.

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.:
  • Versionsverwaltung von Quellcode mit Hilfe von git
  • Softwaretest mittels CMake und CTest
  • Codeüberdeckungsanalyse mittels gcov (lcov)
  • Überdeckungsorientiertes Fuzzing mittels libFuzzer
  • Fehlerinjektion mittels FAIL*
  • Statische Bestimmung des Speicherbedarfs (StackAnalyzer)
  • Statische Codeanalyse mit Hilfe abstrakter Interpretation (Astrée)
  • Formale Verifikation mittels Frama-C

Umfang der Übungen

Der Umfang der Übungen richtet sich nach den angestrebten Prüfung und den dafür notwendigen ECTS-Punkten (zusätzlich zu den 2,5 ECTS der Vorlesung):
  • 2,5 ECTS: Die Bearbeitung aller Basis-Übungsaufgaben ist verpflichtend.
  • 5,0 ECTS: Die Bearbeitung aller Basis- und Erweiterungs-Übungsaufgaben ist verpflichtend.
Sowohl Tafelübungen als auch Rechnerübungen werden zusammen stattfinden, da sich die beiden Übungsrichtungen hauptsächlich im Umfang der zu bearbeitenden Aufgaben unterscheiden.

Folien und Dokumentation

KapitelThemaDatumFolien
U1Organisation 14.10.​2024 handout, animiert
U2Einführung in den Umgang mit git 14.10.​2024 handout, animiert
U3Implementieren eines Filters mit Festkommaarithmetik 21.10.​2024 handout, animiert
U4Triple Modular Redundancy 28.10.​2024 handout, animiert
U5EAN Codes und Fehlerinjektion 11.11.​2024 handout, animiert
U6Testen 18.11.​2024 handout, animiert
U7Stackverbrauchs Analyse 09.12.​2024 handout, animiert
U8Abstrakte Interpretation 13.01.​2025 handout, animiert
U9Zusammenfassung 03.02.​2025 handout, animiert

Übungsaufgaben

Nr. Titel Kurzbeschreibung Ausgabetermin Fester Termin Vorgaben
1 git Einführung in den Umgang mit git 14.10.​2024 25.10.​2024 Aufgabe 1
2 Filter Implementieren eines Filters mit Festkommaarithmetik 21.10.​2024 08.11.​2024 Aufgabe 2
3 TMR Schutz durch Einbringung von Redundanz 28.10.​2024 22.11.​2024 Aufgabe 3
4 EAN Schutz durch arithmetische Codierung 11.11.​2024 29.11.​2024 Aufgabe 4
5.1 Testen Manuelles und automatisiertes Testen 18.11.​2024 13.12.​2024 Aufgabe 5.1
5.2 Testen Manuelles und automatisiertes Testen 25.11.​2024 20.12.​2024 Aufgabe 5.2
5.3 Testen Manuelles und automatisiertes Testen 02.12.​2024 10.01.​2025 Aufgabe 5.3
6 Statische Analyse Clang Static Analyzer, Stack Analyse, WCET 09.12.​2024 17.01.​2025 Aufgabe 6
7 Abstrakte Interpretation Implementierung und Korrektheitsnachweis eines einfachen Ringpuffers und Filters 13.01.​2025 24.01.​2025 Aufgabe 7
Friedrich-Alexander-Universität
Erlangen-Nürnberg

Schlossplatz 4
91054 Erlangen
  • Impressum
  • Datenschutz
  • Barrierefreiheit
  • Facebook
  • RSS Feed
  • Xing
Nach oben