I am a postdoctoral fellow at Politecnico di Milano, where I work with
Luciano Baresi in the DEEP-SE group.
I am interested in (dynamic) software product lines, variability modeling and software evolution.
In particular, my work focuses on the definition, modeling, analysis and evolution management of highly configurable systems.
From October 2011 to October 2014, I was a PhD student in the SPIRALS team from the Inria Lille and the University of Lille 1.
You can learn more about my PhD here.
From 2009 to 2011, I was software engineer in the ADAM team and I worked on the development of a framework to design and automatically configure applications for smartphones.
We know it well that none of us acting alone can achieve success.
— Nelson Mandela, Inaugural Address, May 10th 1994
SmartyCo: Managing Cyber-Physical Systems for Smart Environments.
Daniel Romero, Clément Quinton, Laurence Duchien, Lionel Seinturier, and Carolina Valdez.
Accepted in the European Conference on Software Architecture, ECSA'15. Dubrovnik, Croatia, 07-11 Septembre 2015.
Feature Model Differences.
Mathieu Acher, Patrick Heymans, Philippe Collet, Clément Quinton, Philippe Lahire and Philippe Merle.
In Proceedings of the 24th International Conference on Advanced Information Systems Engineering, CAiSE'12. Gdansk, Poland, 25-29 June 2012.
Best PhD Award from the French research group on Programming and Software Engineering. More information here (fr).
SALOON (from SoftwAre product Lines for clOud cOmputiNg), is the platform for selecting and configuring cloud environments I developed during my PhD. You can learn more about SALOON and watch demo videos here.
In the recent years, cloud computing has become a major trend in distributed computing environments enabling software virtualization on configurable runtime environments. These environments provide numerous highly configurable software resources at different levels of functionality, that may lead to configuration errors when done manually. Therefore, cloud environments selection and configuration tools and approaches have been developed, ranging from ad-hoc implementation software, to automated strategies based on model transformation. However, these approaches suffer from a lack of abstraction, or do not provide an automated an scalable configuration reasoning support. Moreover, they are often limited to a certain type of cloud environment, thus limiting their efficiency.
To address these shortcomings, and since we noticed that an important number of such cloud environments share several characteristics, we present in this thesis an approach based on software product line principles, with dedicated variability models to handle cloud environments commonalities and variabilities.
Software product lines were defined to take advantage of commonalities through the definition of reusable artifacts, in order to automate the derivation of software products. In this dissertation, we provide in particular three major contributions. First, we propose an abstract model for feature modeling with attributes, cardinalities, and constraints over both of them. This kind of feature models are required to describe the variability of cloud environments.
By providing an abstract model, we are thus implementation-independent and allow existing feature modeling approaches to rely on this model to extend their support. As a second contribution, we provide an automated support for maintaining the consistency of cardinality-based feature models.
When evolving them, inconsistencies may arise due to the defined cardinalities and constraints over them, and detecting them can be tedious and complex whenever the size of the feature model grows. Finally, we provide as third contribution SALOON, a platform to select and configure cloud environments based on software product line principles. In particular, SALOON relies on our abstract model to describe cloud environments as feature models, and provide an automated support to derive configuration files and executable scripts, enabling the configuration of cloud environment in a reliable way.
The experiments we conducted to validate our proposal show that by using software product lines and feature models, we are able to provide an automated, scalable, practical and reliable approach to select and configure cloud environments with respect to a set of requirements, even when numerous different kind of these environments are involved.