Reasoning about conditional constraint specification problems and feature models

Abstract 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.

[1]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[2]  Daniel Sabin,et al.  Product Configuration Frameworks - A Survey , 1998, IEEE Intell. Syst..

[3]  Boi Faltings,et al.  Solving Mixed and Conditional Constraint Satisfaction Problems , 2003, Constraints.

[4]  Yuliya Lierler,et al.  SAT-Based Answer Set Programming , 2004, AAAI.

[5]  Sergio Segura Automated Analysis of Feature Models Using Atomic Sets , 2008, SPLC.

[6]  Esther M. Gelle,et al.  Evaluation of Solving Models for Conditional Constraint Satisfaction Problems , 2006, AAAI.

[7]  Felix Sheng-Ho Chang,et al.  Finding Minimal Unsatisfiable Cores of Declarative Specifications , 2008, FM.

[8]  Martin Gebser,et al.  clasp : A Conflict-Driven Answer Set Solver , 2007, LPNMR.

[9]  Markus Stumptner,et al.  Generative constraint-based configuration of large technical systems , 1998, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[10]  Toby Walsh,et al.  Handbook of Constraint Programming (Foundations of Artificial Intelligence) , 2006 .

[11]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, Seminal Contributions to Information Systems Engineering.

[12]  Ulrich Junker,et al.  Chapter 24 - Configuration , 2006 .

[13]  Eugene C. Freuder,et al.  Configuration as Composite Constraint Satisfaction , 1996 .

[14]  Daniel Mailharro,et al.  A classification and constraint-based framework for configuration , 1998, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[15]  Brian Falkenhainer,et al.  Dynamic Constraint Satisfaction Problems , 1990, AAAI.

[16]  MailharroDaniel A classification and constraint-based framework for configuration , 1998 .

[17]  Ilkka Niemelä,et al.  Smodels - An Implementation of the Stable Model and Well-Founded Semantics for Normal LP , 1997, LPNMR.

[18]  James Bowen,et al.  Conditional Existence of Variables in Generalised Constraint Networks , 1991, AAAI.

[19]  Eugene C. Freuder,et al.  Detecting and resolving inconsistency and redundancy in conditional constraint satisfaction problems , 1999, AAAI 1999.

[20]  Tiziana Margaria,et al.  Software engineering and formal methods , 2008, CACM.

[21]  Wolfgang Faber,et al.  Logic Programming and Nonmonotonic Reasoning , 2011, Lecture Notes in Computer Science.

[22]  丁连芬 术语“configuration——定型”解读 , 2002 .

[23]  Barry O'Sullivan,et al.  Reasoning about Conditional Constraint Specifications , 2009, 2009 21st IEEE International Conference on Tools with Artificial Intelligence.

[24]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .