My research interests have revolved around domain-specific modeling, code generation for cross-platform mobile and IoT-based applications, and model-driven engineering in general.


The vastness and diversity of mobile devices and operating systems available on the market oblige software companies (which want to reach a wide audience) to produce and deploy the same app several times, once for each of the different platforms. Unfortunately, cross-platform and multi-device development is a barrier for today’s IT solution providers, especially SMEs, due to the high cost and technical complexity of targeting development to a wide spectrum of devices, which differ in format, interaction paradigm, and software architecture.

On the other hand, the IoT technologies and applications are evolving and continuously gaining traction in all fields and environments, including homes, cities, industry and commercial enterprises. However, the development of front-end and user interfaces for IoT has not played a relevant role in research. On the contrary, user interfaces in the IoT ecosystem can play a key role in the acceptance of solutions by final adopters.


My research aims at (1) making the development of mobile, web, and IoT-enabled applications efficient and effective for developers. The final goal is to enable domain experts with no development skills to develop prototypes of their applications by involving developers only when more technical skills are required; (2) Delivering a better user experience to end-users; and (3) Boosting the adoption of model-driven software engineering.

To reach these objectives, I apply different techniques including domain-specific modeling, code generation, big data analysis, and empirical studies.