Articles and News

post picture

Research Interests

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):

post picture

An AI-powered DSML for Data Discovery for Rare Diseases

Café Variome is a flexible, web-based, data-discovery tool that offers a query language for checking the existence of biomedical data held in a federation of heterogenous data sources of rare diseases. Currently, there is a growing need for user-friendly graphical interfaces that are web-based to assist such researchers look for cohorts of patients, across widely heterogenous data sources. In this project, we pursue the design of a domain-specific modelling language (DSML) and the development of a proof-of-concept no-code development platform that will empower rare disease medical researchers by means of MDE productivity tools and AI-enabled optimization techniques.

From the point of view of MDE, we are interested in applying metamodeling technology for designing and developing the no-code environment for the DSML, which will employ optimization techniques as part of the semantics of the DSML. With the application of MDE technology in this setting, we expect to achieve quick adaption of the implementation of query interfaces to new user requirements, and the exploitation of AI techniques for query optimization.

We are looking for candidates to fill a funded part-time job opportunity from June 2022 for six months. Interested candidates should be capable software engineers, with knowledge on model-driven engineering (or being eager to learn it), and with an interest in doing research in software engineering. Interested candidates should 👉 send me an email 👈 with

  • subject DSML opportunity,
  • a brief explanation of why you are a good fit for the post,
  • your CV as an attached PDF.

This project is a (seedcorn fund) award from the EPSRC network MDENet, in a collaboration with the Bioinformatics and Health Data science group and the Department of Informatics of King’s College.

post picture

EMF-Syncer: from Java snapshots to EMF data views and back-again

The EMF-Syncer facilitates the adoption of Model-Driven Engineering (MDE) techniques, implemented atop the Eclipse Modeling Framework (EMF), in JVM programs following an agile software development approach. Given a JVM program implementing some domain model, the EMF-Syncer automatically extracts in-memory snapshots of the system as EMF model instances enabling the application of EMF-based MDE tools and techniques.

EMF-Syncer supports the notion of view models, where a (view) model is constructed from the program and is populated from program snapshots directly, without having to rely on a pre-process stage of obtaining models, before creating views.

Any modification to the model instance can be synced back automatically to the Java program.

post picture

YAMTL: the fastest engine for incremental model transformations

YAMTL is found to be the fastest incremental model transformation tool, in general, for dealing with complex transformations between AADL models, according to a recent independent industrial case study:

Hana Mkaouar, Dominique Blouin & Etienne Borde. A benchmark of incremental model transformation tools based on an industrial case study with AADL. Software and Systems Modeling (2022). https://link.springer.com/article/10.1007/s10270-022-00989-z

post picture

Invited talk: Managing model-to-model transformations at scale with YAMTL

Abstract: Model-to-model transformations play a useful role in low-code software development, including the specification and development of model compilers, consistency maintainers and software (co-)evolution. YAMTL is an EMF-based model-to-model transformation engine whose transformations are defined with an internal DSL of Xtend. The main strenghts of the language are its interoperability with Java, its expressiveness and its performance. In this talk, I will present the YAMTL language with use cases that showcase some of its features from a scalability perspective.

Bio: Artur is a lecturer at the School of Informatics of the University of Leicester (UK). He obtained his BSc degree in Computer Science in 2002 (Ingeniero en Informática), with an award from Bancaixa/Bancaja for the final year project on data migration. He wrote his Master thesis (DEA) in 2004 and obtained his Ph.D. degree in Computer Science in 2007 (Doctor Cum Laude) from the Technical University of València (UPV). He has been a visiting researcher at University of Illinois at Urbana-Champaign (UIUC, USA) and at Universitat Politècnica de Catalunya (UPC, Spain). In 2007, he joined the University of Leicester (UK) as lecturer. Since 2018, he is Director of Undergraduate Programmes (Computer Science and Software Engineering). His research interests revolve around: agile software development for the cloud using JVM technology and applications in healthcare and industry 4.0; design and implementation of DSLs using model-driven software development and type theory; application of AI technology and formal methods in the intersection of the areas above. Artur has secured funding from Innovate UK for developing manufacturing software infrastructure in the food industry (2018-2019). He is the technical lead of the Informatics team in the ESA-funded project P-STEP (2021-2023). He is a founding member of the EPSRC-funded MDENet: the expert network for Model-Driven Engineering.

Venue: Scalable Management of Low-Code artefacts Workshop, part of the 5th Network Event of the European Lowcomote network.

Date: 14 April 2021

post picture

YAMTL: Enabling Model Transformation from Java/Xtend

New article on YAMTL summarising advantages of using YAMTL from JVM programs at modelling-languages.com.

post picture

YAMTL: Yet Another Model Transformation Language

Yet Another Model Transformation Language (YAMTL) is an expressive model-to-model transformation language that is offered as an internal domain-specific language (DSL) of Java/Xtend. YAMTL was found to be the fastest incremental model transformation tool, in general, for dealing with complex transformations between AADL models according to independent industrial case study. YAMTL is available as an IDE-agnostic Java dependency that augments the Java ecosystem with model analysis and model transformation capabilities that are not yet available in the latest version of Java. YAMTL transformations can be developed, debugged and analysed using the preferred Java IDE of choice and they can build upon existing Java dependencies in order to automate complex tasks. YAMTL operates on models defined with the Eclipse Modeling Framework.