Programming Languages

Assigned Thesis Topics

If you are interested in writing a thesis (in German or English) in the scope of one of our research topics, just come talk to us.

List of currently assigned thesis topics

Implementing the language server protocol for Koka

The Language Server Protocol (LSP) defines a protocol used between an editor or IDE and a language server that provides language features like auto complete, go to definition, find all references etc. The Language Server Protocol has to be implemented once for every programming language and once for every editor, instead of once for every combination of programming language and editor, thus reducing a m x n problem to a m + n problem.

Read more ...

Highcharts for Scala

Highcharts is a Javascript library for visualizing data. The purpose of this thesis is to develop an adapter of Highcharts for Scala, such that data in the Scala runtime can be visualized with the same ease as with dedicated data science languages such as Mathlab or R.

Read more ...

Declarative Programming of Fischertechnik Robots

We are collaborating with Fischertechnik GmbH to develop novel ways to program their robots. Currently, the robots are programmed either with a high-level but rather limited graphical flow chart language, or using a low-level imperative API. The goal of this thesis is to design and implement a library for high-level modular but general functional programming for the Fischertechnik ROBO TXT controller. This library should be based either on the ``How to Design Worlds” approach by Felleisen et al or in the style of functional reactive programming.

Read more ...

Web-/Cloud-basierte Ausführung von Steuergerätesoftware

Im Bereich der Entwicklung von Steuergerätesoftware kommen als Zielplattformen sowohl Gerätehardware als auch entsprechende Emulatoren zum Einsatz. Deren Verwendung ist vielfach kostenintensiv und für proprietäre Systeme oft mit einem Lock-in ohne Möglichkeiten der Erweiterung oder der Integration mit anderen Systemen verbunden. Der Einsatz von Fat Client Software erschwert darüber hinaus deren externe Verwendung zum Beispiel durch Testingenieure an Offshore-Standorten. Schließlich ist die Skalierbarkeit von Tests auf physischen Steuergeräten oder Fat Client Emulatoren stark eingeschränkt.

Read more ...