Thema 1: Implementierung von Machine-Learning und KI-Algorithmen zur Vorhersage der Lebensdauer von Sägeblättern

Beschreibung

Toolbot ist ein junges Start-Up Unternehmen, das ein innovatives Konzept für das Verleihen von hochwertigen professionellen Handwerkszeugen wie Kreissägen verfolgt.

In dieser Bachelorarbeit prognostizieren Sie die Lebensdauer eines Sägeblattes anhand gesammelter Daten aus dem Unternehmen (Bilder von Sägeblatt mit abgenutzten / fehlenden Zähnen). Zusätzlich besteht die Möglichkeit neue Daten von ausgewählten Sensoren auszuwerten. Diese Lösung wird dem Unternehmen helfen, immer hochwertigere und funktionsfähigere Geräte anbieten zu können.

(Bacheloarbeit – sofort – 4 Monate)

Motivation:

Sie arbeiten mit realen Falldaten in Kooperation mit dem Cottbuser Start-up Toolbot. Sie lernen die neuesten Machine-Learning- und KI-Algorithmen sowie Cloud-Lösungen für industrielle Anwendungen kennen.

Fragestellung:

Basierend auf den gesammelten Daten sollten Sie eine Lösung finden, um den Zustand der Maschine zu bestimmen und ihre Lebensdauer vorherzusagen. Geeignete Machine-Learning-Algorithmen für Predictive Maintenance sollten evaluiert werden. Die Lösung kann auf der GCP implementiert werden.

Anforderungen:

Interessierte Studenten sollten

  • Das Konzept der vorausschauenden Wartung (predictive maintenance) verstehen
  • Sich für das Thema Machine-Learning und das Künstliche Intelligenz begeistern lassen
  • Erste Erfahrung mit Google Cloud Plattform (GCP) ist wünschenswert.

Empfohlene Module:

  • 11374 | Einführung in die Künstliche Intelligenz
  • 12351 | Grundlagen des Data Mining
  • 11331 | Mathematische Statistik oder 11917 | Statistik W-3

Betreuerin:

  • Dr. Svetlana Meissner (Svetlana.Meissner@b-tu.de)

Thema 2: Ein konfigurierbarer Speicherallokator für verflochtene parallele Shadow Stacks

Beschreibung

Dieses Thema kann so erweitert werden, dass es als Thema für eine Masterarbeit bearbeitet werden kann.

Shadow Stacks sind ein modernes Mittel zur Erkennung von korrumpierten Rücksprungadressen. Von jeder Rücksprungadresse wird eine Kopie in einem separaten Shadow Stack abgelegt. Bevor eine Funktion zurückkehrt, wird die Rücksprungadresse mit ihrer Kopie verglichen, um sicherzustellen, dass sie nicht verändert wurde. Parallele Shadow Stacks sind eine Variante, bei der kein spezieller Shadow Stack Pointer verwendet wird. Stattdessen wird das Layout des normalen Stacks beibehalten und der reguläre Stack Pointer sowie ein fester Offset verwendet, um den Shadow Stack zu adressieren. Dies führt zwar zu einer schnellen und einfachen Implementierung, ist aber nicht sehr speichereffizient. Einige Architekturen, in diesem speziellen Fall die Xtensa-Architektur, haben eine bestimmte Ausrichtung für ihre Stack-Frames, die mögliche Positionen für Rücksprungadressen vorhersehbar macht. Durch eine sorgfältige Anpassung der Startpositionen solcher Shadow Stacks ist es möglich, die Speichernutzung zu erhöhen, indem man sie im selben Speicherbereich platziert.

Dies bringt neue Herausforderungen für einen Speicherallokator für solche verflochtenen parallelen Shadow Stacks mit sich, da ein Stück Speicher möglicherweise nur teilweise von einem Shadow Stack verwendet wird und noch für einen anderen frei sein kann. Normalerweise wird dynamischer Speicher mit Hilfe einer Liste freier Chunks verwaltet. Der Studierende muss dieses Konzept anpassen, um der besonderen Speicherstruktur von miteinander verflochtenen parallelen Shadow Stacks Rechnung zu tragen. Außerdem sollte es möglich sein, den Speicherallokator so zu konfigurieren, dass er in verschiedenen Szenarien verwendet werden kann, z. B. in einem Shadow Stack, der nur Rücksprungadressen speichert, oder solchen, die zusätzlich noch Stack Pointer beherbergen und daher weniger Überlagerungen erlaubt.

Betreuer: Kai Lehniger M.Sc. (lehniger@ihp-microelectronics.com)