Don't miss our weekly PhD newsletter | Sign up now Don't miss our weekly PhD newsletter | Sign up now

  Compiler Construction for Digital Twin Simulations

   School of Computing, Engineering & the Built Environment

This project is no longer listed on and may not be available.

Click here to search for PhD studentship opportunities
  Dr Stefano Cherubin, Dr Stefano Cherubin  Applications accepted all year round  Self-Funded PhD Students Only

About the Project

System phantoms, digital twins, shadow systems. They go by different names but they share the same principle: let a machine simulate cyber-physical systems instead of observing the real world. Mathematical models can describe the evolution of a system over time. We use them to simulate scenarios which are interesting to study but impractical, costly, or simply not desirable to reproduce with physical systems.

This is the moment when a system modeller or a simulation engineer intervenes by coding the behaviour of a system according to physics equations. Differently from the most common programming languages, equation-based models do not express causality between components, and they let the compiler or translator tool deduce dependency relations and manipulate expressions to expose a minimal and sufficient set of state variables that define the behaviour of the system. This translation process is also expected to automatically verify the model consistency, and organise the variables in a system of differential algebraic equations, which can later be numerically solved.

The computer science aspects of the in-silico stages have been limited to the correctness of the translation process and to the efficiency of the model resolution algorithms. The implementation of a model resolution algorithm is usually offloaded to external implementations supported by a wider community of computational scientists. Little to no attention has been reserved for the efficiency of the translation process, which is specifically designed for automatic equation analyses and transformations.

The goal of this project is to target the efficiency problem under two points of view: computer science, and software engineering. The computer science focus will be on the algorithmic design aspect, whose target is to remove the structural limitations which are intrinsic in the scalar approach to equation processing and simulation, thus replacing it with a functionally equivalent vectorised approach.

The software engineering aspect of the project will be focused on the hardware/software co-design approach, with the intention to seamlessly offload to dedicated accelerators the parallel sections of the model simulation task in order to achieve improved latency and energy consumption.

Prospective applicants are encouraged to contact the Supervisor before submitting their applications. Applications should make it clear the project you are applying for and the name of the supervisors.

Academic qualifications

A first degree (at least a 2.1) ideally in Computer Science or related discipline with a good fundamental knowledge of algorithms and data structures.

English language requirement

IELTS score must be at least 6.5 (with not less than 6.0 in each of the four components). Other, equivalent qualifications will be accepted. Full details of the University’s policy are available online.

Essential attributes:

  • Experience of fundamental C++ programming
  • Competent in concurrent and parallel systems, hardware/software co-design, and code optimisations
  • Knowledge of Modelica modelling and simulation language
  • Knowledge of fundamentals of computer architectures
  • Good written and oral communication skills
  • Strong motivation, with evidence of independent research skills relevant to the project
  • Good time management

Desirable attributes:

  • Experience with one or more heterogeneity-aware code acceleration paradigms (OpenCL, CUDA, SYCL, etc.)
  • Experience with large C++ code bases
  • Experience with MLIR and/or LLVM framework
  • Experience with FPGA code acceleration
  • Track record of open source code contributions

For enquiries about the content of the project, please email Stefano Cherubin [Email Address Removed]

For information about how to apply, please visit our website

To apply, please select the link for the PhD Computing FT application form

Computer Science (8) Engineering (12) Mathematics (25)


Agosta, G., Baldino, E., Casella, F., Cherubin, S., Leva, A., & Terraneo, F. (2019). Towards a high-performance modelica compiler. In Proceedings of the 13th International Modelica Conference (pp. 313-320).
Search Suggestions
Search suggestions

Based on your current searches we recommend the following search filters.

 About the Project