Aarhus Universitets segl

Student projects ideas

In the Software Engineering and Computing Systems section we mostly have student projects at different levels (BEng, BSc and MSc) that relate to the development of new additions of improvements to methods or tools for systems or software development in a well-founded manner or applications trying to use such methods and tools. Many of the proposed projects are connected to some of the externally funded innovation and/or research projects we are running in collaboration with industrial and other academic partners. At the moments we have active externally funded research collaboration with more than 100 companies (including: Terma, AGCO, Grundfos, Beumer, CC Jensen, MAN Energy Solutions and AgroIntelli.

We use multiple Git/SVNs for sharing information between different stakeholders so if you choose any of these projects you will be granted access to the relevant Git/SVNs. If one of these proposals sounds interesting to you or you would like to learn about the subject, please click on the name mentioned as contact and send us an e-mail. Usually, we can accommodate BEng thesis, BSc thesis and MSc thesis, R&D projects or both for the different proposals.


Generic JVM FMU Wrapper

In this project you will explore the interplay between C/C++ and applications running on the JVM, i.e. Java, Scala or Kotlin in context of simulation unit.

A simulation standard called FMI states that an FMU shall implement certain C-interfaces and package them as shared objects. However, for prototyping purposes prototyping cases it can be time-consuming to produce such FMUs in C. For this reason, it would be advantageous to develop the FMU in a high-level language running on the JVM for cross-platform capabilities. Such languages could be: Scala, Kotlin or Java. To execute these FMUs, it is necessary to have a C/C++ wrapper that launches the high-level program and manages the communication from C method calls to related high-level method calls and the responses as well. This will be your project.

Contact: Peter Gorm Larsen (pgl@ece.au.dk

Algorithm Plugin-infrastructure

Simulations can be carried out in different fashions and it is therefore of interest to allow interested parties to develop plugins to our simulation tool called Maestro version 2. In this regard it is necessary to have a plugin-infrastructure that can load, execute and communicate with plugins that operate at different stages of simulation execution.

In this project your task will be to develop such a plugin-infrastrucure, both in theory and practice. The simulation tool is Scala, so the implementation is constrainted to applications executing on the JVM (i.e. Scala, Kotlin, Java)

Contact: Peter Gorm Larsen (pgl@ece.au.dk

Investigate Build Tools

There are many build tools available, i.e. Maven, Nix, gradle, SBT to name a few. These help us unify our build processes, which is great in context of continuous integration.
However, how are these compared to each other and a set of requirements?

In this project you will investigate build tools and how they compare to one another – and how a tool can assist in this choice based on certain requirements. As a case study, there is potential for both JVM programs (Scala and Java), Web apps (Angular mainly), Haskell and C++.

Contact: Peter Gorm Larsen (pgl@ece.au.dk

Cross-Platform compilation and execution with Docker or similar

Our programs are cross-platform on Mac, Linux and Windows. For this reason, we are interesting in cross-platform compilation and execution capabilities. In this project you will investigate how to achieve cross-platform compilation capabilities using docker – or a similar approach. The focus will be on C/C++ applications and possibly Haskell application. Furthermore, some programs require execution on multiple platforms verify correct behavior. The project should also take this into consideration.

Contact: Peter Gorm Larsen (pgl@ece.au.dk

DevOps architecture for the INTO-CPS Cloud App

We have a prototype of a cloud application running on Amazon Web Services and at an AU private server. The prototype is missing a DevOps (https://en.wikipedia.org/wiki/DevOps) infrastructure. During the project, you will develop an operations architecture for the application with emphasis on high-availability (https://en.wikipedia.org/wiki/High_availability). The project starts with the development of an Application Performance Monitor APM(https://en.wikipedia.org/wiki/Application_performance_management) and End-to-end tests.

The APM will be used to evaluate the availability level of the architecture after deployment. In case that fits your ambition, and the project occurs in the spring semester, you will be able to test your solution in a Production/Live environment.

Contact: Hugo Daniel Macedo (hdm@ece.au.dk) and Peter Gorm Larsen (pgl@ece.au.dk

Move the INTO-CPS Cloud App into a Progressive Web App

In this project, you will explore the potentials of the Progressive Web Apps to deploy the currently INTO-CPS Cloud App in an offline setup. You will develop a service worker to install the app locally and allow offline functionality. You will test if Web storage (https://en.wikipedia.org/wiki/Web_storage) covers the INTO-CPS Cloud App user projects storage needs, and what privacy properties the solution would have. A far-fetched goal for the interested mind is to investigate whether WebAssembly (https://en.wikipedia.org/wiki/WebAssembly) may be used to improve the current performance.

Contact: Hugo Daniel Macedo (hdm@ece.au.dk) and Peter Gorm Larsen (pgl@ece.au.dk

Co-simulation 3D visualization using WebGL

The goal of the project is to create and display animated 3D computer graphics of Functional Mock-Up Units in a web browser using WebGL based libraries as three.js (https://threejs.org/). Your task is to develop a visualisation solution to render the 3D visualization of several of the INTO-CPS tool case-studies (e.g.: line following robot, water tank, ...) on a browser. The project will also investigate how to connect the simulation engine and the visualization solution.

Contact: Hugo Daniel Macedo (hdm@ece.au.dk) and Peter Gorm Larsen (pgl@ece.au.dk

Web interface to Overture Core, animation & model editing
VDMPad and PVSio represent web frontends that potentially can be connected with the Overture tool enabling users to get access to Overture functionality with ever having to install it one ones own computer. There are many possible options that can be explored in this area both in R&D projects as well as in MSc theses. Work has been carried out initiating these ideas in a previous MSc thesis project and in both Japan and the UK so projects here would take inspiration from these work and progress it further.

Contact: Peter Gorm Larsen (pgl@ece.au.dk

Target profiles for VDM code generation (e.g. Arduino, etc.)
Whenever an application needs to be executed on an embedded platform there will be a need to interface with external hardware components such as LEDs and buttons. This is challenging from a code generation perspective so this project will investigate ways in which users can be assisted in this process. One R&D project has already been carried out in this area using a Raspberry Pi platform. There is room for a series of additional projects that can take this further also to live up to the desires from the industrial partners of the INTO-CPS project.

Contact: Peter Gorm Larsen (pgl@ece.au.dk

Applications of INTO-CPS technology
For the development of Cyber-Physical Systems (CPSs) a heterogeneous model-based development approach is interesting. Here the software engineering research group has a very strong position where we have been the main driver behind the Crescendo tool and now are the coordinator of the INTO-CPS project where these ideas are taken further. There are many opportunities for having student projects that explore the capabilities of these technologies for new CPSs. We have already had a number of MSc and PhD projects for this in the robotics area and are having a couple of R&D projects in the area of UAV dynamics and control. Here agreement for going further in UAV area has already been made with a MSc project for the autumn of 2015.

Contact: Peter Gorm Larsen (pgl@ece.au.dk

Comparing system engineering notations (e.g. SysML and AADL)
In the INTO-CPS project different diagrams from SysML are being incorporated and their connections to the remaining part of the tool suite also needs to be examined further. In the same way other systems engineering notations such as AADL have interesting capabilities. In this area it is possible both to imagine student projects that compare different systems engineering notations either for their suitability for modelling System of Systems or Cyber-Physical Systems. It is also possible to imagine student projects that make tool connections from/to systems engineering tools and the Overture platform.

Contact: Peter Gorm Larsen (pgl@eng.au.dk

Code Coverage of VDM Models
VDM models can be interpreted by Overture to provide a form of rapid prototyping. The Overture tool for VDM includes, among other features, an interpreter for VDM models with basic code coverage support. This project will improve that support by extending the Overture interpreter with a new plug-in for recording and reporting code coverage according to MC/DC. 

Contact: Peter Gorm Larsen (pgl@ece.au.dk

Extensions of Overture
There are many other possibilities for different kinds of student projects that can be made on the Overture open source platform. These can either be in extensions of one of the core tools (type checker, interpreter, proof obligation generator, code generator, etc.) as well as improvements of the graphical user interface (either directly inside Eclipse or using a different user interface framework). This could for example be usig the Language Service Protocol principles.

Contact: Peter Gorm Larsen (pgl@ece.au.dk

Connecting WSDL Web Services to Overture
The WSDL notation is formal, but it is only syntactic - describing the message structures passed to and from operations, but not defining what operations actually do. This project would need XML/XSD to VDM translation tools for converting WDSL message definitions into VDM notation. Then it would seem natural to convert a WSDL description into a skeleton VDM model (ie. with the same operations and parameter types as the WSDL and its supporting XSDs). A designer would then fill in the VDM operation definitions "in the usual way". And lastly, a web service stub could be generated to link the VDM model with real (say) SOAP invocations to animate the system behaviour with real SOAP clients. This could for example be inspired by the XML Schema suggested by Paul Chrisholm from Australia.

Contact: Peter Gorm Larsen (pgl@ece.au.dk

Modelling and optimisation of flow in a high-speed Baggage Handling Systems (BHS)
Modern high-speed baggage handling systems integrate technology for security screening, storage, sortation and transportation of departure and transfer baggage from check-in to loading, as well as handling of arrival baggage. For an Airport BHS systems are mission critical for the daily operation. Algorithms for routing though the system based on shortest distance is basic however system dynamics increase drastically when taking into account the layout of the system and characteristics of the many different elements in the system. One or more MSc projects are proposed modelling a BHS system with the purpose of being able to develop algorithms for providing optimal through put of the system in all situations in collaboration with Crisplant. Aspects to consider: load balancing, avoiding bottlenecks, queuing and deadlocks, strategy for empty tote handling, running in degraded operation in case of a failure or maintenance on part(s) of the system. There will be a possibility to test models and algorithms in a large scale test facility.

Contact: Peter Gorm Larsen (pgl@ece.au.dk

RaspberryPi test bed for formally verified authorization protocol with model in the loop

The project is based on capturing data traffic between several raspberryPis based on a combination of protocols inspired by OAuth2 and RADIUS that have been formally analyzed using model checking. The captured data traffic will be then used as an input to a VDM model that will specify several security properties regarding the protocol. The VDM model will be ready, however during the master project it will potentially need to be tweaked to accommodate the input data. The primary goal of the thesis is to develop a translation interface that will translate the captured traffic to a scenario that could be utilized as a run scenario within the VDM model. Preferably the interface will be generic allowing for analysis of different types of network traffic, however the initial version needs to be tuned towards the traffic captured from the test bed.


Develop a translation interface to translate captured network traffic to a VDM trace

Adjust the VDM model to utilize the translated trace

Report on findings and document the usage of the interface

Contact: Tomas Kulik tomaskulik@ece.au.dk


Current MSc theses projects Spring 2020

Carlos Hansen Mendoza, Multi-model study of a Manufacturing Process using Robotic manipulator

Daniella Tola, From Safety Cases to Fault Injection in a co-simulation Context

Previous MSc theses projects Autumn 2019

Rasmus Hemmingsen, Virtual Reality Methodology, supervisor: Peter Gorm Larsen

Olafur Daguar Skulason, Generating System form VDM-RT for Distributed Real-Time Systems, supervisor: Peter Gorm Larsen    

Previous MSc theses projects Spring 2019

Frederik Riis Nielsen, A visual language for rapid construction plan design, supervisor: Carl Schultz

Mikkel Rasmussen, Generalized Migration for Desktop Application to a Cloud Platform: Peter Gorm Larsen

Previous MSc theses projects Spring 2018

Mathias Jessen, C++ code generation from formal models written in VDM-SL, supervisor: Peter Gorm Larsen

Stefan Bejan, Explainable AI in the aeronautical industry: Comparing traditional machine learning explainability approaches to those of logical-based machine learning for air traffic control and logistics, supervisor: Carl Schultz

Previous MSc theses projects Spring 2017

Troels Knudsen, Modelling and optimisation of flow in a high-speed Baggage Handling Systems, supervisor: Peter Gorm Larsen

Previous MSc theses projects Autumn 2016

Magnus Louvmand and Peter Mathiesen, Refactoring Support for VDM-SL, supervisor: Peter Gorm Larsen

Previous MSc theses projects Spring 2016

Nikolas Bram and Peter Holst, Code Generation Extensions for Overture/VDM, supervisor: Peter Gorm Larsen

Previous MSc theses projects Autumn 2015

Ivan Grujic and René Nilsson, supervisors: Model-based model predictive control for quadrotors, supervisors: Peter Gorm Larsen and Kim Bjerge.

Casper Thue Hansen, Functional Common Orchestration Engine for INTO-CPS, supervisors: Peter Gorm Larsen and Miran Hasanagic

Ruben Værum, Traceability between different kinds of development Artefacts, supervisor: Peter Gorm Larsen

Previous MSc theses projects Spring 2015

Rasmus Thimsen and Sam Chieng, Eliciting requirements of the User Interface for the INTO-CPS project, supervisors: Peter Gorm Larsen and Luis Couto.

Kasper Saaby and Rasmus Reimer, WebIDE for the Overture Platform, (starting October 2015), supervisor: Peter Gorm Larsen

Steffen Diswal, Code Generation Towards a .NET and C# Platform, supervisor: Peter Gorm Larsen

Janne Elisabeth Walsted, Eliciting requirements for User Interfaces in an Agricultural setting, supervisor: Peter Gorm Larsen