Refine
Is part of the Bibliography
- no (1)
Has Fulltext
- yes (1)
Year of publication
- 2021 (1)
Document Type
- Master's Thesis (1)
Institute
Language
- German (1)
Iterative Machbarkeitsstudie einer Domain Specific Language (DSL) im Embedded-Automotive-Bereich
(2021)
C ist eine Programmiersprache, die sich aufgrund ihrer Ressourceneffizienz besonders gut dazu eignet, um Software für Steuergeräte zu entwickeln. Die Firma Conti Temic microelectronic GmbH beschäftigt sich unter anderem mit der Entwicklung von Steuergeräten, deren Software in C programmiert wird. Die entwickelten Algorithmen sollen in mehrere Software-Projekte integriert werden können. Als Integration bezeichnet man die Verknüpfung und gemeinsame Ausführung mehrerer Algorithmen.
Im bisherigen Ansatz sind die Entwicklung und die Integration von C-Code eng miteinander verwoben. Die Masterarbeit beschäftigt sich mit der Entwicklung einer domänenspezifischen Sprache, die eine getrennte Entwicklung und Integration erlaubt. Im Rahmen der Integration sollen über mehrere CSV-Dateien Konfigurationen an den integrierten Algorithmen vorgenommen werden können.
Ergänzend zu der domänenspezifischen Sprache soll ein Trans-Compiler implementiert werden, der den Code der domänenspezifischen Sprache in C-Code übersetzt. Dieser C-Code soll nach der Kompilierung auf den Steuergeräten der Conti Temic microelectronic GmbH ausgeführt werden können. Mit der DSL und dem implementierten Trans-Compiler soll der Arbeitsaufwand für die Integration der Software-Module verringert werden.
Um den generierten C-Code nach der Kompilierung auf den Steuergeräten der Conti Temic microelectronic GmbH ausführen zu können, darf dieser keine dynamisch alloziierten Variablen und keine Gleitkommaarithmetik enthalten. Diese Einschränkungen müssen im Rahmen der Implementierung des Trans-Compilers berücksichtigt werden.
Im Laufe der Anfertigung der Masterarbeit wurden im Austausch mit der Conti Temic microelectronic GmbH mehrere Anforderungen an die DSL definiert. Entsprechend dieser Anforderungen wurden die Sprach-Elemente der domänenspezifischen Sprache entwickelt. Dabei wurden einfache, abstrakte Testfälle implementiert, um mit diesen die Umsetzbarkeit der Anforderungen zu untersuchen.
Simultan zu der Definition der Anforderungen und der Entwicklung der Sprach-Elemente wurde der Trans-Compiler implementiert. Mit mehreren, abstrakten Testfällen wurden die Sprach-Elemente der DSL untersucht, um zu prüfen, ob der Trans-Compiler aus gültigem DSL-Code validen C-Code generiert. Schrittweise wurden alle Testfälle validiert, sodass schlussendlich sichergestellt werden konnte, dass der Compiler aus syntaktisch und semantisch korrektem DSL-Code stets gültigen C-Code generiert.
Das Ziel, eine domänenspezifische Sprache zu entwickeln, die eine getrennte Entwicklung und Integration von Algorithmen erlaubt, wurde erreicht. Mehrere CSV-Dateien ermöglichen die unabhängige Integration verschiedener Algorithmen in größere Projekte.