Abstract
Decision models are widely used in software engineering to describe and restrict decision-making (e.g., deriving a product from a product-line). Since decisions are typically interdependent, it is often neither obvious which decisions have the most significant impact nor which decisions might ultimately conflict. Unfortunately, the current state-of-the-art provides little support for dealing with such situations. On the one hand, some conflicts can be avoided by providing more freedom in which order decisions are made (i.e., most important decisions first). On the other hand, conflicts are unavoidable at times, and living with conflicts may be preferable over forcing the user to fix them right away—particularly because fixing conflicts becomes easier as more is known about a user’s intentions. This paper introduces the C2O (Configurator 2.0) tool for guided decision-making. The tool allows the user to answer questions in an arbitrary order—with and without the presence of inconsistencies. While giving users those freedoms, it still supports and guides them by (i) rearranging the order of questions according to their potential to minimize user input, (ii) providing guidance to avoid follow-on conflicts, and (iii) supporting users in fixing conflicts at a later time.
Similar content being viewed by others
References
Asikainen, T., Männistö, T., Soininen, T.: Using a configurator for modelling and configuring software product lines based on feature models. In: Workshop on Software Variability Management for Product Derivation in Conjunction with SPLC, Boston, Massachusetts, USA (2004)
Balzer, R.: Tolerating inconsistency. In: 13th ICSE, Austin, Texas, USA, pp. 158–165 (1991)
Benavides, D., Segura, S., Cortés, A.R.: Automated analysis of feature models 20 years later: a literature review. Inf. Syst. 35(6), 615–636 (2010)
Berre, D.L., Parrain, A.: The Sat4j library, release 2.2. J. Satisf. Boolean Model. Comput. 7(2–3), 56–59 (2010)
Biere, A.: PicoSAT essentials. J. Satisf. Boolean Model. Comput. 4(2–4), 75–97 (2008)
Botterweck, G., Janota, M., Schneeweiss, D.: A design of a configurable feature model configurator. In: Benavides, D., Metzger, A., Eisenecker, U.W. (eds.) VaMoS. ICB Research Report, vol. 29, pp. 165–168. Universität Duisburg-Essen, Essen (2009)
Cobleigh, R.L., Avrunin, G.S., Clarke, L.A.: User guidance for creating precise and accessible property specifications. In: 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Portland, Oregon, USA, pp. 208–218 (2006)
Davis, M., Logemann, G., Loveland, D.W.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (1962)
Dhungana, D., Rabiser, R., Grünbacher, P., Lehner, K., Federspiel, C.: DOPLER: An adaptable tool suite for product line engineering. In: Software Product Lines, 11th International Conference, Kyoto, Japan, pp. 151–152 (2007)
Dhungana, D., Grünbacher, P., Rabiser, R.: The DOPLER meta-tool for decision-oriented variability modeling: a multiple case study. Autom. Softw. Eng. 18, 77–114 (2011)
Egyed, A.: Instant consistency checking for the UML. In: 28th ICSE, Shanghai, China, pp. 381–390 (2006)
Grünbacher, P., Rabiser, R., Dhungana, D.: Product line tools are product lines too: lessons learned from developing a tool suite. In: 23rd IEEE/ACM International Conference on Automated Software Engineering, L’Aquila, Italy, pp. 351–354 (2008)
Haw, D., Goble, C.A., Rector, A.L.: GUIDANCE: Making it easy for the user to be an expert. In: IDS, pp. 25–48 (1994)
Hayes, J.H., Dekhtyar, A.: Humans in the traceability loop: can’t live with ’em, can’t live without ’em. In: 3rd International Workshop on Traceability in Emerging Forms of Software Engineering, New York, NY, USA, pp. 20–23. ACM, New York (2005)
MacLean, A., Young, R.M., Moran, T.P.: Design rationale: the argument behind the artifact. In: SIGCHI Conference on Human Factors in Computing Systems: Wings for the Mind, CHI ’89, New York, NY, USA, pp. 247–252. ACM, New York (1989)
Mendonca, M., Branco, M., Cowan, D.: S.P.L.O.T.: software product lines online tools. In: 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications, New York, NY, USA, pp. 761–762. ACM, New York (2009a)
Mendonça, M., Wasowski, A., Czarnecki, K.: SAT-based analysis of feature models is easy. In: Software Product Lines, 13th International Conference, San Francisco, California, USA, pp. 231–240 (2009b)
Miller, G.A.: The magical number seven, plus or minus two: some limits on our capacity for processing information. Psychol. Rev. 63, 81–97 (1956)
Nöhrer, A., Egyed, A.: C2O: a tool for guided decision-making. In: 25th International Conference on Automated Software Engineering, Antwerp, Belgium, pp. 363–364 (2010a)
Nöhrer, A., Egyed, A.: Conflict resolution strategies during product configuration. In: Fourth International Workshop on Variability Modelling of Software-Intensive Systems. Linz, Austria, vol. 37, pp. 107–114. Universität Duisburg-Essen, Essen (2010b). ICB Research Report
Nöhrer, A., Egyed, A.: Optimizing user guidance during decision-making. In: Software Product Lines, 15th International Conference, Munich, Germany (2011)
Nöhrer, A., Biere, A., Egyed, A.: Managing SAT inconsistencies with HUMUS. In: Eisenecker, U.W., Apel, S., Gnesi, S. (eds.) VaMoS, pp. 83–91. ACM, New York (2012)
Pleuss, A., Rabiser, R., Botterweck, G.: Visualization techniques for application in interactive product configuration. In: Schaefer, I., John, I., Schmid, K. (eds.) SPLC Workshops, p. 22. ACM, New York (2011)
Rosa, M.L., van der Aalst, W.M.P., Dumas, M., ter Hofstede, A.H.M.: Questionnaire-based variability modeling for system configuration. Softw. Syst. Model. 8(2), 251–274 (2009)
She, S., Lotufo, R., Berger, T., Wąsowski, A., Czarnecki, K.: Reverse engineering feature models. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE ’11, New York, NY, USA, pp. 461–470. ACM, New York (2011)
Siegmund, N., Rosenmüller, M., Kästner, C., Giarrusso, P.G., Apel, S., Kolesnikov, S.S.: Scalable prediction of non-functional properties in software product lines. In: de Almeida, E.S., Kishi, T., Schwanninger, C., John, I., Schmid, K. (eds.) SPLC, pp. 160–169. IEEE Press, New York (2011)
Trinidad, P., Benavides, D., Cortés, A.R., Segura, S., Jimenez, A.: FAMA framework. In: Software Product Lines, 12th International Conference, Limerick, Ireland, p. 359 (2008)
Tseitin, G.S.: On the complexity of derivation in propositional calculus. In: Siekmann, J., Wrightson, G. (eds.) Automation of Reasoning 2: Classical Papers on Computational Logic 1967–1970, pp. 466–483. Springer, Berlin (1983)
van Nimwegen, C., Burgos, D.D., van Oostendorp, H., Schijf, H.: The paradox of the assisted user: guidance can be counterproductive. In: Conference on Human Factors in Computing Systems, Montréal, Québec, Canada, pp. 917–926 (2006)
Vicente, K.J.: Crazy clocks: counterintuitive consequences of “Intelligent” automation. IEEE Intell. Syst. 16(6), 74–76 (2001)
White, J., Schmidt, D.C., Benavides, D., Trinidad, P., Cortés, A.R.: Automated diagnosis of product-line configuration errors in feature models. In: Software Product Lines, 12th International Conference, Limerick, Ireland, pp. 225–234 (2008)
Acknowledgements
The authors would like to thank Thomas Schartmüller for his work on the GUI. The work was kindly supported by the Austrian Science Fund (FWF): P23115-N23 and the Austrian Center of Competence in Mechatronics (ACCM), a K2-Center of the COMET/K2 program, which is aided by funds of the Austrian Republic and the Provincial Government of Upper Austria. The authors thank all involved partners for their support.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Nöhrer, A., Egyed, A. C2O configurator: a tool for guided decision-making. Autom Softw Eng 20, 265–296 (2013). https://doi.org/10.1007/s10515-012-0117-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-012-0117-4