Skip to content. | Skip to navigation

Informatik 5
Information Systems
Prof. Dr. M. Jarke
Sections
Personal tools
You are here: Home Theses Datenstromverarbeitung an der Industriemaschine mit WebAssembly – Data Stream Processing on the Edge With WebAssembly

Contact

Prof. Dr. M. Jarke
RWTH Aachen
Informatik 5
Ahornstr. 55
D-52056 Aachen
Tel +49/241/8021501
Fax +49/241/8022321

How to find us

Annual Reports

Disclaimer

Webmaster

 

 

Datenstromverarbeitung an der Industriemaschine mit WebAssembly – Data Stream Processing on the Edge With WebAssembly

Thesis type
  • Bachelor
Status Running
Supervisor(s)
Advisor(s)

ENGLISH BELOW ↓ Datenstromverarbeitung an Industriemaschinen mit nativen Webtechnologien – Enabling sandboxed processing close to industrial machines with native web technologies.

Von Edge-Computing verspricht man sich, die Belastung von Netzwerk- und Cloudinfrastruktur zu minimieren, indem einzelne leichtgewichtige Datenverarbeitungsaufgaben direkt am Datenursprungsort ausgeführt werden. So können beispielsweise einfache Auswertungen vor Ort erfolgen, ohne, dass riesige Datenmengen über das Netz geschickt werden müssen. Die Rechnerausstattung direkt an Industriegeräten ist jedoch oftmals sehr heterogen; man findet Windowsgeräte genauso wie Raspberry Pis und auch spezialisierte Microcontroller.

WebAssembly ist ein neuer Webstandard, der von allen gängigen Browsern unterstützt wird und die Ausführung von Binärcode in der Sandbox der Browserumgebung ermöglicht. Dieser Code wird normalerweise aus Sprachen wie C++, Rust oder TypeScript kompiliert. Als Vorteil gegenüber JavaScript wird das kompakte Binärformat mit nahezu nativer Performance verarbeitet. Das WebAssembly System Interface (WASI) von Mozilla bietet eine Laufzeit zur Ausführung von WebAssembly-Modulen außerhalb der Browser-Umgebung; eines der möglichen Deployment-Ziele sind eingebettete Systeme.

In dieser Arbeiten sollen vorhandene Forschung sowie Prototypen in diesem Themengebiet beleuchtet werden. Im praktischen Teil soll dann analysiert werden, wie gut WASI mit Maschinenschnittstellen und Datenverarbeitungsaufgaben "on the Edge" zurechtkommt. Dazu stellen wir uns einen Prototypen vor, der auf gerätespezifische APIs einer beispielhaften Industriemaschine zugreift und die Daten lokal verarbeitet, z.B., um sie zu komprimieren. Damit es keine Trockenübung bleibt, stellt das Institut für Textiltechnik (ITA) der RWTH verschiedene interessante Industriemaschinen zur Verfügung, z.B. einen CNC-Cutter, einen KUKA-Roboter KR-150L sowie einen Cobot (Franka Emika Panda). Die resultierenden Daten sollen dann über ein Internet of Things-Protokoll (z.B. Message Queuing Telemetry Transport (MQTT)) an eine Datenbank in der Cloud weitergeleitet werden. Für die Evaluierung soll die Verarbeitung des WASI-Binärformats am Gerät mit der Performance in der Cloud verglichen werden, unter Einbeziehung von Parametern wie Netzwerklatenz und Verarbeitungsgeschwindigkeit.

Dieses Thema ist in enger Zusammenarbeit mit dem Textilinstitut der RWTH im Rahmen unseres Exzellenzclusters Internet of Production entstanden und bietet daher eine interdisziplinäre Erfahrung aus erster Hand. Der Zugriff auf die Maschinen trotz der aktuellen Umstände ist gewährleistet. Wenn Dich dieses Thema interessiert, oder Du schon konkrete Fragen hast, schreibe gerne eine E-Mail an mich unter koren (AT) dbis.rwth-aachen.de ! 

English

The promise of edge computing is to limit the load on network and cloud-based infrastructure by moving processing tasks closer to the edge of the network. For instance, some preliminary data processing can already happen close to an industrial production machine, in order to limit the amount of data that needs to be pushed over the network.

WebAssembly is a recent web standard supported by all major browsers that enables running binary code in the sandbox of the browser environment. This code is usually compiled from languages like C++ or Rust (#1 beloved language in the StackOverflow developer survey 2020 for the fifth time in a row!). As advantage over JavaScript, the compact binary format gets processed with near-native performance. The WebAssembly System Interface (WASI) by Mozilla provides a runtime to execute WebAssembly modules outside the browser environment; one of the possible targets are embedded systems.

In this thesis, we want to explore existing research and prototypes in this direction. For the practical part, we then want to analyze, how well WASI copes with machine interfaces and data processing tasks on the edge. For that, we envision a prototype that accesses device-specific APIs of an exemplary industrial machine and locally processes the data, e.g., to reduce its size. For the hands-on part, RWTH's institute for textile engineering (ITA) provides various interesting industrial machines, e.g., a CNC cutter, a KUKA KR-150L robot as well as a Cobot (Franka Emika Panda). The resulting data should then be forwarded via an Internet of Things protocol (e.g., Message Queuing Telemetry Transport (MQTT)) to a remote database. Finally, we want to compare processing of the same WASI binary format on the edge versus on a browser versus on the cloud, by evaluating parameters like processing speed and dropped data frames in real-time computation.

This compelling thesis topic is in close collaboration with ITA within our cluster of excellence Internet of Production, and will therefore provide you with a first-hand interdisciplinary experience.

If you are interested, please feel free to drop an email to koren (AT) dbis.rwth-aachen.de !

Prerequisites

This is the ideal thesis for you, if you have already made some steps in TypeScript/AssemblyScript, Rust, or in any other language that can be cross-compiled to WebAssembly and now want to dive deeper into the matter by exploring some new use cases for the language. Don't be intimidated by the requirements concerning industrial device APIs! 🙂

Related projects

Document Actions