Bachelorarbeit Anbindung von SKilL an Haskell

Werbung
Universität Stuttgart
Institut für Softwaretechnik
Abteilung Programmiersprachen
Prof. Dr. Erhard Plödereder
Bachelorarbeit
Anbindung von SKilL an Haskell
Binding SKilL to Haskell
Hintergrund
Im Rahmen der Softwareanalyse fallen große Datenmengen an, die zwischen verschiedenen Analysephasen serialisiert werden müssen. Um in verschiedenen Analysephasen bereits vorhandene Bibliotheken nutzen zu können,
ist es manchmal erforderlich, einzelne Phasen in unterschiedlichen Programmiersprachen zu implementieren. So
kann es z. B. vorkommen, dass das Front-End in C++ implementiert ist, eine Analyse in Ada, eine weitere in
Python und die Benutzeroberfläche in Java.
Um dieser Problematik zu begegnen, wurde die Sprache SKilL entworfen, die es erlaubt, Datenformate zu
beschreiben. Diese eignen sich zur plattform- und sprachunabhängigen Serialisierung und sind, im Gegensatz zu
existierenden Lösungen wie etwa XML, auf sehr große Datenmengen ausgelegt.
Siehe auch https://github.com/skill-lang/skill
Aufgabenstellung
Derzeit existieren SKilL-Anbindungen lediglich für statisch typisierte objektorientierte Sprachen. Aufgabe dieser Arbeit ist es, zu zeigen, dass es ohne weiteres möglich ist, SKilL an
Sprachen anzubinden, die weder statisch typisiert noch objektorientiert sind.
Dafür müssen folgende Aufgaben erledigt werden:
• Für die Sprache Haskell muss ein Generator entwickelt werden, der mindestens die
SKilL-Kernsprache sowie das Feature documented abdeckt.
• Es soll untersucht werden, inwieweit die Organisation der Felddaten im existierenden SKilL Binärformat genutzt werden kann, um lazy evaluation in Haskell möglichst
performant zu unterstützen.
• Die Interoperabilität zwischen den neu geschaffenen Anbindungen und einer bereits
existierenden muss durch Tests demonstriert werden.
• Optional können Vorschläge für Sprachanpassungen oder Erweiterungen gemacht
werden.
• Die Ergebnisse müssen in einem Zwischen- und einem Abschlussvortrag präsentiert
werden.
Ein Codegenerator wird zur Verfügung gestellt. Ferner gibt es eine formale Spezifikation
der Serialisierungssprache und des Serialisierungsformats sowie eine Reihe von Beispielen,
Testfällen und Testdaten.
Da die in dieser Arbeit entstehenden Codegeneratoren im Bauhaus-System in beliebigen Kontexten verwendet werden sollen, wird eine Lizenz für die uneingeschränkte Nutzung der Generatoren und des generierten bzw. zugebundenen Codes, wie etwa unter der
M.I.T.-Lizenz, erwartet.
Betreuer:
Raum:
email:
Timm Felden
1.218
[email protected]
Prüfer:
Prof. Dr. Erhard Plödereder
Herunterladen