Software Product Line Conference, International (2011)
Aug. 22, 2011 to Aug. 26, 2011
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/SPLC.2011.45
The configuration of a product from a product line is a decision-making process that requires humans to answer questions. However, questions and their choices tend to affect one another (e. g., one feature depending on another) and decisions on how questions are answered may render other questions obsolete or reduce their choices. There is thus an ideal order in which questions should be answered to minimize the number of questions that need answering to completely configure a product. Unfortunately, this ideal order differs depending on the product -- which cannot be known a priori. Decision-making is thus characterized by either imposing a predefined order on how questions must be answered (usually done manually by product line engineers) or not imposing any order. Both situations have downsides and this paper thus proposes an alternative: an incremental algorithm and tool-support for automatically optimizing the order of questions with every answer. We evaluated our approach on six models, the largest with over 280 questions, and found that the approach is 78-99% optimal and significantly reduces the number of questions that need to be answered manually. For the creators of product line models, this implies savings in not having to predefine the optimal order which is exponentially complex. For the configurator (decision maker) this implies more freedom in the order in which to answer questions while still benefiting from guidance.
Product Line Engineering, Formal Reasoning, User Guidance
A. Nöhrer and A. Egyed, "Optimizing User Guidance during Decision-Making," Software Product Line Conference, International(SPLC), Munich, Germany, 2011, pp. 25-34.