Skip to main content

Reasoning about conditional constraint specification problems and feature models

  • Raphael Finkel (a1) and Barry O'Sullivan (a2)

Product configuration is a major industrial application domain for constraint satisfaction techniques. Conditional constraint satisfaction problems (CCSPs) and feature models (FMs) have been developed to represent configuration problems in a natural way. CCSPs are like constraint satisfaction problems (CSPs), but they also include potential variables, which might or might not exist in any given solution, as well as classical variables, which are required to take a value in every solution. CCSPs model, for example, options on a car, for which the style of sunroof (a variable) only makes sense if the car has a sunroof at all. FMs are directed acyclic graphs of features with constraints on edges. FMs model, for example, cell phone features, where utility functions are required, but the particular utility function “games” is optional, but requires Java support. We show that existing techniques from formal methods and answer set programming can be used to naturally model CCSPs and FMs. We demonstrate configurators in both approaches. An advantage of these approaches is that the model builder does not have to reformulate the CCSP or FM into a classic CSP, converting potential variables into classical variables by adding a “does not exist” value and modifying the problem constraints. Our configurators automatically reason about the model itself, enumerating all solutions and discovering several kinds of model flaws.

Hide All
Benavides, D., Ruiz-Cortés, A., & Trinidad, P. (2005). Automated reasoning on feature models. Proc. 17th Int. Conf. Advanced Information Systems Engineering, CAiSE 2005 (Pastor, O., & Cunha, J.F., Eds.), LNCS, Vol. 3520, pp. 491–503. New York: Springer.
Bowen, J., & Bahler, D. (1991). Conditional existence of variables in generalised constraint networks. Proc. AAAI, pp. 215220.
Czarnecki, K., & Eisenecker, U. (2000). Generative Programming: Methods, Tools, and Applications. Reading, MA: Addison–Wesley Professional.
Finkel, R.A., & O'Sullivan, B. (2009). Reasoning about conditional constraint specifications. Proc. ICTAI, IEEE Computer Society, pp. 349353.
Gebser, M., Kaufmann, B., Neumann, A., & Schaub, T. (2007). Clasp: a conflict-driven answer set solver. Proc. LPNMR, pp. 260265.
Gelle, E., & Faltings, B. (2003). Solving mixed and conditional constraint satisfaction problems. Constraints 8(2), 107141.
Giunchiglia, E., Yu, L., & Maratea, M. (2004). Cmodels-2: SAT-based answer set programming. Proc. AAAI.
Hinchey, M., Jackson, M., Cousot, P., Cook, B., Bowen, J.P., & Margaria, T. (2008). Software engineering and formal methods. Communications of the ACM 51(9), 5459.
Jackson, D. (2002). Alloy: a lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology 11(2), 256290.
Junker, U. (2006). Configuration. In Handbook of Constraint Programming, Foundations of Artificial Intelligence (Rossi, F., van Beek, P., Walsh, T., Eds.), pp. 837873. New York: Elsevier.
Mailharro, D. (1998). A classification and constraint-based framework for configuration. Artificial Intelligence for Engineering, Design, Analysis and Manufacturing 12, 383397.
Mittal, S., & Falkenhainer, B. (1990). Dynamic constraint satisfaction problems. Proc. AAAI-90, pp. 2532.
Niemelä, I., & Simons, P. (1997). Smodels—an implementation of the stable model and well-founded semantics for normal logic programs. In Logic Programming and Nonmonotonic Reasoning (Dix, J., Furbach, U., & Nerode, A., Eds.), LNCS, Vol. 1265, pp. 420429. New York: Springer.
Sabin, D., & Freuder, E.C. (1996). Configuration as composite constraint satisfaction. Proc. Artificial Intelligence and Manufacturing. Research Planning Workshop (Luger, G.F., Ed.), pp. 153161. Menlo Park, CA: AAAI Press.
Sabin, D., & Weigel, R. (1998). Product configuration frameworks—a survey. IEEE Intelligent Systems 13(4), 4249.
Sabin, M., & Freuder, E.C. (1998). Detecting and resolving inconsistency and redundancy in conditional constraint satisfaction problems. Proc. CP98 Workshop on Constraint Problem Reformulation.
Sabin, M., & Gelle, E. (2006). Evaluation of solving models for conditional constraint satisfaction problems. Proc. AAAI. New York: AAAI Press.
Segura, S. (2008). Automated analysis of feature models using atomic sets. Proc. 1st Workshop on Analyses of Software Product Lines (ASPL 2008), SPLC'08, pp. 201207, Limerick, Ireland.
Stumptner, M., Friedrich, G.E., & Haselböck, A. (1998). Generative constraint-based configuration of large technical systems. Artificial Intelligence for Engineering, Design, Analysis and Manufacturing 12, 307320.
Torlak, E., Chang, F.S.-H., & Jackson, D. (2008). Finding minimal unsatisfiable cores of declarative specifications. In FM (Cuellar, J., Maibaum, T.S.E., & Sere, K., Eds.), LNCS, Vol. 5014, pp. 326341. New York: Springer.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

  • ISSN: 0890-0604
  • EISSN: 1469-1760
  • URL: /core/journals/ai-edam
Please enter your name
Please enter a valid email address
Who would you like to send this to? *



Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed