About Me

I was a full professor at the School of Computer Science of McGill University, Montreal, Canada, where I headed the Software Composition and Reuse (SCORE) lab until August 2024. I hold an engineering diploma and a Ph.D. from the Swiss Federal Institute of Technology (EPFL), Lausanne, Switzerland. I also was/am a visiting professor at the University of Luxemburg, at IRISA Rennes, the Karlsruhe Institute of Technology, and the Université Côte d’Azur.

My main area of expertise is software engineering, and in particular model-driven engineering. I have for the last decade concentrated on investigating paradigms, language features and technologies that allow software engineers to build reusable software artefacts. At the programming and modelling language level I am therefore interested in modularity (interfaces, visibility), separation of concerns, composition techniques (e.g., aspect-orientation), and exceptions. I have also done work in fault tolerance and distributed systems, in particular software fault tolerance, transaction support, and massively multiplayer games. Most recently, I have worked a lot on modelling assistants, and even in my current job I am working on an AI-enabled modelling assistant for machine control software design. You can check out my research pages for more details on current and past projects related to these topics.