Quick Links

                 

Office Hours

For reliable meetings, please arrange an appointment via mail.

Dominik Meißner

Dominik Meißner has received a Master diploma cum laude in Computer Science from Ulm University in 2017. They then joined the Institute of Distributed Systems and are currently employed as a research assistant.

Research Interests

  • Distributed Computing
    • Event processing
    • Distribution and parallelization aspects
    • Time & programming models
  • Distributed systems & architectures
    • Event-driven architectures
    • Event sourcing & CQRS
    • Retroaction in event-sourced systems
    • Scalability of architectures
    • Concurrency and parallelism
  • Other Topics
    • Web technologies & web architectures
    • Programming languages and concepts
    • Open data & open educational ressources

Publications

2019

8.
E. Bendig, B. Erb, D. Meißner, B. Hannaby and H. Baumeister, "Chatbots and mental health: Current advances in software agents providing psychological interventions and results from a pretest-posttest feasibility trial on the software agent 'SISU' (Abstract)" in International Society for Research on Internet Interventions 10th Conference, International Society for Research on Internet Interventions 10th Conference, Auckland, New Zealand, Feb. 2019.

2018

7.
D. Meißner, "Doctoral Symposium: Towards Time Travel in Distributed Event-sourced Systems" in Proceedings of the 12th ACM International Conference on Distributed Event-Based Systems , DEBS '18, Hamilton, New Zealand, Jun. 2018.
DOI:10.1145/3210284.3219499


Abstract:
Stateful applications are based on the state they hold and how it changes over time. This history of state changes is usually discarded as the application progresses. By building on concepts from event processing and storing the application history, we envision a novel programming paradigm that supports retroaction. Retroactive computing introduces new opportunities for a developer to access and even modify an application timeline. By enabling the exploration of alternative scenarios, retroactive computing establishes powerful new ways to debug systems and introduces new approaches to solve problems. Initial work has shown the practicality and possibilities of this new programming paradigm and introduces further research questions and challenges.
6.
B. Erb, D. Meißner, B. A. Steer, D. Margan, F. Kargl, F. Cuadrado and P. Pietzuch, "GraphTides: A Framework for Evaluating Stream-based Graph Processing Platforms" in Proceedings of the 1st Joint International Workshop on Graph Data Management Experiences & Systems (GRADES) and Network Data Analytics (NDA), GRADES-NDA '18, Houston, TX, USA, Jun. 2018.
DOI:10.1145/3210259.3210262


Abstract:
Stream-based graph systems continuously ingest graph-changing events via an established input stream, performing the required computation on the corresponding graph. While there are various benchmarking and evaluation approaches for traditional, batch-oriented graph processing systems, there are no common procedures for evaluating stream-based graph systems. We, therefore, present GraphTides, a generic framework which includes the definition of an appropriate system model, an exploration of the parameter space, suitable workloads, and computations required for evaluating such systems. Furthermore, we propose a methodology and provide an architecture for running experimental evaluations. With our framework, we hope to systematically support system development, performance measurements, engineering, and comparisons of stream-based graph systems.
5.
B. Erb, D. Meißner, F. Ogger and F. Kargl, "Poster: Log Pruning in Distributed Event-sourced Systems" in Proceedings of the 12th ACM International Conference on Distributed Event-Based Systems , DEBS '18, Hamilton, New Zealand, Jun. 2018.
DOI:10.1145/3210284.3219767


Abstract:
Event sourcing is increasingly used and implemented in event-based systems for maintaining the evolution of application state. However, unbounded event logs are impracticable for many systems, as it is difficult to align scalability requirements and long-term runtime behavior with the corresponding storage requirements. To this end, we explore the design space of log pruning approaches suitable for event-sourced systems. Furthermore, we survey specific log pruning mechanisms for event-sourced logs. In a brief evaluation, we point out the trade-offs when applying pruning to event logs and highlight the applicability of log pruning to event-sourced systems.
4.
D. Meißner, B. Erb and F. Kargl, "Poster: Performance Engineering in Distributed Event-sourced Systems" in Proceedings of the 12th ACM International Conference on Distributed Event-Based Systems , DEBS '18, Hamilton, New Zealand, Jun. 2018.
DOI:10.1145/3210284.3219770


Abstract:
Distributed event-sourced systems adopt a fairly new architectural style for data-intensive applications that maintains the full history of the application state. However, the performance implications of such systems are not yet well explored, let alone how the performance of these systems can be improved. A central issue is the lack of systematic performance engineering approaches that take into account the specific characteristics of these systems. To address this problem, we suggest a methodology for performance engineering and performance analysis of distributed event-sourced systems based on specific measurements and subsequent, targeted optimizations. The methodology blends in well into existing software engineering processes and helps developers to identify bottlenecks and to resolve performance issues. Using our structured approach, we improved an existing event-sourced system prototype and increased its performance considerably.
3.
D. Meißner, B. Erb, F. Kargl and M. Tichy, "retro-λ: An Event-sourced Platform for Serverless Applications with Retroactive Computing Support" in Proceedings of the 12th ACM International Conference on Distributed Event-Based Systems , DEBS '18, Hamilton, New Zealand, Jun. 2018.
DOI:10.1145/3210284.3210285


Abstract:
State changes over time are inherent characteristics of stateful applications. So far, there are almost no attempts to make the past application history programmatically accessible or even modifiable. This is primarily due to the complexity of temporal changes and a difficult alignment with prevalent programming primitives and persistence strategies. Retroactive computing enables powerful capabilities though, including computations and predictions of alternate application timelines, post-hoc bug fixes, or retroactive state explorations. We propose an event-driven programming model that is oriented towards serverless computing and applies retroaction to the event sourcing paradigm. Our model is deliberately restrictive, but therefore keeps the complexity of retroactive operations in check. We then introduce retro-λ, a runtime platform that implements the model and provides retroactive capabilites to its applications. While retro-λ only shows negligible performance overheads compared to similar solutions for running regular applications, it enables its users to execute retroactive computations on the application histories as part of its programming model.

2017

2.
B. Erb, D. Meißner, J. Pietron and F. Kargl, "Chronograph – A Distributed Processing Platform for Online and Batch Computations on Event-sourced Graphs" in Proceedings of the 11th ACM International Conference on Distributed Event-Based Systems , DEBS '17, Barcelona, Spain, Jun. 2017.
DOI:10.1145/3093742.3093913


Abstract:
Several data-intensive applications take streams of events as a continuous input and internally map events onto a dynamic, graph-based data model which is then used for processing. The differences between event processing, graph computing, as well as batch processing and near-realtime processing yield a number of specific requirements for computing platforms that try to unify theses approaches. By combining an altered actor model, an event-sourced persistence layer, and a vertex-based, asynchronous programming model, we propose a distributed computing platform that supports event-driven, graph-based applications in a single platform. Our Chronograph platform concept enables online and offline computations on event-driven, history-aware graphs and supports different processing models on the evolving graph.

2016

1.
D. Meißner, B. Erb, R. W. van der Heijden, K. Lange and F. Kargl, "Mobile Triage Management in Disaster Area Networks Using Decentralized Replication" in Proceedings of the Tenth ACM MobiCom Workshop on Challenged Networks, Tenth ACM MobiCom Workshop on Challenged Networks, New York, NY, USA, October 2016, ACM, Oct. 2016. pp. 7-12.
DOI:10.1145/2979683.2979689
ISBN:978-1-4503-4256-8


Abstract:
In large-scale disaster scenarios, efficient triage management is a major challenge for emergency services. Rescue forces traditionally respond to such incidents with a paper-based triage system, but technical solutions can potentially achieve improved usability and data availability. We develop a triage management system based on commodity hardware and software components to verify this claim. We use a single-hop, ad-hoc network architecture with multi-master replication, a tablet-based device setup and a mobile application for emergency services. We study our system in cooperation with regional emergency services and describe experiences from a field exercise. We show that state-of-the-art commodity technology provides the means necessary to implement a triage management system compatible with existing emergency service procedures, while introducing additional benefits. This work highlights that powerful real-world ad-hoc networking applications do not require unreasonable development effort, as existing tools from distributed systems, like replicating No-SQL databases, can be used successfully.

Student Theses and Individual Student Projects

Bachelor/Master Theses

The section lists open and finished topics for theses. More topics for Bachelor/Master theses are available on the thesis website of the institute.

I am also accepting own topics that relate to my fields of interests. Please get in touch for suggestions.

Master Projects

I provide a number of  individual master projects that are related to my field of research. Several student thesis topics can also be worked on as part of a master project.

Most projects can be conducted as 8 LP or 16 LP projects, depending on the focus and extent of the topic.

For more details, please get in touch with me.

Office Hours

For reliable meetings, please arrange an appointment via mail.

Open Topics

“Porting a Statistics Language Interpreter to Rust,” Projectarbeit, D. Meißner (Supervisor), Inst. of Distr. Sys., Ulm Univ., 2020 – Open.
As part of our ongoing research, are we currently building a platform for secure statistical analysis based on SGX. The current prototype relies on a very simple statistics language, which we are planning to extend in the future. The goal of this project is to port an existing statistics language interpreter, such as PSPP, to the Rust programming language. Rust features a rich type system and can guarantee memory-safety and thread-safety during compile time, which makes it a great candidate for building safe and fast programming language interpreters. nom is a parser combinators library written in Rust that allows to build safe parsers without compromising on speed or memory consumption. This library can be used as a starting point to implement the parser.

Supervised Topics

N. Maier, “Privacy In Statistical Computations,” Master's thesis VS-2020-12M, D. Meißner (Supervisor), F. Kargl (Examiner), Inst. of Distr. Sys., Ulm Univ., 2020 – Completed.
In human science research, maintaining the privacy of research participant is of utmost importance as studies often collect highly sensitive data about individuals. However, most universal guidelines such as the APA code of conduct only state very broad requirements such as a "primary obligation [to] take reasonable precautions to protect confidential information". Additionally, the prevalence of other forms of research misconduct such as authorship fraud raises the question whether research participants can trust researchers to properly handle their data. To increase trust and improve the privacy of research participants, we propose a system that enforces rigorous privacy guarantees on research results. In this thesis, we focus on identifying possible privacy mechanisms which could be applied to statistical analyses as part of social science research and yield strong - and ideally easy to understand - privacy guarantees.
“Causality-aware Log Pruning in Distributed event-sourced Systems,” individual lab project VS-P21-2019, B. Erb and D. Meißner (Supervisor), F. Kargl (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2019 – Completed.
J. Hutter, “Web-based Interface for a Programmable Chatbot,” Bachelor's thesis, D. Meißner (Supervisor), F. Kargl (Examiner), Inst. of Distr. Sys., Ulm Univ., 2019 – Completed.
Gemeinsam mit Abteilungen aus der Psychologie wird am Institut für Verteilte Systeme ein programmierbarer Chatbot entwickelt, der insbesondere für Studien und Experimente eingesetzt werden soll. Der derzeitige Prototyp erfordert eine Programmierung der Zustandsautomaten des Bots in Java. Dies ist vor allem für Personen ohne Programmierhintergrund eine große Hürde bei der Gestaltung von Dialog-Skripten. In dieser Abschlussarbeit soll hierfür eine webbasierte Oberfläche entwickelt werden, die eine grafische Erstellung von Chatbot-basierten Studien ermöglicht. Im Rahmen der Arbeit soll zunächst ein überblick über bestehende Tools und Formate erarbeitet werden. Anschließend soll der Funktionsumfang des Bots in einer interaktiven Web-Anwendung abgebildet werden. Die so modellierten Dialoge sollen schließlich in code-basierte Zustandsautomaten zur Ausführung in der Bot-Plattform trans-formiert werden.
A. Kononenko, “Blockchain Analysis with Chronograph,” Bachelor's thesis, D. Meißner (Supervisor), F. Kargl (Examiner), Inst. of Distr. Sys., Ulm Univ., 2018 – Completed.
Blockchain technology allows for decentralized, distributed, and secure ledgers that store records (e.g., transactions). Popular blockchain-based systems such as Bitcoin and Etherum have emerged as so-called crypto-currencies. As the ledger maintains the full history of transactions, interactions within the system are always persisted. In this work, the student is asked to design and implement online and offline transaction analyses based on Chronograph, a data processing platform for evolving graphs developed at our Institute. Therefore, different blockchain-based systems should be surveyed and appropriate analysis mechanisms should be conducted.
“Bringing Height to the Chronograph Platform,” individual lab project VS-R08-2018, B. Erb and D. Meißner (Supervisor), F. Kargl (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2018 – Completed.
M. Diemer, “Dependency Tracking in Distributed Retroactive Applications,” Bachelor's thesis, D. Meißner (Supervisor), F. Kargl (Examiner), Inst. of Distr. Sys., Ulm Univ., 2018 – Completed.
Retroactive computing enables programmatical access to the history of an application. This offers a variety of capabilities, such as computations and predictions of alternate application timelines, post-hoc bug fixes, and retroactive state explorations. Reads and writes of the application state have to be tracked and persisted in order to support retroaction. This is fairly simple for a single-writer append-only log, but entails various issues in a distributed setting. This thesis/project should explore different approaches for a distributed dependency tracking, including a prototypical implementation based on an existing platform prototype and an evaluation of the resulting artifacts.
“Event-Sourced Graph Processing in Internet of Things Scenarios,” Master's thesis VS-M03-2018, B. Erb and D. Meißner (Supervisor), F. Kargl (Examiner), Inst. of Distr. Sys., Ulm Univ., 2018 – Completed.
“Online Text Processing for Chatting Applications,” Bachelor's thesis VS-B19-2018, D. Meißner and B. Erb (Supervisor), F. Kargl (Examiner), Inst. of Distr. Sys., Ulm Univ., 2018 – Completed.
“Revisited: A platform architecture for retroactive programming using event sourcing,” individual lab project VS-R07-2018, B. Erb and D. Meißner (Supervisor), F. Kargl (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2018 – Completed.
“A platform architecture for retroactive programming using event sourcing,” individual lab project VS-R23-2017, B. Erb and D. Meißner (Supervisor), F. Kargl (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2017 – Completed.

Teaching

Current Teaching

  • Introduction to Computer Networks (GRN)
  • Architectures for Distributed Internet Services (ADIS)
  • Distributed Computing Platforms in Practice (VBP)
  • Privacy in the Internet (PRIV)
  • Selected Topics in Distributed Systems (ATVS)
  • Research Trends in Distributed Systems (RTDS)
  • Computer Networks and IT-Security (RNSEC)

Lab Courses

Seminars and Student Projects

Seminars

Currently Supervised Seminar Courses

  • Privacy in the Internet (PRIV)
  • Selected Topics in Distributed Systems (ATVS)
  • Research Trends in Distributed Systems (RTDS)

Office Hours

For reliable meetings, please arrange an appointment via mail.

Current Topics

  • State of the Art of Web Application Security (Seminar ATVS/RTDS; Summer Term 2020)
  • Trusted Execution Environments (Seminar ATVS/RTDS; Summer Term 2020)
  • Doxxing als Angriff auf die Privacy (Proseminar PRIV; Summer Term 2020)

Previous Topics

  • Trusted Execution Environments (Seminar ATVS/RTDS; Winter Term 2019/2020)
  • Serverless Computing (Seminar ATVS/RTDS; Summer Term 2019)
  • Distributed Causality Tracking (Seminar ATVS/RTDS; Winter Term 2018/2019)
  • GDPR: Theorie und Praxis (Proseminar PRIV; Winter Term 2018/2019)
  • Machine Learning on Event Streams (Seminar ATVS; Summer Term 2018)
  • Networking in Online Multiplayer Games (Seminar ATVS; Winter Term 2017/2018)
  • Privacy in Instant Messaging Anwendungen (Proseminar PRIV; Winter Term 2017/2018)