Title | Student(s) | Supervisor | Description |
Automatic LLM-based generation of novel language specifications | 1 | Juan Aznar Poveda and Marlon Etheredge | details |
Fault Tolerance for a Novel Cloud-Edge-IoT Programming Model | 1 | Thomas Fahringer | details |
Extension of a Novel Cloud-Edge-IoT Programming Model | 1 | Thomas Fahringer | details |
Generation of Realistic Use Cases, Including Evaluation and Testing | 1 | Thomas Fahringer | details |
Novel Programming Model and Runtime System for Edge/Cloud Infrastructures | 1 | Thomas Fahringer | details |
Decentralized federated-Learning policy update for smart buildings | 1 | Juan Aznar | details |
Python Frontend for Serverless Workflows | 1 | Juan Aznar | details |
Instrumentation, Monitoring, and Visualization of Edge-Cloud Applications | 1 | Thomas Fahringer | details |
Automatic Data Dependence Analysis for Simple C Programs | 1 | Thomas Fahringer | details |
Title | Automatic LLM-based generation of novel language specifications |
Number of students | 1 |
Language | English |
Supervisors | Juan Aznar Poveda and Marlon Etheredge |
Description | We research and develop a novel programming model based on state machines for high-performance, fault-tolerant, and dynamic Edge-Cloud applications. The automation of the language specification would largely increase developers’ productivity and favor massive deployments across the continuum. For this purpose, this topic is focused on (i) investigating suitable Large Language Models able to automatically convert requirements into applications written in the novel language developed by the DPS, (ii) implement the tool and integrate it into our system, and (iii) rigorously assess it for various use cases. |
Tasks |
|
Theoretical skills |
Familiarity with computer science topics such as the following will become important throughout this project: artificial intelligence, cloud computing, distributed systems, state machines. |
Practical skills |
|
Additional information | IMPORTANT: As the system that supports our programming model is intended to run large-scale cloud applications, any implementation must be of high quality. Therefore, software and code quality are essential aspects of this work. For this reason, we are looking for students with excellent programming abilities. |
Title | Fault Tolerance for a Novel Cloud-Edge-IoT Programming Model |
Number of students | 1 |
Language | English |
Supervisors | Thomas Fahringer |
Description | We research and develop a novel Cloud-Edge-IoT programming model for high-performance, fault-tolerant, and dynamic cloud applications. Our programming model lends itself to cloud applications that require fault tolerance. For this reason, we would like to extend our programming model with fault-tolerant constructs. For this project, it is required to investigate possible extensions to our programming model, implementation of these extensions into our system, and a complete evaluation, including use case development. |
Tasks |
|
Theoretical skills |
Familiarity with computer science topics such as the following will become important throughout this project: consensus algorithms, state machines, distributed systems, and cloud computing. |
Practical skills |
|
Additional information | As the system that supports our programming model is intended to run large-scale cloud applications, any implementation must be of high quality. Therefore, software and code quality are essential aspects of this work. For this reason, we are looking for students with excellent programming abilities. |
Title | Extension of a Novel Cloud-Edge-IoT Programming Model |
Number of students | 1 |
Language | English |
Supervisors | Thomas Fahringer |
Description | We research and develop a novel Cloud-Edge-IoT programming model for high-performance, fault-tolerant, and dynamic cloud applications. Our programming model could be extended to increase the level of abstraction and reusability of developed components. Extensions that we are currently considering as being useful additions to our programming models are analogous to concepts such as:
However, new ideas and their application to our programming model will be integral to this project. |
Tasks |
|
Theoretical skills |
|
Practical skills |
|
Additional information | As the system that supports our programming model is intended to run large-scale cloud applications, any implementation must be of high quality. Therefore, software and code quality are essential aspects of this work. For this reason, we are looking for students with excellent programming abilities. |
Title | Generation of Realistic Use Cases, Including Evaluation and Testing |
Number of students | 1 |
Language | English |
Supervisors | Thomas Fahringer |
Description | We research and develop a novel Cloud-Edge-IoT programming model for high-performance, fault-tolerant, and dynamic cloud applications. As an extension to the system, we are currently interested in accepting a bachelor student working on a project to extend the project with tooling that simplifies the development of cloud applications. An essential aspect of our programming model is the study of realistic (real-world) use cases. Such use cases may include applications such as smart cities, smart buildings, surveillance, and AI analysis. The generation of realistic use cases will entail the following:
The product of this project is required to be the development of several realistic use cases. |
Tasks |
|
Theoretical skills |
Familiarity with computer science topics such as the following will become important throughout this project: modeling and AI analysis (for instance, image analysis). |
Practical skills |
|
Additional information | As our system is intended to solve real-world problems, any applications developed must be of high quality. For this reason, we are looking for students with excellent programming abilities. |
Title | Novel Programming Model and Runtime System for Edge/Cloud Infrastructures |
Number of students | 1 |
Language | English |
Supervisors | Thomas Fahringer |
Description | Develop a novel programming model (language) which is based on a set of state machines and transitions among these state machines based on events. Develop a highly distributed and scaling runtime system that executes programs with this novel programming model. Test it with 2 – 3 applications that should be developed as part of this thesis. Testing will be done on a local edge laboratory with a public cloud. |
Tasks |
|
Theoretical skills | Cloud computing, Serverless, Machine/Federated Learning |
Practical skills | Java (expert programmer), git and GitHub, JSON or YAML, serverless computing, Container and Virtual Machine technologies |
Additional information | You should have passed the lecture and PS on Verteilte Systeme in the computer science bachelor program or otherwise demonstrate that are familiar with the practical skills mentioned above. You should be an expert programmer in Java.The student will have the opportunity to work with a state-of-the-art Apollo Edge-Cloud infrastructure. The developed environments will be reused for international projects and published as open-source. Collaborative work in an international project is possible if the student is interested. In the best case this work can also be published and student can travel to conference and present his/her work. |
Title | Decentralized federated-Learning policy update for smart buildings |
Number of students | 1 |
Language | English |
Supervisors | Juan Aznar |
Description | Smart buildings (SB) should provide smart and automatic responses to undesired events such as fire, earthquakes, water leakages, etc. To this end, edge devices are deployed to recognize risky scenarios on smart buildings (SB). In this thesis, a federated learning [1] scheme should be applied to optimally select the actions taken by the smart building and improve the different Machine Learning models trained over time in a distributed fashion. Finally, the Apollo system [2] will be used, not only to exploit parallelism and scalability, but also to intelligently select resources across the cloud-edge continuum according to the nature of the tasks scheduled.[1] https://www.tensorflow.org/federated [2] https://apollowf.github.io/learn.html |
Tasks |
|
Theoretical skills | Cloud computing, Serverless, Machine/Federated Learning |
Practical skills | Python, TensorFlow (Lite & Federated), git, GitHub |
Additional information |
Title | Python Frontend for Serverless Workflows |
Number of students | 1 |
Language | English |
Supervisors | Juan Aznar |
Description | Apollo (https://apollowf.github.io/) is the DPS research orchestration and runtime system for Edge-Cloud infrastructures. We are using AFCL (https://apollowf.github.io/learn.html) to describe serverless workflows for distributed applications. As part of this thesis, you will have to create a Python version for AFCL thus application developers can create Python programs to build workflows instead of using AFCL directly. Furthermore, you have to create a transformation system that automatically converts the Python programs into AFCL which is input to APOLLO. |
Tasks |
|
Theoretical skills | |
Practical skills | Advanced Python programmer, git and GitHub, JSON or YAML |
Additional information | It is not mandatory but of great help if you passed the lecture and PS on Verteilte Systeme in the computer science bachelor program.This Master Thesis will be supervised by Juan Aznar (IFI/DPS).
The student will have the opportunity to work with a state-of-the-art Apollo Edge-Cloud infrastructure. The developed Python frontend will be reused for international projects and published as open-source. Collaborative work in an international project is possible if the student is interested. In the best case this work can also be published and student can travel to conference and present his/her work. |
Title | Instrumentation, Monitoring, and Visualization of Edge-Cloud Applications |
Number of students | 1 |
Language | Englisch |
Supervisors | Thomas Fahringer |
Description | Port two existing applications or develop new applications to our own Edge-Cloud infrastructure at DPS. For this reason, you will have to read some papers which describe such applications or find them on the internet. The more realistic these applications the better. Next, you will have to implement an instrumentation, monitoring and analysis service under our Apollo (https://apollowf.github.io/) orchestration and runtime system for Edge-Cloud infrastructures. You will have to instrument the application and the runtime system for various parameters such as runtime, memory, transfer time, energy consumption, economic costs, etc. Then you have to port an existing or develop your own monitoring system that collects the performance data in a highly decentralized fashion. The monitoring data should be analyzed in real-time within a Dashboard to be developed for this purpose. The Askalon Visualization Diagrams (http://www.dps.uibk.ac.at/projects/askalon/visualization) or any other proper service can be used for this purpose. For this work, we should try to reuse as much software as possible. However, the result should be stable and sustainable as part of the Apollo system. |
Tasks |
|
Theoretical skills | |
Practical skills | Advanced Java programmer, Distributed Systems, Cloud systems, Docker, git and GitHub |
Additional information | It is not mandatory but of great help if you passed the lecture and PS on Verteilte Systeme in the computer science bachelor program. The student will have the opportunity to work with a state-of-the-art Apollo Edge-Cloud infrastructure. The developed instrumentation and monitoring system will be reused for international projects and published as open-source. Collaborative work in an international project is possible if the student is interested. In the best case this work can also be published and student can travel to conference and present his/her work. |
Title | Automatic Data Dependence Analysis for Simple C Programs |
Number of students | 1 |
Language | German or English |
Supervisor | Thomas Fahringer |
Description | We have developed a simple dependence testing tool for simple C programs. The goal of this project is to detect errors and fix them and to extend the data dependence ability. Among other the compiler of this tool should be extended for countable dependence testing which inserts code to instrument and monitor array subscript expressions which are written into a trace file. At the end of the execution of such programs, the trace file is analyzed and dependencies are determined based on the content of the trace file. Next would be to include a new dependence tester, such as the polyhedral library and replace the existing dependence tester in the above mentioned tool with the objective to improve the accuracy of dependence testing. |
Tasks |
|
Theoretical Skills | data dependence analysis compiler technology such as flex and bison |
Practical Skills | scripting language, C oder C++ |
Additonal Information |