Abstract:Software product-lines (SPLs) are software architectures that can be readily reconfigured for different project requirements. A key part of an SPL is a model that captures the rules for reconfiguring the software. SPLs commonly use feature models to capture SPL configuration rules. Each SPL configuration is represented as a selection of features from the feature model. Invalid SPL configurations can be created due to feature conflicts introduced via staged or parallel configuration or changes to the constraint… Show more
“…Valid partial configuration takes a FM and a partial configuration as input and returns a value indicating whether the partial configuration (identified by a user) meets the FM. When the outcome is negative, we could also identify to the user what changes need to be made to make the configuration valid, as suggested by (White et al, 2010). The optimisation operation takes a FM and an objective function (involving the maximisation or minimisation of an attribute value -such as memory, number of CPUs, etc) as inputs and returns the configuration ful- filling the criteria identified by the objective function.…”
Abstract:Identifying which part of a local system should be migrated to a public Cloud environment is often a difficult and error prone process. With the significant (and increasing) number of commercial Cloud providers, choosing a provider whose capability best meets requirements is also often difficult. Most Cloud service providers offer large amounts of configurable resources, which can be combined in a number of different ways. In the case of small and medium companies, finding a suitable configuration with the minimum cost is often an essential requirement to migrate, or even to initiate the decision process for migration. We interpret this need as a problem associated with variability management and analysis. Variability techniques and models deal with large configuration spaces, and have been proposed previously to support configuration processes in industrial cases. Furthermore, this is a mature field which has a large catalog of analysis operations to extract valuable information in an automated way. Some of these operations can be used and tailored for Cloud environments. We focus in this work on Amazon Cloud services, primarily due to the large number of possible configurations available by this service provider and its popularity. Our approach can also be adapted to other providers offering similar capabilities.
“…Valid partial configuration takes a FM and a partial configuration as input and returns a value indicating whether the partial configuration (identified by a user) meets the FM. When the outcome is negative, we could also identify to the user what changes need to be made to make the configuration valid, as suggested by (White et al, 2010). The optimisation operation takes a FM and an objective function (involving the maximisation or minimisation of an attribute value -such as memory, number of CPUs, etc) as inputs and returns the configuration ful- filling the criteria identified by the objective function.…”
Abstract:Identifying which part of a local system should be migrated to a public Cloud environment is often a difficult and error prone process. With the significant (and increasing) number of commercial Cloud providers, choosing a provider whose capability best meets requirements is also often difficult. Most Cloud service providers offer large amounts of configurable resources, which can be combined in a number of different ways. In the case of small and medium companies, finding a suitable configuration with the minimum cost is often an essential requirement to migrate, or even to initiate the decision process for migration. We interpret this need as a problem associated with variability management and analysis. Variability techniques and models deal with large configuration spaces, and have been proposed previously to support configuration processes in industrial cases. Furthermore, this is a mature field which has a large catalog of analysis operations to extract valuable information in an automated way. Some of these operations can be used and tailored for Cloud environments. We focus in this work on Amazon Cloud services, primarily due to the large number of possible configurations available by this service provider and its popularity. Our approach can also be adapted to other providers offering similar capabilities.
“…SPLAnE generated the random traceability relation between feature model and component model to generate a complete SPL model. Further, to increase the complexity of experiments, each SPL model is generated using 10 different topologies and 10 different level of cross-tree constraints with percentage as {5, 10,15,20,25,30,35,40,45, 50}, resulting in a total of 100 SPL models per SPLOT model. So from 698 SPLOT models, we got 69800 SPL models.…”
Section: Experiments 1: Validating Splane With Feature Models From Thementioning
confidence: 99%
“…For each SPL model, 10 different topologies were generated to avoid the threats to internal validity. Further, to increase the complexity of experiments, 10 different levels of cross-tree constraints {5, 10,15,20,25,30,35,40,45, 50} were added. Each randomly generated SPL models consists of a feature model, a component model and a traceability relation.…”
Section: Experiments 2: Validating Splane With Randomly Generated Largmentioning
confidence: 99%
“…In this paper, we extend the variability management analysis with the automated analysis of feature models among the implementation of the different features. White et al [45] presented an approach to automate the configuration in SPLs by transforming feature model and configurations in Constraint Satisfaction Problem (CSP). The CSP are used to diagnose errors in the selected features.…”
Abstract:In a Software Product Line (SPL), the central notion of implementability provides the requisite connection between specifications and their implementations, leading to the definition of products. While it appears to be a simple extension of the traceability relation between components and features, it involves several subtle issues that were overlooked in the existing literature. In this paper, we have introduced a precise and formal definition of implementability over a fairly expressive traceability relation. The consequent definition of products in the given SPL naturally entails a set of useful analysis problems that are either refinements of known problems or are completely novel. We also propose a new approach to solve these analysis problems by encoding them as Quantified Boolean Formulae (QBF) and solving them through Quantified Satisfiability (QSAT) solvers. QBF can represent more complex analysis operations, which cannot be represented by using propositional formulae. The methodology scales much better than the SAT-based solutions hinted in the literature and were demonstrated through a tool called SPLAnE (SPL Analysis Engine) on a large set of SPL models.
“…Trinidad et al (2008) provided a framework for explaining deficiencies of FMs based on constraint programming, but they do not give a solution to the deficiencies and the scalability of their approach is also not clear. White et al (2010) detected errors on the configurations of an FM, and proposed changes in the configurations according to features to be selected or deselected to correct the errors. Our work purely focuses on the evolution and consistency maintenance of FMs themselves, not the configurations of FMs.…”
a b s t r a c tSoftware product line (SPL) techniques handle the construction of customized systems. One of the most common representations of the decisions a customer can make in SPLs is feature models (FMs). An FM represents the relationships among common and variable features in an SPL. Features are a representation of the characteristics in a system that are relevant to customers.FMs are subject to change since the set of features and their relationships can change along an SPL lifecycle. Due to this evolution, the consistency of FMs may be compromised. There exist some approaches to detect and explain inconsistencies in FMs, however this process can take a long time for large FMs.In this paper we present a complementary approach to dealing with inconsistencies in FM evolution scenarios that improves the performance for existing approaches reducing the impact of change to the smallest part of an FM that changes. To achieve our goal, we formalize FMs from an ontological perspective and define constraints that must be satisfied in FMs to be consistent. We define a set of primitive operations that modify FMs and which are responsible for the FM evolution, analyzing their impact on the FM consistency. We propose a set of predefined strategies to keep the consistency for error-prone operations.As a proof-of-concept we present the results of our experiments, where we check for the effectiveness and efficiency of our approach in FMs with thousands of features. Although our approach is limited by the kinds of consistency constraints and the primitive operations we define, the experiments present a significant improvement in performance results in those cases where they are applicable.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.