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 (Acceptance Rate: 14 %). Gdansk, Poland, 25-29 June 2012.
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.