Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Themen für Abschlussarbeiten sind in der Regel im Umfeld der aktuellen Forschungsaktivitäten der Abteilung angesiedelt, im Umfeld verteilter Speichersysteme (BigData/Graph-Verarbeitung in Cluster-/Cloud-Umgebungen). Auch eigene Themenvorschläge können berücksichtigt werden, sofern sie thematisch zum Abteilungsprofil passen. Eine Liste möglicher Themen findet sich am Ende der Seite.


Info

Wenn Sie sich bezüglich eines möglichen Themas informieren möchten oder einen eigenen Themenvorschlag haben, sprechen Sie uns an!





Aktuelle Abschlussarbeitsthemen


Erweitern
titleOpenUCX - InfiniBand-Benchmarking

Status
colourGreen
titleBachelor

Panel
borderStyledashed
titleBeschreibung
  • In dieser Bachelorarbeit soll der Observatory-Benchmark (entwickelt von der HHU) erweitert werden, sodass auch Open UCX evaluiert werden kann.
  • Open UCX ist ein Kommunikationsframework, welches transparent verschiedene Netzwerktechologien unterstützt u.a. auch InfiniBand
  • Der Observatory-Benchmark hat zum Ziel Java-basierte InfiniBand-Bibliotheken zu evaluieren und zu vergleichen.
  • Für Open UCX ist ein rudimentäres Java-Binding vorhanden, welches im Rahmen dieser Arbeit optimiert werden soll 



Erweitern
titleTestframework für eine Speicherverwaltung

Status
colourGreen
titleBachelor

Panel
borderStyledashed
titleBeschreibung
  • In dieser Bachelorarbeit soll ein kleines Testframework für eine C-basierte Speicherverwaltung entwickelt werden.
  • Benötigt wird dieses Testframework für den Lehrbetrieb bei dem in einigen Modulen eine Speicherverwaltung in C implementiert wird
  • Das Testframework soll in C oder C++ geschrieben werden und mithilfe verschiedern Allokations- und Freigabemuster eine Speicherverwaltung (Funktionen: malloc und free) testen.
  • Neben der Zuverlässigkeit sollen auch Aspekte der internen und externen Fragmentierung und ggf. auch Performance berücksichtigt werden.



Erweitern
titleBlockCache for hhuOS

Status
colourGreen
titleBACHELOR

Panel
borderStyledashed
titleBeschreibung
  • hhuOS ist ein kompakter Betriebssystem für die Lehre
  • Es ist ein multitaskingfähiges 32-Bit Betriebssystem für x86 Prozessoren

  • Geschrieben ist hhuOS in C++ und C

  • In dieser Bachelorarbeit soll ein einfaches Dateisystem für hhuOS geschrieben werden.
  • Die Integration erfolgt über die vorhandene VFS-Schnittstelle


Panel
borderStyledashed
titleReferenzen

Weitere Informationen zu hhuOS finden sich hier.



Erweitern
titleStructured access to native memory in Java

Status
colourGreen
titleBACHELOR

Java wird häufig auch für die Entwicklung von Big-Data-Systemen verwendet. Hierbei werden die zu verarbeitenden Daten aus Geschwindigkeitsgründen oft außerhalb des Java-Heaps verwaltet wofür die Klasse Unsafe verwendet werden kann. Hiermit kann der Speicher aber nur umständlich wortweise gelesen und geschrieben werden. Es gibt einige Projekte die einen strukturierten Zugriff auf Speicher außerhalb des Java-Heaps realisieren. Graal VM ist beispielsweise eine solche Lösung von Oracle. Im Rahmen dieser Bachelorarbeit soll recherchiert werden, welche weiteren relevanten Ansätze es gibt. Die Techniken für den strukturierten Speicherzugriff sollen beschrieben und in Experimenten evaluiert und verglichen werden.

Panel
borderStyledashed
titleReferenzen



Erweitern
titleInterfacing with Native Code from Java

Status
colourBlue
titleMASTER
 
Status
colourRed
titlePROJEKT

Java bietet seit Version 1.4 die Möglichkeit nativen Code mittels des Java Native Interfaces aufzurufen. Hierfür wird in der Regel von Hand geschriebener Code ("Glue Code") benötigt, welcher die Verbindung zwischen Java und dem nativen Teil des Programms herstellt. Da diese Art nativen Code aufzurufen mit einem gewissen Overhead zur Laufzeit verbunden und innerhalb der Community nicht gerne gesehen ist, wird seit 2014 an einer neuen Methode im Project Panama gearbeitet. Anders als beim Java Native Interface, muss bei Project Panamas Foreign Function Interface kein Glue Code geschrieben werden, sodass native Methoden direkt über MethodHandles aufgerufen werden können. Zusätzlich bietet das Projekt ein Tool zur Extraktion von Java-Bindings aus Header-Dateien an. Ziel dieser Arbeit ist die Evaluierung der durch Project Panama bereitgestellten Schnittstellen unter Nutzung des Benchmark-Tools JMH.

Panel
borderStyledashed
titleReferenzen



Erweitern
titleA High-Level API for Vectorized Operations on Primitive Arrays in Java

Status
colourBlue
titleMASTER
 
Status
colourRed
titlePROJEKT

Hinweis
titleVorkenntnisse

Für dieses Thema werden Kenntnisse im Bereich des Java Bytecodes sowie der Java Virtual Machine vorausgesetzt.

Java bietet seit Version 16 die Möglichkeit Operationen auf primitiven Arrays zu vektorisieren. Aktuell werden einfache Operationen mit relativ viel Code implementiert, weswegen eine nutzerfreundlichere API wünschenswert ist. Ein vergleichbares Projekt, welches vektorisierte Operationen nutzerfreundlich bereitstellt, stellt numpy in der Sprache Python dar. Ziel dieser Arbeit ist die Entwicklung einer ähnlichen API in Java, welche auf der bereits bestehenden Vector API aufbaut und somit plattformunabhängig nutzbar ist. 

Die Klassen der Vector API befinden sich aktuell noch im "incubator" Status, welcher vergleichbar mit einem Beta-Test ist. 

Panel
borderStyledashed
titleReferenzen



Erweitern
titleHörsaaleinteilung für Klausuren
Status
colourGreen
titleBACHELOR
Hinweis
titleVorkenntnisse

Für dieses Thema werden Kenntnisse im Bereich Web-Anwendungsentwicklung (HTML und CSS) und Visualisierung erwartet.

Panel
borderStyledashed
titleBeschreibung

In Großveranstaltungen müssen die Studierende in den Klausuren in verschiedene Hörsäle unterteilt werden, wobei die Kapazitäten der Hörsäle berücksichtigt werden müssen, sowie Abstände und die Sitzordnung. Hierfür soll eine Web-Anwendung entwickelt werden welche diesen Prozess visuell unterstützt und auch Listen für die Aushänge etc. am Ende drucken kann.

Erweitern
titleAufgaben-Auswertung (Dashboard) für EduCode

Status
colourGreen
titleBACHELOR

Hinweis
titleVorkenntnisse

Für dieses Thema werden Vorkenntnisse im Bereich der komponentenbasierten Entwicklung von Web-Anwendungen (Angular, React, Vue.js, etc.) vorausgesetzt.


Panel
borderStyledashed
titleBeschreibung

Innerhalb der Veranstaltung "Programmierung" wird eine vom Lehrstuhl entwickelte e-Learning Plattform namens "educode" eingesetzt, welche die interaktive Bearbeitung sowie automatische Auswertung von Programmieraufgaben in Java ermöglicht. Bislang werden hierbei lediglich die Punkte und Testergebnisse der einzelnen Abgaben erfasst, wodurch eine tiefergehende Analyse nicht möglich ist. Ziel dieser Arbeit ist es die Abgaben zunächst um weitere Merkmale wie bspw. Tags, Kategorien oder Schwierigkeitsgrade zu ergänzen oder den Benutzern die Möglichkeit zu geben Aufgaben zu bewerten und anschließend die so erfassten Informationen zusammengefasst in einem Dashboard mit variablen Filtermöglichkeiten darzustellen.


Panel
borderStyledashed
titleReferenzen

educode - YouTube Video

Angular - Getting Started

Nebular - Components Overview