Research Interests

12 May 2022 - Artur Boronat -

I have a keen interest in learning how to engineer trustworthy software systems, particularly data-centric ones. In my research, this interest has led me to develop a number of tools that automate software development and analysis tasks in Model-Driven Engineering (MDE):

I’m teaching a module on agile cloud automation, where we discuss key design principles in data-intensive software systems and where we explore the benefits of MDE for automating software engineering processes in low-code software development platforms. In this context, the current state of affairs of MDE is exciting because now we have tools to design and develop tool support for our very own modelling languages for a particular domain, which gives us infinite possibilities for automating software engineering processes.

From an interdisciplinary perspective, I’m involved in the healthcare project Personalised Space Technology Exercise Platform (P-STEP) funded by the European Space Agency where we are applying MDE for engineering a healthcare platform that will help patients with long-term conditions to improve their health via personalised advice on physical activity. The aim is to facilitate physical activity behaviour change by creating a platform that combines personalised disease-specific exercise prescription and self-monitoring with real time environmental data. P-STEP shall be delivered to the end user (patient) in the form a smartphone application, and provide practical advice, support and feedback to encourage self-management and self-reflection. This platform takes into account earth observation data and medical expertise using ML techniques. This is a large project, led by Prof. André Ng, where I coordinate the Informatics team.

I’m also a founding member of the EPSRC network of experts in MDE. An interview, where I explain my interest in MDE, can be found at:


If you are interested in doing a PhD in

THEN contact me.

If you are interested in pursuing a PhD in any of the following areas that combine AI/ML with MDE, feel free to contact me:

1. AI-assisted MDE applied to data science: With AI/ML and MDE, we can automate the process of creating and managing data science models, which can save time and improve accuracy. For example, we can use AI/ML to suggest improvements to the models generated by MDE, or to learn from past model transformations in order to optimize future ones.

2. MDE applied to developing AI/ML-enabled human-in-the-loop assistants: MDE can be used to develop AI assistants that work with human input, providing personalized recommendations or feedback. For example, we can use MDE to create a conversational agent that learns from user interactions using AI/ML techniques, allowing it to provide more accurate and relevant responses.

3. AI/ML-assisted MDE applied to agile software development: With AI/ML and MDE, we can automate many of the tasks involved in software development, allowing us to focus on the core features of the software. For example, we can use AI/ML to predict which models or components are most likely to be modified during software development, allowing us to optimize the MDE process and minimize development time.

4. MDE applied to developing low-code AI/ML platforms: MDE can be used to develop low-code platforms that allow users to create software without having to write any code, and AI/ML techniques can be used to make the platforms more intelligent and adaptive. For example, we can use MDE to generate user interfaces or business logic, and use AI/ML techniques to personalize these components based on user preferences or other data.

5. AI/ML-assisted MDE applied to data/model integration: With AI/ML and MDE, we can integrate data from multiple sources into a single model, allowing us to analyze and manipulate the data more efficiently. For example, we can use AI/ML to suggest the best mappings between different data sources, or to optimize the integration process based on past data integration experiences.

6. AI/ML-assisted MDE applied to software evolution: With AI/ML and MDE, we can automate the process of evolving software as requirements change or new features are added. For example, we can use AI/ML to predict which models or components are most likely to be affected by a particular change, allowing us to optimize the MDE process and minimize development time.

7. MDE applied to developing AI/ML-assisted verifiable software reuse: MDE can be used to verify that software components can be reused in new contexts, and AI/ML techniques can be used to make this process more efficient and effective. For example, we can use MDE to check whether a component can be reused in a new system without causing any conflicts, and use AI/ML techniques to predict which components are most likely to be successfully reused.

8. AI/ML-assisted MDE applied to models@runtime: With AI/ML and MDE, we can create models that can be executed at runtime, allowing us to monitor and adapt software behavior as it runs. For example, we can use AI/ML to predict which runtime events are most likely to cause faults, and use MDE to automatically detect and diagnose these faults.