Abstract
Interactive configuration can be viewed as interactive CSP solving. We see interactive modular configuration as interactive modular CSP solving, where we define a modular CSP as a labeled rooted directed rnultigraph, where each vertex is labeled with a CSP, and each edge is labeled with (1) a set of total assignments to the variables of the CSP at the source vertex and (2) a set of equality constraints between the variables in the source and destination CSPs1. This allows the modeling of hierarchical systems through the use of edges (to model both has-a and is-a relationships), and the modeling of unbounded systems through the creation of cycles in the problem graph. During configuration, the user builds a labeled rooted solution tree which is homomorphic with the problem graph - each solution tree node (object) is associated with a problem graph vertex (class) - and which is isomorphic with the configured system's structure. The nodes are essentially2 labeled with the sets of full assignments that can still be part of globally consistent solutions. A new object is instantiated when the partial assignment within an object implies a full assignment that is in the assignment set on an outgoing edge from the class. This new object becomes a child of the other object, and is an instance of the class at the destination side of the edge. Configuration starts with the instantiation of the root node from the root vertex. The user is allowed to assign and unassign variables in arbitrary nodes in arbitrary order. The system removes and adds exactly those values from and to the domains that, although configuration is unbounded, ensure that a finite and fully specified solution tree (configuration) is always reachable without backtracking. It also instantiates and deinstantiates exactly the right objects. We have developed a research prototype of such an interactive configurator. It is written in ANSI C, and uses the ricurses library for the user interface. While it uses BDDs for knowledge representation, the underlying method should also be applicable to other (compact) finite set representations. It uses a two-phase approach: an offline compilation phase (which is executed once for a given problem), and an interactive configuration phase with fast user interaction, provided the BDDs remain small. An important result is that the configuration-time sizes of the BDDs cannot exceed a constant which can be determined at compile time. In particular, they do not grow as a function of the size of the tree3. © Springer-Verlag Berlin Heidelberg 2005.
Cite
CITATION STYLE
Van Der Meer, E. R. (2005). A BDD-based interactive configurator for modular systems. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 3709 LNCS, p. 883). Springer Verlag. https://doi.org/10.1007/11564751_121
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.