elib
DLR-Header
DLR-Logo -> http://www.dlr.de
DLR Portal Home | Impressum | Datenschutz | Kontakt | English
Schriftgröße: [-] Text [+]

Semantische Analyse und automatische Taskparallelisierung einer domänenspezifischen Sprache zur Messdatenverarbeitung

Philipp, Florian (2010) Semantische Analyse und automatische Taskparallelisierung einer domänenspezifischen Sprache zur Messdatenverarbeitung. Bachelorarbeit, Duale Hochschule Baden-Württemberg Mannheim.

[img] PDF (Bachelorarbeit Florian Philipp) - Nur DLR-intern zugänglich
2MB

Kurzfassung

Das Deutsche Zentrum für Luft- und Raumfahrt Göttingen unterhält im Institut Aerodynamik und Strömungstechnik, Abteilung Raumfahrzeuge Versuchsanlagen wie den Hochenthalpiekanal Göttingen und die Simulationsanlage für Treibstrahlen Göttingen. Um die wissenschaftlichen Mitarbeiter von häufig wiederkehrenden Aufgaben der Messdatenauswertung zu befreien, wird eine abteilungsintern entwickelte, speziell auf die Anforderungen zugeschnittene Software verwendet. Diese wird vom Benutzer über eine domänenspezifische Skriptsprache (Domain Specific Language; DSL) bedient, die die Auswertungssoftware mithilfe eines handgeschriebenen Parsers verarbeitet. Zur leichteren Bearbeitung dieser Skripte wurde in einer vorherigen Arbeit ein Texteditor entwickelt, welcher auf Basis eines neuen, aus einer formalen Grammatik generierten Parsers fortgeschrittene Funktionen wie Syntaxhervorhebung und -fehlererkennung bietet. Dieser Parser soll um eine statische semantische Analyse ergänzt werden, durch die Datenflüsse innerhalb der Skripte identifiziert und auf ihre Korrektheit kontrolliert werden können. Diese soll in den Editor integriert werden, um semantische Fehler zu erkennen und dem Benutzer zusätzliche Hilfestellungen wie z.B. eine Autovervollständigung zu bieten. Weiterhin sollen die Syntaxfehlermeldungen des Editors verbessert werden. Daneben soll auf Basis der Datenflüsse eine Abhängigkeitsanalyse realisiert werden. Mit deren Hilfe soll vorhandenes Parallelisierungspotenzial auf Taskebene erkannt und zur Laufzeit ausgenutzt werden. Dafür ist es notwendig, den in Java enwickelten Parser in die in C++ geschriebene Auswertungssoftware zu integrieren und damit den dort bisher verwendeten Parser zu ersetzen. Dafür soll zunächst ein geeignetes Konzept entwickelt und wenn möglich umgesetzt werden. Zunächst werden die Besonderheiten der DSL analysiert, um Erkennungsmerkmale für Abhängigkeiten und Datenflüsse zu identifizieren. Damit wird dann ein Algorithmus auf Basis einer abstrakten Interpretation entworfen, der die Analyse vornimmt und einen Abhängigkeitsgraphen erzeugt, welcher die für die Parallelisierung notwendigen Informationen enthält. Zur Umsetzung der semantischen Analyse wird wie schon für den eigentlichen Parser das DSL-Framework XText verwendet. Die damit erstellte formale Grammatik wird modizifiert, sodass der vom Parser aus den Skripten erzeugte Abstrakte Syntaxbaum (AST) alle für die Analyse und Interpretation notwendigen semantischen Informationen enthält. Der AST wird anschließend unter Verwendung von Laufzeit-Typinformationen auf Basis der Java Reflection-API durchwandert und dabei werden ein Abhängigkeitsgraph und eine Symboltabelle erzeugt. Semantische Fehler werden bei der Erzeugung des Abhängigkeitsgraphen registriert und können an den Benutzer gemeldet werden. Um eine Autovervollständigung zu erreichen, wird die abstrakte Interpretation gezielt an der gewünschten Stelle unterbrochen, um Zugang zu der Symboltabelle zum jeweiligen Zeitpunkt der Ausführung zu erlangen. Um die syntaktischen Fehlermeldungen zu verbessern, wird programmatisch auf die für die Sprache erstellte HTML-Dokumentation zugegriffen. Daraus werden mittels eines XMLParsers gezielt relevante Informationen zu einzelnen Befehlen extrahiert, die dem Benutzer als Hilfestellung angezeigt werden können. Zur Erkennung von Parallelisierungspotenzial wird der Abhängigkeitsgraph zur Laufzeit der Interpretation ausgewertet. Dabei werden auf Basis von Vorgänger/Nachfolger-Relationen ausführungsbereite Teilaufgaben (Tasks) identifiziert. Diese können mit den im Graphen hinterlegten Informationen parametrisiert und ausgeführt werden. Die verfügbaren Systemressourcen an Rechenkernen und IO-Bandbreite werden mithilfe eines First-Fit-Algorithmus gezielt unter den Tasks verteilt, um das Aufteilen einzelner Ressourcen auf mehrere Tasks und den damit verbundenen Overhead zu vermeiden. Mithilfe des Interface-Generators SWIG wird eine Integration von Java- und C++-Komponenten erreicht. Diese können damit im selben Prozess ausgeführt werden und miteinander interagieren. Die Erweiterungen des Editors wurden im Rahmen dieser Arbeit implementiert und getestet. Sie werden bereits im Produktivbetrieb eingesetzt. Für die automatische Taskparallelisierung und die Einbindung des Parsers in die Auswertesoftware wurde ein geeigneter Softwareentwurf erstellt. Außerdem wurden dafür Vorarbeiten geleistet, um eine Anbindung des Parsers an die in C++ entwickelte Auswertungssoftware zu ermöglichen. Nach Abschluss dieser Arbeit wird der Softwareentwurf für die Parallelisierung umgesetzt. Für den Parser und die semantische Analyse werden Testfälle geschrieben werden, um auch bei Veränderungen an der DSL eine korrekte Funktionsweise sicherstellen zu können. Weiterhin ist es geplant, die Kommunikation zwischen Editor und Auswertungssoftware zu verbessern, um Meldungen wie Laufzeitfehler, Fortschrittsanzeigen und ähnliches besser im Editor anzeigen zu können.

elib-URL des Eintrags:https://elib.dlr.de/67229/
Dokumentart:Hochschulschrift (Bachelorarbeit)
Zusätzliche Informationen:Betreuer: Jeremy Wolfram
Titel:Semantische Analyse und automatische Taskparallelisierung einer domänenspezifischen Sprache zur Messdatenverarbeitung
Autoren:
AutorenInstitution oder E-Mail-AdresseAutoren-ORCID-iDORCID Put Code
Philipp, FlorianNICHT SPEZIFIZIERTNICHT SPEZIFIZIERTNICHT SPEZIFIZIERT
Datum:September 2010
Open Access:Nein
Seitenanzahl:126
Status:nicht veröffentlicht
Stichwörter:Domänenspezifische Sprache, Parallelisierung, Messdatenverarbeitung, Abhängigkeitsanalyse
Institution:Duale Hochschule Baden-Württemberg Mannheim
HGF - Forschungsbereich:Verkehr und Weltraum (alt)
HGF - Programm:Weltraum (alt)
HGF - Programmthema:W RP - Raumtransport
DLR - Schwerpunkt:Weltraum
DLR - Forschungsgebiet:W RP - Raumtransport
DLR - Teilgebiet (Projekt, Vorhaben):W - Raumfahrzeugsysteme - Anlagen u. Messtechnik (alt)
Standort: Göttingen
Institute & Einrichtungen:Institut für Aerodynamik und Strömungstechnik > Raumfahrzeuge
Hinterlegt von: Wolfram, Jeremy
Hinterlegt am:13 Jan 2011 14:50
Letzte Änderung:12 Dez 2013 21:08

Nur für Mitarbeiter des Archivs: Kontrollseite des Eintrags

Blättern
Suchen
Hilfe & Kontakt
Informationen
electronic library verwendet EPrints 3.3.12
Gestaltung Webseite und Datenbank: Copyright © Deutsches Zentrum für Luft- und Raumfahrt (DLR). Alle Rechte vorbehalten.