Here are some of the engineering and research projects I am currently working on:

Archived projects


EMMA: Elastic MQTT MiddlewAre

EMMA Architecture

EMMA is a distributed MQTT middlerware that connects MQTT Clients to Brokers via Gateways to enable mobility and low-latency messaging via edge resources. It dynamically reconfigures the broker–client network based on their proximity to optimize latency. It is an effort to realize the vision of Osmotic Message-Oriented Middleware.

EMMA is written in Java using NIO and Netty. Brokers implement the MQTT protocol. EMMA also implements a control and monitoring protocol that allow a controller component to orchestrate the network. Brokers and Gateways have few dependencies and can be complied AOT using, for example, Graal Native to allow running it on constrained devices without a JVM. The controller is a Spring Boot application that is intended to run in the Cloud on a VM. It uses Redis to distribute routing tables across brokers.

Contributors

Open Problems

  1. Rausch, T., Dustdar, S., & Ranjan, R. (2018). Osmotic Message-Oriented Middleware for the Internet of Things. IEEE Cloud Computing, 5(2), 17–25. [Preprint]
  2. Rausch, T., Nastic, S., & Dustdar, S. (2018). EMMA: Distributed QoS-Aware MQTT Middleware for Edge Computing Applications. In 2018 IEEE International Conference on Cloud Engineering (IC2E). [Preprint] [Presentation]
  3. Rausch, T. (2017). Message-oriented Middleware for Edge Computing Applications. In Proceedings of the 18th Doctoral Symposium of the 18th International Middleware Conference (pp. 3–4). [Preprint] [Presentation]

Resources


MC2: Mini Compute Cluster

Computational resources distributed at the edge of the network are the fundamental infrastructural component of edge computing. The operational scale of edge computing introduces new challenges for building and operating suitable computation platforms. Many application scenarios require edge computing resources to provide reliable response times while operating in dynamic and resource-constrained environments.

The MC2 is a prototype of a portable energy-aware, cluster-based edge computer that aims to address these challenges. It is portable because it is compact in size, and consumes energy at a scale that could be served by medium sized batteries. It is energy-aware because it provides a power-management runtime to access energy consumption data in real-time, and control the power state of its nodes. Finally, it is cluster-based because it comprises multiple physical nodes to provide reliable and scalable computing.

MC2 Prototype

Components

The project comprises several components used to operate and interact with the system, and define and execute experiments.

Contributors

Open Problems

  1. Rausch, T., Raith, P., Pillai, P., & Dustdar, S. (2019). Demo: A System for Operating Energy-Aware Cloudlets. In 2019 IEEE/ACM Symposium on Edge Computing (SEC’19). IEEE. [Preprint]
  2. Rausch, T., Avasalcai, C., & Dustdar, S. (2018). Portable Energy-Aware Cluster-Based Edge Computers. In 2018 IEEE/ACM Symposium on Edge Computing (SEC’18). [Preprint] [Presentation]

Resources


CPS/IoT Ecosystem Cloud

CPS/IoT Ecosystem Cloud

A central part of the CPS/IoT Ecosystem architecture is a cloud that connects the living IoT labs. For the cloud infrastructure, we are building a small-scale OpenStack cluster at one of the TU.it data centers.


Archive

These are some projects I have been working on in the past.

CInsight: Predictive Analytics for Continuous Integration Workflows

Continuous Integration is a widespread practice, and while CI has evidently improved aspects of the software development process, errors during CI builds pose a threat to development efficiency. As an increasing amount of time goes into fixing such errors, failing builds can significantly impair the development process and become very costly By identifying characteristics of development practices that cause build failures, we can predict preliminary results for an integration. This helps developers react to possible problems even before a build is initiated, thereby saving time and resources. Also, a predictive analytics framework for CI builds could potentially be used for optimized operations of CI platforms, such as Travis or Bamboo.

The CInsight framework provides methods and tools to analyze CI build failures, link the code changes that triggered them, and use machine learning to build models for predicting CI build failures.

Resources

  1. Rausch, T., Hummer, W., Leitner, P., & Schulte, S. (2017). An Empirical Analysis of Build Failures in the Continuous Integration Workflows of Java-based Open-source Software. In Proceedings of the 14th International Conference on Mining Software Repositories. [Preprint] [Presentation]

  2. Rausch, T. (2016). Build Failure Prediction in Continuous Integration Workflows. Diploma Thesis, TU Wien. [Thesis] [Presentation]