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.
 

MSC PROJECT PROPOSALS

Digital twin as a service for Multi-robots coordination

Autonomous multi-robot systems are being largely deployoed in manufacturing sites and storage warehouses. Such robots can be different as they come form different evndors, perform different missions and have different perofrmances. In the deployment enviornments, such autonmous robots may need to coordinate one-to-one in case two robots get into proximity (e.g. one of the robots stands in the path of the other robot). Negotiating a timely coordination plan for the robots in a conflict is a critical task as it can delay one of the robots, failure to deliver a mission in time, etc. This project aims at designing a digital twin setup that can be used as a service to compute runtime negotation plans given the robots real-time data, where it incoprrates different features such as deadline for the current robot missions, battery state of the robots, mission criticality, etc. The digital twin will also serve to validate the negotation plans prior to its deployment to the robots.      

Contact: Jalil Boudjadar, jalil@ece.au.dk.


Embedded Articifial intelligence: Squeezing ML models into Embedded devices

Artifical intelligence/machine learning applications are being widely utilized for monitoring, prediction and optimization of different industrial applications. Such applications mostly operate on resource-constrained platforms (micro-control, Raspberry PI, FPGA, etc), which represents a challenge to deploy ML models caharacterized with large memory footprint and computation cost. This project aims at performing a design space exploration for the deployment of different machine learning models (with different architectures) on Raspberry PI4  (and a FPGA if possible) to study the correlation of models accuracy, memory footprint and computation performance. The models are alerady designed and implemented in Python. The outcome will be a catalogue of deployment patterns that can help ML designers to customize their applications efficiently for deployment on embedded devices. 

Contact: Jalil Boudjadar, jalil@ece.au.dk.


Digital twins for uncertainty mitigation to autonomous mobile robots

Autonomous mobile robots can experience drastic changes in the deployment environment, such as muddy floor and unperveivable obstacles. This can lead to degradre the robot perfoprmance, and in the worst case deprive the robot to deliver its mission, given that the robot is not programmed to recognize those uncertainty states and compute efficient actuations. This project focuses on using digital twin as a service to enhance the robots autonomy in dealing with uncertainties via runtime monitoring, uncertainty recognition and mitigation validation. The project will include the design of runtime monitors to estimate the robot state using real-time data, synthesis of different uncertainty scenarios in the lab, integration of a mitigation process (could be developed using AI or classic control) and system integration.

Contact: Jalil Boudjadar, jalil@ece.au.dk.


Investigating the ethics of collective decision-making (multi-agent/robot systems)

In the past decades there has been a tremendous focus on getting agents and robots to act autonomously, in order to relieve the human of the mental/manual labor associated with particular tasks. However, as agents make autonomous decisions, possible ethical implications of these decisions are not fully under human control (consider autonomous warfare drones that can select targets autonomously). In this context, researchers are attempting to figure out how to enable and support ethical decision-making. It turns out that this is not a trivial task, as ethics depends on several factors, such as culture, personal values, and ways in which to see the world. It is not always straightforward to determine whether an action is ethical (consider the MIT moral machine https://www.moralmachine.net/), even for humans! Nevertheless, finding techniques to tackle the ethical aspect is of paramount importance.

Investigating techniques that empower a human(s) where collective decision-making of autonomous agents is involved will be your task. Simulators such as Gama (https://gama-platform.org) can be used to implement and test different ideas.

Contact: Mirgita Frasheri, mirgita.frasheri@ece.au.dk.


Digital Twin based prediction and adaptation for mobile robots

Digital Twins (DTs), as virtual replicas of physical systems (PTs), can provide a range of services to improve the performance of their PTs, such as prediction, anomaly detection, fault diagnosis etc. Multi-robot systems on the other hand are useful in those applications where they can reduce the manual labor required from humans (e.g., agriculture), or access remote and dangerous environments (e.g., in search and rescue). These robots will eventually face faults and failures as a result of a changing and uncertain operating environment.

From this perspective, DTs could be adopted to provide additional services to the robots and recover robot missions before failures happen. Building a proof-of-concept DT that predicts failures and applies a mitigation strategy accordingly will be your project. Minimum nr. of robots is 2; the approach should consider generalization to more robots.

Contact: Mirgita Frasheri, mirgita.frasheri@ece.au.dk.


Building verifiable DT monitors using the BIP language

Digital twins (DTs) represent the technology of the future, promising enhanced performance, as well as extended capabilities, monitoring, self-adaption, prediction, predictive maintenance, among a few, for the cyber-physical systems (CPSs) they would model.The application domains are vast, from smart cities, to agriculture, healthcare, smart factories, and more specifically manufacturing, where DTs have already gained much interest and traction.Realising the DTs that can fulfil the aforementioned promises is not a trivial matter, as it requires cross-disciplinary effort at multiple levels, considering how to appropriately model the CPSs of interest, how to enhance their capabilities, taking also care of lower levels elements like the communication infrastructure.

Building a DT monitor for a mobile robot, using the Real-Time Behaviour, Interaction and Priority (RT-BIP) language, such that it is possible to quantify delays in communication as well as formally provide guarantees on the monitors themselves, will be your task.

Contact: Mirgita Frasheri, mirgita.frasheri@ece.au.dk.


Multi-robot SLAM and foraging behaviours for mobile robots

Multi-robot systems are useful in applications where they can reduce the manual labor required from humans (e.g., agriculture), or access remote and dangerous environments (e.g., in search and rescue). In some cases, the goal is to explore an unknown area and gather data, e.g. create a map, find objects of interest etc. To achieve this, robots need to know where they are and continuously exchange information with each other, in order to build a global view of the environment they are exploring. Implementing collective behaviours, and experimenting in the real world, present challenges that go beyond the developed algorithm. One has to deal with hardware, and possible uncertain environments that can negatively impact the behaviour of the multi-robot system.

Configuring SLAM (Simultaneous Localisation and Mapping) and implementing a coordination mechanism (e.g. based on the potential fields) for a system of 4-5 robots will be your task.

Contact: Mirgita Frasheri, mirgita.frasheri@ece.au.dk.


Exploration of neural networks in the calibration of models for the Desktop Robotti

A Digital Twin (DT) is a virtual replica of a (cyber)-physical system (CPS), that can be used to provide a variety of services, from run-time monitoring and re-configuration of its CPS to run-time prediction and predictive maintenance. These functionalities are supported by the two way communication between the digital and physical worlds, allowing the use of real operational data, and the possibility of affecting change in the physical system if needed. As promising as it seems, building DTs is not a trivial matter, where the fidelity of the models on the DT has a direct impact on the feasibility and performance of the aforementioned services. An important element relates to the calibration of these models before they are adopted in the DT.

Your task will be to explore the adoption of neural networks for the purpose of improving models. One potential way would be the FMI-based approach using NeuralFMU.

Contact: Mirgita Frasheri, mirgita.frasheri@ece.au.dk.


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.

Objectives:

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


Self-Adaptation Loop Analysis

Models are computerized representations of how some system behaves.

Digital Twins (DTs) exist to increase the robustness of a system under study (the physical twin, or just PT) [Feng2021a]. 

One of the services of DT is to adapt the PT the latter is facing a new environment. 

Self-adaptation loops should be coded by domain experts, who have spent years gathering data and understanding the PT. An example of this would be a manufacturing company where correlations between processes have taken years to identify and understand. But these domain experts have little knowledge of the timing constraints associated with the execution of these self-adaptation loops. Therefore we need tools and techniques to carry out this analysis automatically.

This thesis will investigate the possibility of using BIP as a modeling language [Foughali2020] to describe/monitor self-adaptation loops, and the possibility of refining these models with other information that makes the loop closer in abstraction to the execution. For instance, the calibration of models to new situations should be something that the user should not have to concern about, but this step introduces delays. Additionally, recovery strategies need to be thought in order to cope up with the possible violation of properties of interest.

References: 

[Foughali2020] - Foughali, Mohammed, Saddek Bensalem, Jacques Combaz, and Felix Ingrand. “Runtime Verification of Timed Properties in Autonomous Robots.” In 2020 18th ACM-IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE), 1–12. Jaipur, India: IEEE, 2020. doi.org/10.1109/MEMOCODE51338.2020.9315156.

Contact: Claudio Gomes claudio.gomes@ece.au.dk


How to debug a Co-simulation

Co-simulation enables the distributed modelling and simulation of complex systems by encapsulating the models behind a standard interface such as the Functional Mockup Interface (FMI) [Blochwitz2012]. FMI, currently supported by 150 tools [FMI2021], denotes a standard interfaces for a constituent (called an FMU) of a system developed to enable portability and reusability of heterogenous models.

Due to the distributed nature of co-simulation where the models are encapsulated behind a standard interface, it is difficult to understand or even worse correct an unexpected behaviour of a co-simulation. This is because the standard interface hides the internal state of the models, and the standard interface does not provide any means to debug a simulation. This challenge is further exacerbated as the FMI standard has undergone a major revision to support both periodic and aperiodic events [Junghanns2021].

This thesis will investigate how the FMI 3.0 standard~[Hansen2022a] for clocked co-simulation can support debugging of co-simulations leveraging the event mechanism of the standard. Concretely, one will focus defining is the granularity of a co-simulation or an FMU and an implementation of a tool that either can be used to debug a co-simulation or an FMU. The impact of a successful thesis in the modelling and simulation industry can be enormous.

References: 

[Blochwitz2012] - Blochwitz, Torsten, Martin Otter, Johan Akesson, Martin Arnold, Christoph Clauss, Hilding Elmqvist, Markus Friedrich, et al. “Functional Mockup Interface 2.0: The Standard for Tool Independent Exchange of Simulation Models.” In 9th International Modelica Conference, 173–84. Munich, Germany: Linköping University Electronic Press, 2012. doi.org/10.3384/ecp12076173. 


[FMI2021] - FMI 3.0. “Functional Mock-up Interface for Model Exchange, Co-Simulation, and Scheduled Execution,” 2021. fmi-standard.org/downloads/. 


[Junghanns2021] - Junghanns, Andreas, Torsten Blochwitz, Christian Bertsch, Torsten Sommer, Karl Wernersson, Andreas Pillekeit, Irina Zacharias, et al. “The Functional Mock-up Interface 3.0 - New Features Enabling New Applications.” In Proceedings of the 14th International Modelica Conference. online: Linköping University Electronic Press, Linköpings Universitet, 2021. doi.org/10.3384/ecp2118117. 


[Hansen2022a] - Hansen, Simon Thrane, Cláudio Gomes, Masoud Najafi, Torsten Sommer, Matthias Blesken, Irina Zacharias, Oliver Kotte, et al. “The FMI 3.0 Standard Interface for Clocked and Scheduled Simulations.” Electronics 11, no. 21 (November 7, 2022): 3635. https://doi.org/10.3390/electronics11213635.

Contact: Claudio Gomes claudio.gomes@ece.au.dk and Simon Thrane Hansen <sth@ece.au.dk>


Continuous Integration/Continuous Delivery (CI/CD) practices for CPS Development

Continuous Integration/Continuous Delivery (CI/CD) practices are a critical part of modern DevOps.
However, this practice has not yet matured in the development of Cyber Physical Systems.

This thesis will focus on answering: how do we adapt CI/CD practices from software DevOps to the development of CPSs and Digital Twins?
The need for a full-fledged mechanism to support the system development process from the early design up to its operation allowing continuous integration in an automatic way (due to the high number of involved system components), is still an unsolved problem. In [Reiterer2020], the high-level idea of using a graph-based metadata approach by storing the data in a database, in order to support the automatic generation of execution orders and how to deploy participants and connect them together, is briefly introduced; the authors well highlight the need of having innovative tools to support it. The objective of the project could be to expand the work done in [Reiterer2020] and integrate with the Semantic Twin environment in GitWorks [Nachawati2022] and an open source CI/CD environment such as GitLab runner(https://docs.gitlab.com/runner/)


References: 
[Reiterer2020] - Reiterer SH, Balci S, Fu D, Benedikt M, Soppa A, Szczerbicka H (2020) Continuous integration for vehicle simulations. In: 2020 25th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), vol. 1, pp. 1023-1026. IEEE
[Nachawati2022] - Mohamad Omar Nachawati, Gianmaria Bullegas, Andrey Vasilyev, Joe Gregory, Adrian Pop, Maged Elaasar, Adeel Asghar. Towards an Open Platform for Democratized Model-Based Design and Engineering of Cyber-Physical Systems. Proceedings of the American Modelica Conference 2022. 2022. pp. 102-114.

Contact: 
- Claudio Gomes claudio.gomes@ece.au.dk
 


Formal verification of the FMI Standard 3.0 for Clocked Co-simulation

The FMI standard version 2.0 [Blochwitz2012] is currently supported by more than 150 modelling and simulation tools [FMI2021].
It plays a crucial role by enabling the distributed modelling and simulation of complex systems such as the ones developed in the automotive industry.

The new version of FMI standard [Junghanns2021] includes novel features for enabling simulations that contain all sorts of periodic and aperiodic tasks.
Unfortunately the industry is struggling to support these, as they are often specified in an ambiguous manner.

This thesis will focus on formal modelling the FMI standard for clocked co-simulation [Hansen2022a], and implementing a tool that supports industry in supporting the standard. The impact of a successful thesis in the modelling and simulation industry can be enormous.


References: 

[Blochwitz2012] - Blochwitz, Torsten, Martin Otter, Johan Akesson, Martin Arnold, Christoph Clauss, Hilding Elmqvist, Markus Friedrich, et al. “Functional Mockup Interface 2.0: The Standard for Tool Independent Exchange of Simulation Models.” In 9th International Modelica Conference, 173–84. Munich, Germany: Linköping University Electronic Press, 2012. doi.org/10.3384/ecp12076173.


[FMI2021] - FMI 3.0. “Functional Mock-up Interface for Model Exchange, Co-Simulation, and Scheduled Execution,” 2021. fmi-standard.org/downloads/.


[Junghanns2021] - Junghanns, Andreas, Torsten Blochwitz, Christian Bertsch, Torsten Sommer, Karl Wernersson, Andreas Pillekeit, Irina Zacharias, et al. “The Functional Mock-up Interface 3.0 - New Features Enabling New Applications.” In Proceedings of the 14th International Modelica Conference. online: Linköping University Electronic Press, Linköpings Universitet, 2021. doi.org/10.3384/ecp2118117.


[Hansen2022a] - Hansen, Simon Thrane, Cláudio Gomes, Masoud Najafi, Torsten Sommer, Matthias Blesken, Irina Zacharias, Oliver Kotte, et al. “The FMI 3.0 Standard Interface for Clocked and Scheduled Simulations.” Electronics 11, no. 21 (November 7, 2022): 3635. doi.org/10.3390/electronics11213635.

Contact: Claudio Gomes claudio.gomes@ece.au.dk


Application of Consistency Management in Gitworks

In the development of real complex systems, it is not uncommon for different teams to collaborate on the development of different parts of the subsystem. 
For example, software engineers will perhaps use a state machine tool to represent the software system, or use VDM, whereas mechanical engineers will use Simulink.
What happens if the mechanical engineering team changes a parameter of the system that has an impact in the software. 
How do we notify the software team that something changed?
How do we even detect that a change causes an impact elsewhere?
This is the problem that inconsistency management tackles.

This thesis will focus on exploring whether the inconsistency management method proposed in [David2016a] can be applied to the GitWorks tool used for systems engineering, provided by PerpetualLabs (https://www.gitWorks.io /).

References: 
[David2016a] - István Dávid et al., “Engineering Process Transformation to Manage (in) Consistency,” in International Workshop on Collaborative Modelling in MDE (COMMitMDE 2016), 2016, 7-16.

Contact: 
- Claudio Gomes claudio.gomes@ece.au.dk
- Gianmaria Bullegas <gian@perpetuallabs.io>
 


Finding the Limits of Reachability Analysis

Reachability analysis is a crucial technique in verification of controlled systems. It essentially consists of computing all possible behaviors of the system, consider that some parameters or control signals might not be entirely known. 
The technique is often used to prove the safety of the system (e.g., a robot manipulator will detect a collision and stop within 10 ms).

The problem is that currently it is unclear whether this technique can be applied to realistic system models (e.g., a model of UR robot contains 1000 pages of equations).

This thesis has the ambitious goal of assessing whether a state of the art reachability technique, such as [Bogomolov2019], can be applied to such systems. The choice of case study and tools is flexible.

References: 

[Bogomolov2019] - Bogomolov, Sergiy, Marcelo Forets, Goran Frehse, Kostiantyn Potomkin, and Christian Schilling. “JuliaReach: A Toolbox for Set-Based Reachability.” In Proceedings of the 22nd ACM International Conference on Hybrid Systems: Computation and Control, 39–44. HSCC ’19. New York, NY, USA: Association for Computing Machinery, 2019. doi.org/10.1145/3302504.3311804.

Contact: Claudio Gomes claudio.gomes@ece.au.dk
 


Model Generation

Models are computerized representations of how some system behaves.

Digital Twins (DTs) exist to increase the robustness of a system under study (the physical twin, or just PT) [Feng2021a]. 

This means that the DT needs to learn the models of a new situation the PT faces, whenever any previously learned models do not fit the new situation.

The learning process must be controlled, since otherwise we are just doing machine learning, for which we simply do not have enough time to gather all the data needed (machine learning is also problematic as verification becomes difficult).

At the same time, we cannot expect all possible environments to have been identified at the time we design the system.

Fortunately the DT already has multiple models that it can use to generate new models, that can then be tried on the new situation.

The goal of this thesis is to explore ways to generate models from existing models and possibly relationships between these models.

References: 

[Feng2021a] - Feng, Hao, Cláudio Gomes, Casper Thule, Kenneth Lausdahl, Alexandros Iosifidis, and Peter Gorm Larsen. “Introduction to Digital Twin Engineering.” In 2021 Annual Modeling and Simulation Conference (ANNSIM), 1–12. Fairfax, VA, USA: IEEE, 2021. doi.org/10.23919/ANNSIM52504.2021.9552135.

Contact: Claudio Gomes claudio.gomes@ece.au.dk
 


Exploring Model Based Version Control on Heterogeneous Development Processes

Source control has had a tremendous success in the software engineering industry. However, its adoption is slow in the wider systems engineering industry. There, thousands of artifacts reflecting a complex system are created and updated, and therefore need to be controlled as well. This is where model based versioning control comes into play.

In model based versioning, the comparison and increment is done not via text patches, but model patches, that, for example, do not depend on lines of code. For instance, patches on an XML file consist of nodes modified, and not just "text added between lines 233 and 243". One can completely reshuffle the line order in an xml document and not change the model at all. 

This thesis will explore the implementation of model versioning in an existing tool used for systems engineering, provided by GitWorks (https://www.gitworks.io/), on top of git. The main challenge is the fact that many different formalisms are used within the same tool. 
For example, it is not uncommon to see diagrams (binary or xml files) being changed along with text files. 

More details: see existing model versioning techniques in [Altmanninger2009] and an introduction in [Brosch2012].
This functionalities would be based on a common dataset representation (i.e. RDF) and the canonicalization algorithms presented here:

- w3c.github.io/rdf-canon/spec/


- github.com/digitalbazaar/rdf-canonize

References: 

[Altmanninger2009] - Altmanninger, Kerstin, Martina Seidl, and Manuel Wimmer. “A Survey on Model Versioning Approaches.” International Journal of Web Information Systems 5, no. 3 (January 1, 2009): 271–304. doi.org/10.1108/17440080910983556.


[Brosch2012] - Brosch, Petra, Gerti Kappel, Philip Langer, Martina Seidl, Konrad Wieland, and Manuel Wimmer. “An Introduction to Model Versioning.” In Formal Methods for Model-Driven Engineering: 12th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2012, Bertinoro, Italy, June 18-23, 2012. Advanced Lectures, edited by Marco Bernardo, Vittorio Cortellessa, and Alfonso Pierantonio, 336–98. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer, 2012. doi.org/10.1007/978-3-642-30982-3_10.

Contact: 
- Claudio Gomes claudio.gomes@ece.au.dk
- Gianmaria Bullegas <gian@perpetuallabs.io>


Explaining ways to describe abstraction for physical system models

Abstract models are crucial in the engineering process of cyber physical systems.
Typically, engineering starts with "back of the envelope" calculations that provide rough estimates of the system's main properties.
Then more refined models are produced, that focus on different aspects of the system (e.g., focusing on the mechanics, and others focusing on the software), etc... See [VanderAuweraer2013] for details of realistic development processes.

The later models have some relationships to the preliminary models. For example, they should provide results that are comparable with the preliminary back of the envelope calculations.
The challenge is that no one knows exactly how to compare these results!

This thesis has the ambitious goal assessing state of the art trace comparison techniques are fit for the realistic case studies we have in the ECE lab. Potentially adapting them as well.
An example trace comparison technique is described in [Munoz2022].

This thesis has the potential to impact the research community by directing their efforts towards trace comparison techniques that actually work on real cases.

References: 

[VanderAuweraer2013] - Van der Auweraer, Herman, Jan Anthonis, Stijn De Bruyne, and Jan Leuridan. “Virtual Engineering at Work: The Challenges for Designing Mechatronic Products.” Engineering with Computers 29, no. 3 (2013): 389–408. doi.org/10.1007/s00366-012-0286-6.


[Munoz2022] - Muñoz, Paula, Manuel Wimmer, Javier Troya, and Antonio Vallecillo. “Using Trace Alignments for Measuring the Similarity between a Physical and Its Digital Twin.” In Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, 503–10. Montreal Quebec Canada: ACM, 2022. doi.org/10.1145/3550356.3563135.

Contact: Claudio Gomes claudio.gomes@ece.au.dk


Digital Shadow for an Organ Preservation Device

This thesis project originates as part of the development of a digital twin for a system called the ScubaTx device. The ScubaTx device is currently a prototype made by a company in Newcastle which uses organ preservation techniques to preserve an organ in a cheap and safe way in order to enhance the organ transplantation process. It has been demonstrated that organs can remain alive for an order of magnitude more than using traditional methods.

A digital shadow is defined as a digital entity replicating the behaviour of a physical entity while receiving data used to predict the internal state of the physical entity. This can then be used for anomaly detection, which is especially important in the context of organ preservation.

This thesis will consist of extending the physical setup used to preserve an organ with more sensors, to enable the data gathering required for the production of a digital shadow. We will then explore different techniques to produce a digital shadow and compare them. 
Finally, we will develop visualization techniques to help non domain experts understand the situation surrounding the organ. No real organs will be used (only imitations).

Contacts: 
Claudio Gomes claudio.gomes@ece.au.dk
Leo Freitas <leo.freitas@newcastle.ac.uk>


A Tool for Sensitivity Analysis of Hybrid Systems

There are many systems in our everyday life that are best represented using the hybrid systems formalism. 
For example, the different landing stages of an airplane, or a car driveline with multiple gears, or even a neural network. 
Hybrid systems are systems with mixed discrete-continuous behaviour. 
In other words, physical systems evolving continuously and controlled by discrete controllers are called hybrid systems. 
In these systems, the continuous evolution of a physical system (a.k.a. flow) is combined with discrete changes (a.k.a. jumps), which can be specified in terms of Differential-Algebraic Equations (DAEs) and described by piecewise continuous traces.
Analyzing the dynamic behaviour of these systems is crucial for assuring the system's performance, stability, safety and reliability. 
Trajectory sensitivity analysis is an approach for studying these dynamic behaviours under uncertain initial conditions and/or parameters. 
Applying this approach, one could realize the sensitivity of a hybrid system to small perturbations.

The goal is to develop a library used for sensitivity analyses of hybrid systems. 
A system designer should be able to specify their set of DAEs together with perturbations as inputs to the tool. 
The tool will then run the sensitivity analysis techniques in the background and should return approximate trajectories accompanied by explicit error bounds.

- Basic understanding of hybrid systems
- Sensitivity analysis of dynamical systems
- Understanding on how DAEs are solved in theory versus practice
- Developing a library/tool using C++ and/or Python

Contact: Claudio Gomes claudio.gomes@ece.au.dk


Runtime Monitoring of Passenger Detection Module in an Autonomous Train

Recently, the investigation of autonomous trains has received increasing attention, following the achievements of research and development for autonomous vehicles in the automotive domain. The business cases for autonomous train control are very attractive, in particular for autonomous rolling stock and metro trains.
However, several essential characteristics of autonomous transportation systems are not addressed in the standards serving today as the certification basis.

One of these is how to manage subsystems that rely on neural networks (NN).
Here, the safety is dependent not on the correctness of the specification and its implementation, but on the training data and its characteristics.
These components are then quite difficult to assure in practice, and one has to instead rely on monitoring them in a deployed setting.
For example, if an input is sufficiently different than any other input ever used to train the NN, then one should not obviously rely on the NN.

This thesis has the ambitious goal assessing whether the state of the art NN monitoring techniques are capable of being deployed for a passenger detection system used in real trains in France.
The thesis will be conducted together with the company ClearSy 

This thesis has the potential to impact the way the company conducts safety certification of their systems.
Currently, there are no accepted safety standardization procedures for neural networks, to the impact potential is great.

See [Peleska2022] for more details.

References: 

[Peleska2022] - Peleska, Jan, Anne E. Haxthausen, and Thierry Lecomte. “Standardisation Considerations for Autonomous Train Control.” In Leveraging Applications of Formal Methods, Verification and Validation. Practice, edited by Tiziana Margaria and Bernhard Steffen, 286-307. Lecture Notes in Computer Science. Cham: Springer Nature Switzerland, 2022. doi.org/10.1007/978-3-031-19762-8_22.

Contacts: 
- Claudio Gomes claudio.gomes@ece.au.dk
- Thierry Lecomte <thierry.lecomte@clearsy.com>


Development of a Deep Learning-Based Test Scheduler for Test Bench Optimization at Grundfos

In the ever-evolving landscape of manufacturing and quality assurance, the need for efficient and effective testing processes is paramount. Companies like Grundfos, a global leader in advanced pump solutions, rely on sophisticated test benches to ensure the quality and functionality of their products. However, conducting exhaustive tests on every device can be resource-intensive and time-consuming. To address this challenge, this master's thesis aims to develop a novel Deep Learning-Based Test Scheduler for Grundfos, designed to optimize the testing process by determining if a specific test is necessary for a particular device under examination.

Grundfos, like many manufacturers, operates various test benches to evaluate the performance, durability, and quality of their devices. Each device undergoes a series of tests, some of which might be redundant or unnecessary depending on the device's characteristics and previous test results. Identifying which tests to perform and which to skip can significantly reduce testing time, resource utilization, and associated costs, while maintaining high product quality. This thesis addresses the problem of automating this decision-making process using deep learning techniques.

The primary objective of this master's thesis is to design and implement a deep learning-based test scheduler for Grundfos test benches

For inquiries or collaboration opportunities related to this master's thesis proposal, please contact:
  Claudio Gomes <claudio.gomes@ece.au.dk>
  Rami Mansour <ramimansour@mpe.au.dk> 
  Mohammad Hassan Khooban <khooban@ece.au.dk> 
  Brian Holm <bholm@grundfos.com>
  Peter Christensen <pchristensen@grundfos.com> 

CURRENT AND PREVIOUS MSC PROJECTS

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