Bachelor and Master Theses

To apply for conducting this thesis, please contact the thesis supervisor(s).
Title: Executable Program for Cyber-Physical System Model
Subject: Computer network engineering, Computer science, Software engineering, Embedded systems, Robotics
Level: Advanced
Description:

Robots, autonomous cars, and smart electrical grids have been widely used in industry and daily life, and more and more researchers pay efforts to ensure the correctness of the safety critical system. One of the typical approaches is to use model verification technique to validate the requirement specifications in the early design stage. For example, model-checking tools are widely used for the analysis and design of software systems, which provide well support for the model construction, interactive simulation and effective validation. Once the correctness of the design model is guaranteed, it is manually translated into platform-dependent code as a preliminary implementation. On the one hand, manual code transformation may inadvertently introduce many additional errors, and even extend the software development cycle. On the other hand, the reusability of models is reduced. It is difficult to transplant code between different target platforms. This can be seen in the development process at large companies such as Bombardier Transportation and Volvo CE (VCE). In this project, we aim to develop a compiler that translates a formal language, i.e., Rebeca modeling language, to a meta-language source code, i.e.,  Lingua Franca, that is being compiled and executed as a software product.

 

Rebeca and Lingua Franca: 

Rebeca is an actor-based modeling language and its extension; Timed Rebeca is used for verifying embedded and real-time systems properties.
Lingua Franca (LF) is a programming language based on a reactor computing model for the development of cyber-physical systems. The language is developed by the iCyPhy group at UC Berkeley and is suggested to be used in complex industrial control applications. LF is an actor-based language where you can select a target language like C or C++ to write the reactor body.
Reactors are quite similar to Rebeca in syntax and partially semantics, and this enables us to efficiently produce an executable target code from Rebeca models.

Objective:
The goal of this thesis is to develop a compiler to generate executable code in LF from a verified Rebeca model language.
In particular, building a programming tool (a simple compiler) to translate the source language (it's Rebeca) to the target language (it's LF).

Expected outcomes:
- Develop a compiler for transforming the Rebeca model language to an LF executable source code.
- Provide the applicability of the developed compiler in an academic or industrial example.

References:
LF: https://www.lf-lang.org/
Rebeca Homepage: http://rebeca-lang.org/Rebeca
Supervisor(s): Marjan Sirjani (marjan.sirjani@mdu.se) and Fereidoun Moradi (fereidoun.moradi@mdu.se)

Start date: 2022-11-15
End date: 2023-05-15
Prerequisites:

This thesis is primarily intended for Advanced Level student(s) with good knowledge of C/C++, Java, and modeling system design.

IDT supervisors: Marjan Sirjani Fereidoun Moradi
Examiner:
Comments:

Don't hesitate to contact me (fereidoun.moradi@mdu.se) if you have any questions. We can discuss and fit the project idea based on the thesis requirements, estimated time for doing the literature review, writing the thesis and implementation.

Company contact:

Bombardier Transportation and Volvo CE (VCE)