Erlangen eines Grundverständnisses praktischer Aspekte von verteilten Algorithmen in Embedded Systems. Absolventen dieser LVA sind in der Lage, die für die Ausführung verteilter Algorithmen erforderlichen Abstraktionen (message-passing interface, lock-step synchrone Runden) auf einem Microcontroller-Board unter einem Echtzeitbetriebssystem zu implementieren und somit die Basis-Services für ein Networked Embedded System zu realisieren. Anhand der Ausführung geeigneter verteilter Algorithmen in diesem System wird ein vertieftes Verständnis für die resultierende Gesamtperformance und -zuverlässigkeit entwickelt.
Die LVA setzt sich aus einem kurzen Einführungsteil und dem anschließenden Übungsteil zusammen, der vorzugsweise in Gruppenarbeit (2er-Gruppen) erledigt werden sollte. Ersterer bietet eine kurze Einführung in ein real-time operating system (QNX Neutrino, RT-Linux), die zugrundeliegende Hardware (Pandaboard A4 mit ARM9) und einige elementare Kommunikationsprimitiven und Uhrensynchronisationsalgorithmen. Der praktische Teil umfaßt (i) die Installation eines geeigneten Echtzeitbetriebssystems auf der Hardware und dessen (Latency-)Evaluation, (ii) die Implementierung einiger low-level Abstraktionen (Kommunikationsprimitiven, Zeitsynchronisation) für die Ausführung verteilter Algorithmen, und (iii) die Implementierung und Evaluation einiger einfacher verteilter Algorithmen in dem so realisierten Networked Embedded System.
ECTS-Breakdown (4.5 ECTS = 112.5 Stunden):
4h Einführungsvorträge20h Einarbeitung in die RTOS und Hardware-Dokumentation68.5h Implementierungsarbeit, Test und Evaluation20h Dokumentation und Präsentation der Resultate
Beurteilung von Architektur, Design und Evaluation der Lösungen und deren mündlicher Präsentation.
Nicht erforderlich
Grundlagenwissen über verteilte und zuverlässige eingebettete Systeme; Erfahrung mit Microcontroller- und Betriebssystem-Programmierung.