efficient interactive configuration of unbounded modular systems
Interactive configuration guides a user searching through a large combinatorial space of solutions to a system of constraints. We investigate a class of very expressive underlying constraint satisfaction problems: modular recursive constraint systems of unbounded size. A precomputation step is used to obtain a configuration algorithm for such systems that supports the user efficiently with bounded response time. This precomputation step determines all solutions for each module, which are computed and stored in compact data structures such as Binary Decision Diagrams (BDDs), in order to eliminate run-time search. The precomputation step also detects ill-behaved module collections that have no finite solutions. The runtime interaction algorithm scales well as its response time only depends on the amount of the information passed locally between the modules, and not on the size of the entire configured structure. Our algorithm was implemented and tested on an industrial example, and gives good response times. We believe this is the first known sound and complete algorithm for solving unbounded interactive configuration problems, with bounded response time per interaction.
interactive configuration constraint satisfaction