Umsetzung einer „Rules Engine“ für IoT-Systeme

Type: Bachelorarbeit
Status: Offen
Beginn: Sofort
Student: N.N.
Tutor: Franziska Kühn
Supervisor: Prof. Dr. Horst Hellbrück

Forschungsgebiet

Im sogenannten Internet der Dinge (IoT) werden physische Objekte mit Kleinstcomputern ausgestattet und in unsere gewohnte Umgebung eingebettet. Es wird erwartet, dass die Anzahl der vernetzten Dinge in den nächsten Jahren gewaltig ansteigen wird. Schätzungen für die nahe Zukunft bzgl. der Zahl der vernetzten Geräte reichen von 26 bis 50 Milliarden rund um das Jahr 2020 [1]; neuere Schätzungen gehen von einem weiteren starken Wachstum mit um die 125 Milliarden Geräten in 2030 aus, von denen 337 Millionen ihren Dienst in medizinischen Anwendungen versehen (siehe bspw. IoT ebook).
 
Die Dinge können oftmals (drahtlos) mit dem Internet kommunizieren und verfügen häufig über Sensorik und Aktuatorik. Dadurch wird es möglich den Zustand der realen Welt in Echtzeit der digitalen Welt zur Verfügung zu stellen und den Zustand der realen Welt über Aktuatoren direkt zu beeinflussen. IoT-Systeme können vielfältig eingesetzt werden und weitreichende, auch sicherheitskritische, Aufgaben übernehmen. Die eingesetzten Systeme in IoT-Umgebungen sind oftmals heterogen, ressourcenbeschränkt (bspw. CPU, Speicher, Energie), hochgradig verteilt und dynamisch sowie selbst häufig unzuverlässig.

Thema der Arbeit/Aufgabenstellung

Im Rahmen dieser Bachelorarbeit sollen zunächst verschiedene Rules Engines für IoT-Systeme ermittelt, anhand bestimmter Kriterien verglichen und dokumentiert werden. Basierend auf typischen IoT-Szenarien und laufenden IoT-Projekten am ITM soll eine passende Rules Engine ausgewählt, entsprechend konfiguriert und ggf. erweitert werden.

Die Rules Engine soll eine Erweiterung für das am ITM entwickelte Logging-Framework darstellen. Das Logging-Framework ermöglicht es Daten von IoT-Systemen, die das CoAP-Protokoll implementieren, zu loggen, um die Daten dann später aufbereiten und weiterverwenden zu können (bspw. im Rahmen der Rules Engine). Ein Logger ist dabei ein Dienst, der im IoT-Netz auf einem beliebigen IoT-Knoten deployed werden kann, unabhängig davon von welchen Knoten im Netz Daten geloggt werden sollen.

Die Funktionalität der Rules Engine soll, wie beim Logger auch, als Dienst zur Verfügung stehen und auf dem Logging-Framework aufbauen. Es ist ebenfalls zu erarbeiten, wie die Dienste für das Logging und die Rules Engine dynamisch verknüpft werden können. Die Implementierung ist anhand ausgewählter Szenarien zu evaluieren.

Voraussetzungen

Begriffe wie „verteilte Systeme“ und „Internet of Things“ sollten bekannt und verstanden sein. Java-Kenntnisse und erste Programmiererfahrungen werden vorausgesetzt.

Das Kleingedruckte

Nach Einarbeitung und Umsetzung ist die geleistete Arbeit in der eigentlichen Ausarbeitung sorgfältig zu dokumentieren. Der implementierte Code ist vollständig zu kommentieren. Die Ergebnisse werden quelloffen, beispielsweise unter den Bedingungen der Apache-Lizenz 2.0, veröffentlicht. Es sind die Regeln zur Erstellung von wissenschaftlichen Arbeiten des Instituts zu beachten.

Literatur

[1] Tavis C. McCourt, Simon Leopold, Frank G. Louthan IV, Hans Mosesmann, J. Steven Smigie, Terry Tillman, Daniel Toomey, Georgios Kyriakopoulos, Eric Lemus, Brian Peterson, and Alexander Sklar. The Internet of Things - A Study in Hype, Reality, Disruption and Growth. Industry report, Raymond James & Associates, January 2014.