Thema: Containerization einer HLA-basierten Co-Simulation mittels Docker

Thema: Containerization einer HLA-basierten Co-Simulation mittels Docker

Grunddaten

Titel Containerization einer HLA-basierten Co-Simulation mittels Docker
Beschreibung

UPDATE 30.01.2024: Das Abschlussarbeitsthema ist weiterhin verfügbar.

High Level Architecture (HLA) ist ein IEEE Standard für verteilte Co-Simulationen. Für den Einsatz im Rahmen von Validierung und Verifizierung von (Teil-)Systemen zukünftiger hochautomatisierter und autonomer Fahrzeuge unterschiedlicher Domänen wird aktuell ein neuer simulationsbasierter Ansatz erprobt. Für diesen Zweck wurde bereits ein prototypisches System umgesetzt um szenariobasierte Testreihen modellgetrieben durchzuführen. Dabei wird ein Szenario als direkter Input genutzt, interpretiert, die Simulationsobjekte instanziiert und anschließend ausgeführt. Dieser Prototyp arbeitet zurzeit noch nicht physikalisch verteilt. Stattdessen werden alle Sub-Simulationen auf demselben Host ausgeführt. Um eine plattform- und weitestgehend technologieunabhängige Verteilung und Initialisierung der Sub-Simulationen zu gewährleisten, könnte der Einsatz von Docker (https://www.docker.com/) eine gute Wahl sein.

Folgende Abbildung stellt die o.g. Idee stark vereinfacht dar:

Grobe Skizze des angedachten Aufbaus

Literatur für den Einstieg:

Heimateinrichtung Department für Informatik
Art der Arbeit praktisch / anwendungsbezogen
Abschlussarbeitstyp Master
Autor David Reiher, M. Sc.
Status abgeschlossen
Aufgabenstellung

Der bestehende Prototyp muss dahingehend analysiert werden, ob und wie die Verwendung von Docker zur Containerization der Sub-Simulationen (HLA Federates) umsetzbar ist. Anschließend muss für die Umsetzung ein konkretes Konzept ausgearbeitet und prototypisch implementiert werden. Dabei ist die Anzahl der im späteren Einsatz nötigen manueller Arbeitsschritte möglichst niedrig zu halten. Eine abschließende Erprobung des so entstandenen Systems anhand einiger konkreter Szenarien aus aktuellen Projekten ist obligatorisch.

Voraussetzung

Unbedingt erforderlich:
- (Sehr) Gute Programmierkenntnisse in Java
- Gutes Verständnis bzgl. Systemarchitekturen
- Spaß an der Umsetzung praktischer Projekte

Optional:
- Erfahrungen mit Docker (Docker ist sehr gut dokumentiert, der Einstieg gelingt auch ohne schnell.)

Erstellt 27.04.2022
Abgeschlossen am 03.03.2023