Automated Software Engineering

, Volume 20, Issue 2, pp 265–296 | Cite as

C2O configurator: a tool for guided decision-making

  • Alexander Nöhrer
  • Alexander Egyed


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.


Decision Maker Decision Model Modeling Tool Constraint Satisfaction Problem Conjunctive Normal Form 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



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.


  1. 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) Google Scholar
  2. Balzer, R.: Tolerating inconsistency. In: 13th ICSE, Austin, Texas, USA, pp. 158–165 (1991) Google Scholar
  3. 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) CrossRefGoogle Scholar
  4. Berre, D.L., Parrain, A.: The Sat4j library, release 2.2. J. Satisf. Boolean Model. Comput. 7(2–3), 56–59 (2010) Google Scholar
  5. Biere, A.: PicoSAT essentials. J. Satisf. Boolean Model. Comput. 4(2–4), 75–97 (2008) zbMATHGoogle Scholar
  6. 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) Google Scholar
  7. 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) CrossRefGoogle Scholar
  8. Davis, M., Logemann, G., Loveland, D.W.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (1962) MathSciNetzbMATHCrossRefGoogle Scholar
  9. 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) Google Scholar
  10. 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) CrossRefGoogle Scholar
  11. Egyed, A.: Instant consistency checking for the UML. In: 28th ICSE, Shanghai, China, pp. 381–390 (2006) Google Scholar
  12. 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) Google Scholar
  13. 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) Google Scholar
  14. 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) CrossRefGoogle Scholar
  15. 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) CrossRefGoogle Scholar
  16. 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) CrossRefGoogle Scholar
  17. 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) Google Scholar
  18. 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) CrossRefGoogle Scholar
  19. 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) Google Scholar
  20. 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 Google Scholar
  21. Nöhrer, A., Egyed, A.: Optimizing user guidance during decision-making. In: Software Product Lines, 15th International Conference, Munich, Germany (2011) Google Scholar
  22. 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) CrossRefGoogle Scholar
  23. 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) Google Scholar
  24. 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) CrossRefGoogle Scholar
  25. 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) Google Scholar
  26. 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) Google Scholar
  27. 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) Google Scholar
  28. 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) CrossRefGoogle Scholar
  29. 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) Google Scholar
  30. Vicente, K.J.: Crazy clocks: counterintuitive consequences of “Intelligent” automation. IEEE Intell. Syst. 16(6), 74–76 (2001) CrossRefGoogle Scholar
  31. 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) Google Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  1. 1.Institute for Systems Engineering and AutomationJohannes Kepler UniversityLinzAustria

Personalised recommendations