Distributed Systems

Bachelor Symposium 2020

Welcome to Distributed Systems' Bachelor Thesis Symposium 2020 (DSBTS2020). The symposium will be held on Tuesday the 14th of July. During the symposium we will host presentations of Bachelor thesis assignments supervised by members of the Distributed Systems group. Below you can find event information and the symposium schedule.

The event

The symposium will consist of a series of fifteen minute presentations followed by a five minute discussion. During each such a session, the student will be graded on both their presentation and the resulting discussion. Although students will not be directly graded on their participation in discussions of others, a more lively discussion is beneficial to the student's grade. As a result, students are expected to attend every presentation and are highly encouraged to actively participate in the discussions.

The event will be held online as a session of the Bachelor's project Nestor course. This session can be joined through the Blackboard Collaborate Ultra environment (Course Tools -> Blackboard Collaborate Ultra).

Best presentation award

At the end of the event, supervisors will vote for the best presentation of the symposium. The best presentation will be awarded with a prize.

Schedule

Slot Time Speaker Title
10:00 Opening (A. Lazovik)
Session 1 (Chair: L. Fiorini)
0 10:10 Radu Catarambol Developing a Routine for Clustering the Rooms of a Smart Building Based on Sensor Data
One can imagine a world in which the combination of multiple devices, via The Internet of Things, can be used for the creation of so-called digital twins: digital representations of real-world objects (e.g., buildings). With these twins, one would essentially ask targeted questions to the twin regarding the state of its physical counterpart, aggregated from the different sensors, instead of inspecting the raw sensor values. Towards further enabling this concept, this project will investigate the creation of a clustering algorithm that is able to group together rooms with similar features, based on sensor-data gathered by sensors installed in those rooms. As a result, rooms in the same group should respond in the same manner to environmental changes (such as lighting, temperature and CO2 values). Thus, this information can have a great impact on the design and the energy consumption and optimization of smart buildings as, for example, it will eliminate the need to install sensors in every room.
1 10:30 Sabina Boranbayeva Human-assistance in Smart Environments
The project I am working on is about the human-assistance of smart environments. Therefore, my main goal is to build an app that will provide a more convenient way for users to communicate with smart buildings’ systems. Through this application, the System will collect all relevant data and request human assistance if needed. Due to this, it will be possible to automatically request help from several people and prevent delays in assistance if someone is not in a condition to do what smart environments require at the moment. The app also has a slider, which allows us to choose how much human comfort is more important than energy saving. Based on the numbers, there will be four different paths, which will lead to different results made by specific rules.
10:50 Break
Session 2 (Chair: M. Medema)
2 11:00 Theodor Moise Comparison of message brokers for container pipelines
Message brokers are essential for sending and receiving data within distributed systems. Communication among containers forming pipelines, as well as between remote servers and clients needs to be quick and stable, with good scaling potential. When building a large-scale system, separate research is necessary to decide which broker should be used. Different options need to be tested and compared in detail. This project aims to design one such comparison of current message brokers, exploring and building on top of related literature. Benchmarking different options is addressed through performance tests, in addition to an overview of security measures and requirements.
3 11:20 Max Verbeek Using service meshes in declarative pipelines
Distributed pipelines are a great way to use computational resources across multiple servers to work on a particular problem. Nodes in such a pipeline can be hosted on Kubernetes, which will take care of basic service discovery and resource allocation. This makes a pipeline agnostic to the hardware that it runs on. The main issue with pipelines that are hosted on Kubernetes is that any data or state that is contained inside of a pipeline node will be lost when changes are made to a pipeline. We can still make non-destructive updates to the pipeline if this is done in a separate "architecture layer". This layer is implemented by service meshes and lives transparently on top of Kubernetes. This project investigates if the overhead of service meshes makes it a viable option to use in distributed pipelines.
4 11:40 Jurrian de Boer Automated climate impact evaluation of cooking recipes
One of the most acute problems in the Anthropocene is climate change. As indicated by the IPCC in 2014, our food system is among the greatest greenhouse gas emission sources. In this research proposal we expand upon an application called Season Chef, which assists users in lowering their food-related climate impact. We present a tool for evaluating the climate impact of cooking recipes. We will apply a custom scoring algorithm, a logistic regression model, and the K-nearest neighbors algorithm combined with a range of regular expressions to make cooking recipes readable and manipulable by the application. The data from parsing these recipes will subsequently be coupled to existing data on climate impact of food products.
12:00 Break
Session 3 (Chair: F. J. Blaauw)
5 12:10 Tom Titherington Mobility traces analysis: Studying mobility patterns, allowing insight into the operation of a smart city
Now that smartphones and smart devices are abundant in everyday life, these devices are constantly monitoring their diverse environments. From your mobile phone calculating the number of steps you have walked today, to a climate control system found in your home. The advancements and maturation of these devices now allow us to collect and analyse a huge amount of varied data, leading to interesting and sometimes surprising results. This project analyses the T-Drive data set provided by the Microsoft Research team, which contains the one-week trajectories of 10,357 taxies. The project proposes a framework that can be used to study large vehicular trajectory data sets, providing inferences on the mobility patterns within. Specifically, we show how these patterns can be used in the context of a smart city by using the taxi trajectories to create bus routes.
6 12:30 Rowan Terinathe Low Complexity Hallway Indoor Movement Tracking using Bluetooth Low Energy
This bachelor project explores how indoor tracking of an object can be made more cost-effective using environment-based constraints. The technology used is Bluetooth Low Energy (BLE), using BLE beacons and their corresponding Received Signal Strengths an estimation on the location of an object can be made. The specifically chosen indoor environment is best described as a building built around hallways. With the limited width of a hallway comes the fact that an object being tracked has to come within a certain distance of the deployed BLE beacons when traversing the hallway, enabling us to base constraints on this. The system gives insights into how often different paths in a building are taken and what the points of interest are within the paths. This project aims to look into the possibility of reducing the necessary number of beacons used for buildings built around hallways and under what circumstances this would be possible.
7 12:50 Job Heersink Non-intrusive appliance loadmonitoring using breakpoint identification and external features
Monitoring of home appliances provides useful information on how to improve user consumption habits and refine energy conservation. This information could also be used to reduce energy consumption overall. Many have tried to measure the power consumption per device using sub-meters at plug level, this however is impractical and economically infeasible. In this paper we explore the possibility of obtaining the state of devices from aggregate power consumption data using breakpoint identification with the help of neural networks. We will explore an existing non intrusive appliance load monitoring method and analyse how well it does on a standard data set as well as a data set containing the most frequently present devices in a household. We will extend this method to take external features like temperate, wind and weather data into account. In addition to that we will explore the opportunity of generalizing this implementation across houses.
13:10 Break
Session 4 (Chair: B. Koldehofe)
8 13:20 Stijn Mijland An Exploration of Object Oriented Metrics in Student Code
From a running course in Object Oriented Programming, Object Oriented metrics from student code as well as grading data were gathered. All sensible combinations of this data have been tested for correlation. The categories (Teaching Assistants, Group, Assignment) have been evaluated with ANOVA. There are many significant results, and some significant effects. The grade data (Grade, Corrected Grade, OO Standard, Coding Standard) has been evaluated using Linear Regression and Partial Least Squares Regression. Significant models explain 40% of grade variance for reasonable Linear Regression models. 80% can be achieved with overfitted models. Partial Least Squares Regression indicates closer to 15% variance of the grade explained. Due to the method of data gathering these percentages should not be considered representative. They are however encouraging enough to warrant additional research.
9 13:40 Alinda Harmanny Automatic Verification of Annotated Sequential Imperative Programs
Writing error-free programs is a daunting task, and many programs contain several bugs that were not detected by the programmer. These undetected errors may cause a program to behave unexpectedly, crash, or produce incorrect results. To prevent such errors, a programmer may decide to prove the correctness of a program. However, producing these proofs is on itself an error-prone process. The aim of this project is to write a program that takes as its input an annotated program fragment and outputs a verdict for this annotation. The verdict can be ACCEPTED (which means that the annotation is correct), ERROR (in which case the program reports a counter-example disproving the correctness), or UNDECIDED (which means that the verification program was not able to prove the correctness of the annotation, nor did it find a counterexample). To prove an input program, we use a combination of expression simplification, resolution and unification.
14:00 Break
14:10 Awards and closing (A. Lazovik)

Organization

Program chair: H. Groefsema
Session chairs: L. Fiorini, M. Medema, F. J. Blaauw, B. Koldehofe

Best presentation winner: Tom Titherington
Runner ups: Job Heersink, Max Verbeek