I am an assistant professor at Politecnico di Milano. I obtained my PhD from Politecnico di Milano in 2012. I worked as a post-doctoral researcher in the STAR research group at UniversitÓ della Svizzera Italiana (USI, University of Lugano) between 2012 and 2014 and in the High Performance Distributed Computing group, at the Vrije Universiteit Amsterdam between 2014 and 2016. I have been a visiting research scholar at the Purdue University in 2011.
My main research interests are in the areas of software engineering and distributed systems with emphasis on the design and implementation of reactive and event-based distributed software systems.
During my PhD studies, I focused on the definition of a Complex Event Processing middleware, with focus on the expressivity of the event definition language and the efficiency and scalabilty of the processing algorithms. As part of this research project I developed, together with Gianpaolo Cugola, a complex event definition language (TESLA), an event processing system (T-Rex), and a protocol for distributed event detection (RACED).
During the design of T-Rex, moved by the requirement of low-latency processing expressed by applications, I started concentrating on parallel computing, by implementing algorithms for event processing designed to take advantage of the processing power of multi-core CPUs and modern GPUs. These experiences increased my interest for parallel programming, and in particular for programming language support and abstractions for parallelism.
After my PhD studies, I joined the high performance distributed computing group at the Vrije Universiteit in Amsterdam, where I applied my background on event and data streaming systems in the context of Semantic Web technologies.
In 2014, I joined the STAR Software Engineering group at the University of Lugano (USI), where I worked on testing and analysis of distributed software systems.
I'm involved in various international research projects that span different topics, including self-adaptive systems, monitoring systems, data analytics, and programming language paradigms.