Eine modellgetriebene Automatisierung von Code-Generation, -Integration und -Deployment von autonomen Fahrfunktionen

Thumbnail Image

Date

2024

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Grafische Modelle werden in verschiedenen Bereichen eingesetzt. In den Ingeneurswissenschaften werden sie beispielsweise für das Modellieren der Komponenten und Verhaltensweisen von Cyberphysischen Systemen (CPS) verwendet. MechatronicUML (MUML) ist eine für solche Systeme entworfene Methode für modellgetriebene Softwareentwicklung, deren Toolsuite aus Modellen Code generieren kann. Es ist eine Erweiterung für MUML vorhanden, welche die Generation von Arduinocode ermöglicht, aber sie erfordert einen aufwändigen Post-Processing-Ablauf. Der gesamte Arbeitsprozess für nutzungsbereiten vollständigen Arduinocode ausgehend von den MUML-Modellen beinhaltet viele manuelle Schritte und war daher bisher nicht automatisch durchführbar. Ziel dieser Ausarbeitung ist das Ermöglichen einer automatischen Ausführung des Build-Prozesses für Arduinocode sowie des Hochladens des hergestellten Codes auf die Arduino-Mikrokontroller mittels einer konfigurierbaren Pipeline, welche die Entwicklungspraxis „Continuous Integration/Continuous Deployment“ (CI/CD) unterstützt. Für das Unterstützen der zum Zeitpunkt dieser Ausarbeitung verwendeten Version der Roboterautos wurde zunächst untersucht, wie die MUML-Toolsuite und ihre Erweiterungen entsprechend modifiziert werden können und eine Umsetzung ausgewählt. Diese Anpassungen an den MUML-Modellen wurden erfolgreich durchgeführt und es wurden an den Roboterautos selbst Verbesserungen vorgenommen. Die Integration der Arbeitsschritte wurde als vielseitig konfigurierbare Pipeline umgesetzt. Hierfür wurden die genauen Abläufe und Aufrufe der manuellen Arbeitsschritte erforscht. Die entwickelte CI/CD-Pipeline kann den Arbeitsablauf von den Modelltransformationen bis zum Hochladen des Codes auf die Hardware der Roboterautos automatisch durchführen. Die Evaluation hat gezeigt, dass dieses Pipelinesystem schnell und zuverlässig arbeitet. Sie unterstützt dadurch Entwicklungsarbeiten in einem hohen Maß, weil der Nutzerschaft die zeitraubenden Build-Vorgänge abgenommen und Fehlerrisiken vermieden werden.


Graphical models are used in different areas. In engineering they are used for e.g. the modeling of components and behaviours of cyberphysical systems (CPS). MechatronicUML (MUML) is a model driven software development method designed for such systems and its toolsuite can generate code from models. An expansion for MUML is available, which enables the generation of arduino code, but it requires a complex post-processing process. The whole workflow for ready-to-use complete Arduino code based on MUML models involves many manual steps and therefore it previously couldn’t be performed automatically. Goal of this thesis is enabling an automatic build process for arduino code as well as the uploading of the produced code to the arduino micro controllers using an configurable pipeline, which supports the development practice „Continuous Integration/Continuous Deployment“ (CI/CD). To support the version of the robot cars used at the date of this thesis, it was first investigated how the MUML tool suite and its expansions can be modified accordingly and one implementation has been selected. These adjustments at the MUML models were successfully carried out and the robot cars themselfes were improved. The integration of the work steps has been implemented as a versataile configurable pipeline. For that the exact sequences and calls of the manual work steps have been investigated. The developed CI/CD pipeline can automatically carry out the workflow from the model transformations to the uploading of the code onto the robot cars’ hardware. The evaluation has shown that this pipeline system works fast and reliable. This way it assists development work to an high degree, because the users are relieved of the time-consuming build processes and the risks of error are avoided.

Description

Keywords

Citation

Endorsement

Review

Supplemented By

Referenced By