elib
DLR-Header
DLR-Logo -> http://www.dlr.de
DLR Portal Home | Imprint | Contact | Deutsch
Fontsize: [-] 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. Bachelor's, Duale Hochschule Baden-Württemberg Mannheim.

[img] PDF (Bachelorarbeit Florian Philipp) - Registered users only - Requires a PDF viewer such as GSview, Xpdf or Adobe Acrobat Reader
2MB

Abstract

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.

Document Type:Thesis (Bachelor's)
Additional Information:Betreuer: Jeremy Wolfram
Title:Semantische Analyse und automatische Taskparallelisierung einer domänenspezifischen Sprache zur Messdatenverarbeitung
Authors:
AuthorsInstitution or Email of Authors
Philipp, FlorianUNSPECIFIED
Date:September 2010
Number of Pages:126
Status:Unpublished
Keywords:Domänenspezifische Sprache, Parallelisierung, Messdatenverarbeitung, Abhängigkeitsanalyse
Institution:Duale Hochschule Baden-Württemberg Mannheim
HGF - Research field:Aeronautics, Space and Transport (old)
HGF - Program:Space (old)
HGF - Program Themes:W RP - Raumtransport
DLR - Research area:Space
DLR - Program:W RP - Raumtransport
DLR - Research theme (Project):W - Raumfahrzeugsysteme - Anlagen u. Messtechnik (old)
Location: Göttingen
Institutes and Institutions:Institute of Aerodynamics and Flow Technology > Spacecraft
Deposited By: Jeremy Wolfram
Deposited On:13 Jan 2011 14:50
Last Modified:12 Dec 2013 21:08

Repository Staff Only: item control page

Browse
Search
Help & Contact
Informationen
electronic library is running on EPrints 3.3.12
Copyright © 2008-2012 German Aerospace Center (DLR). All rights reserved.