Product Configuration Research Papers - Academia.edu (original) (raw)

The growing customisation capabilities of services, especially in Cloud scenarios, have led to the so-named Highly-configurable Services (HCSs). Such capabilities are boost- ing the demand and complexity of HCS-based applications and the... more

The growing customisation capabilities of services, especially in Cloud scenarios, have led to the so-named Highly-configurable Services (HCSs). Such capabilities are boost- ing the demand and complexity of HCS-based applications and the infrastructure need to support them, HCS-driven solutions from now on. After a study of the existing literature we conclude that these HCS-driven solutions can be significantly enhanced in both 1) the languages to describe the configurations, a.k.a. the decision space of HCSs and 2) the techniques to extract useful information from the decision space, analysis techniques, in advance.
On the one hand, there are no Domain Specific Languages (DSLs) to describe the decision space, although there exist some very close approaches. We suggest that it is possible to improve the current landscape by designing a DSL: i) Compliant with big HCS vendors, ii) multi-item aware, iii) expressive-enough to ease the description of arithmetic-logical relationships on configurable description terms, and iv) domain-independent. In addition, this DSL must define validity criteria for checking that the decision space satisfies some basic properties such as the consistency, and the configurability. Furthermore, explanations must be provided when the decision space do not satisfy such basic properties.
On the other hand, most of the current analysis techniques such as those relate to find optimal configurations or reconfigure a multi-tenant service includes some draw-backs that can be found in emerging techniques. To overcome such drawbacks there must be developed: a) fully-functional reference implementations, b) techniques with a reuse-oriented design, and c) user-friendly interfaces.
The main goal of this dissertation is to enhance the existing support to develop HCS-driven solutions considering the aforementioned suggestions for improvement. The main contributions are a DSL to specify the decision space of HCSs called SYNOP- SIS, and a novel catalogue of analysis operations to check and explain validity criteria as well as to find optimal configurations for one or many users. As minor contributions, two solutions have been developed to improve the existing tooling support to migrate on-premise infrastructure to Amazon and to reconfigure multi-tenant service.
The cornerstone of our proposal to improve the specification techniques has been to define a DSL, SYNOPSIS, and endow it with a formal semantics based on Stateful Feature Models. Regarding our proposal to improve the analysis techniques, the key has been the organisation of such techniques in a catalogue of basic analysis operations that can be combined to support more advanced HCS-driven solutions. The applicability of our results is limited to those decision spaces that can be translated to a Stateful Feature Model, that is enough to support real-world HCSs, in our experience.