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.
- Distributed Computing
- Event processing
- Distribution and parallelization aspects
- 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 resources
Only a minority of people living with mental health problems are getting professional help. As digitalisation moves on, the possibility of providing internet/mobile-based interventions (IMIs) arises. One type of IMIs are fully automated conversational software agents (chatbots). Software agents are computer programs that can hold conversations with a human by mimicking a human conversational style. Software agents could deliver low-threshold and cost-effective interventions aiming at promoting psychological well-being in a large number of individuals. The aim of this trial is to evaluate the clinical effectiveness and acceptance of the brief software agent-based IMI SISU in comparison with a waitlist control group. Within a two-group randomised controlled trial, a total of 120 adult participants living with low well-being (Well-being Scale/WHO-5) will be recruited in Germany, Austria and Switzerland. SISU is based on therapeutic writing and acceptance and commitment therapy-based principles. The brief intervention consists of three modules. Participants work through the intervention on 3 consecutive days. Assessment takes place before (t1), during (t2) and after (t3) the interaction with SISU, as well as 4 weeks after randomisation (t4). Primary outcome is psychological well-being (WHO-5). Secondary outcomes are emotional well-being (Flourishing Scale), psychological flexibility (Acceptance and Action Questionnaire-II), quality of life (Assessment of Quality of Life -8D), satisfaction with the intervention (Client Satisfaction Questionnaire-8) and side effects (Inventory for the assessment of negative effectsof psychotherapy). Examined mediators and moderators are sociodemographic variables, personality (Big Five Inventory-10), emotion regulation (Emotion Regulation Questionnaire), alexithymia (Toronto Alexithymia Scale-20), centrality of events (Centrality of Events Scale), treatment expectancies (Credibility Expectancy Questionnaire) and technology alliance (Inventory of Technology Alliance-Online Therapy). Data analysis will be based on intention-to-treat principles. SISU guides participants through a 3-day intervention. This trial has been approved by the ethics committee of the Ulm University (No. 448/18, 18.02.2019). Results will be submitted for publication in a peer-reviewed journal and presented at conferences. The trial is registered at the WHO International Clinical Trials Registry Platform via the German Clinical Trials Register (DRKS): DRKS00016799 (date of registration: 25 April 2019). In case of important protocol modifications, trial registration will be updated. This is protocol version number 1.
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.
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.
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.
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.
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.
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.
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
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.
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.
- Introduction to Computer Networks (Grundlagen der Rechnernetze) [WiSe17,WiSe18,WiSe19,WiSe20]
- Advanced Concepts of Communication Networks (Fortgeschrittene Konzepte der Rechnernetze) [SoSe18]
- Distributed Computing Platforms in Practice (Verteilte Berechnungsplattformen in der Praxis) [SoSe19,SoSe20]
- Architectures for Distributed Internet Services (Architekturen für verteilte Internetdienste) [SoSe20,SoSe21]
Seminars and Student Projects
- Seminar: Privacy in the Internet (Privacy im Internet) [WiSe17,WiSe18,SoSe20,SoSe21]
- Seminar: Selected Topics in Distributed Systems (Ausgewählte Themen in Verteilten Systemen) [WiSe17, SoSe18,WiSe18,SoSe19,WiSe19,SoSe20,WiSe20,SoSe21]
- Seminar: Research Trends in Distributed Systems (Forschungstrends in Verteilten Systemen) [WiSe17, SoSe18,WiSe18,SoSe19,WiSe19,SoSe20,WiSe20,SoSe21]
- Project: Computer Networks and IT-Security (Rechnernetze und IT-Sicherheit) [multiple individual student projects]
- State of the Art of Web Application Security (Seminar ATVS/RTDS; Winter Term 2020)
- Trusted Execution Environments (Seminar ATVS/RTDS; Winter Term 2020)
- 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)
- 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)