Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Software product lines: practices and patterns
Software product lines: practices and patterns
Algorithms and Data Structures in VLSI Design
Algorithms and Data Structures in VLSI Design
The Distributed Constraint Satisfaction Problem: Formalization and Algorithms
IEEE Transactions on Knowledge and Data Engineering
Towards Distributed Configuration
KI '01 Proceedings of the Joint German/Austrian Conference on AI: Advances in Artificial Intelligence
The complexity of theorem-proving procedures
STOC '71 Proceedings of the third annual ACM symposium on Theory of computing
FeaturePlugin: feature modeling plug-in for Eclipse
eclipse '04 Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
Automated analysis of feature models: challenges ahead
Communications of the ACM - Software product line
Handbook of Constraint Programming (Foundations of Artificial Intelligence)
Handbook of Constraint Programming (Foundations of Artificial Intelligence)
Feature Diagrams and Logics: There and Back Again
SPLC '07 Proceedings of the 11th International Software Product Line Conference
Decision-making coordination in collaborative product configuration
Proceedings of the 2008 ACM symposium on Applied computing
Efficient compilation techniques for large scale feature models
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Feature models, grammars, and propositional formulas
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
Multi-Level Product Line Customization
Proceedings of the 2010 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the 9th SoMeT_10
An approach to efficient product configuration in software product lines
SPLC'10 Proceedings of the 14th international conference on Software product lines: going beyond
Using constraint programming to verify DOPLER variability models
Proceedings of the 5th Workshop on Variability Modeling of Software-Intensive Systems
Cool features and tough decisions: a comparison of variability modeling approaches
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Decomposing feature models: language, environment, and applications
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Composing multiple variability artifacts to assemble coherent workflows
Software Quality Control
Ensuring consistency of feature-based decisions with a business rule system
Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems
FAMILIAR: A domain-specific language for large scale management of feature models
Science of Computer Programming
Supporting large scale model transformation reuse
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Hi-index | 0.00 |
Software Product Lines is a contemporary approach to software development that exploits the similarities and differences within a family of systems in a particular domain of interest in order to provide a common infrastructure for deriving members of this family in a timely fashion, with high-quality standards, and at lower costs. In Software Product Lines, feature-based product configuration is the process of selecting the desired features for a given software product from a repository of features called a feature model. This process is usually carried out collaboratively by people with distinct skills and interests called stakeholders. Collaboration benefits stakeholders by allowing them to directly intervene in the configuration process. However, collaboration also raises an important side effect, i.e., the need of stakeholders to cope with decision conflicts. Conflicts arise when decisions that are locally consistent cannot be applied globally because they violate one or more constraints in the feature model. Unfortunately, current product configuration systems are typically single-user-based in the sense that they do not provide means to coordinate concurrent decision-making on the feature model. As a consequence, configuration is carried out by a single person that is in charge of representing the interests of all stakeholders and managing decision conflicts on their own. This results in an error-prone and time-consuming process that requires past decisions to be revisited continuously either to correct misinterpreted stakeholder requirements or to handle decision conflicts. Yet another challenging issue related to configuration problems is the typically high computational cost of configuration algorithms. In fact, these algorithms frequently fall into the category of NP-hard and thus can become intractable in practice. In this paper, our goal is two-fold. First, we revisit our work on Collaborative Product Configuration (CPC) in which we proposed an approach to describe and validate collaborative configuration scenarios. We discuss how collaborative configuration can be described in terms of a workflow-like plan that safely guides stakeholders during the configuration process. Second, we propose a preliminary set of reasoning algorithms tailored to the feature modelling domain that can be used to provide automated support for product configuration. In addition, we compare empirically the performance of the proposed algorithms to that of a general-purpose solution. We hope that the insights provided in this paper will encourage other researchers to develop new algorithms in the near future.