Traditionally, configurators are built from a product model by a complex piece of dynamic search software, often referred to as “constraint propagation”.
Constraint propagation is based on computer science research from the 1960s called artificial intelligence.
Each time a user makes a selection, the search software provides guidance by initiating a rules search. Then, search results are used to update information the configurator provides to the user.
How Search Software Reads Rules and Interacts With Users:
Although complex searches have many useful applications, there are problems within the approach. Performance of search software is unpredictable, and the formulation of rules has a direct influence on the performance of the searches.
Therefore, in order to obtain reasonable performance, an expert must re-engineer the rules until acceptable performance has been obtained. This results in maintenance errors due to the model conforming to suit the search software rather than correct product structure. That is, the model does not reflect how the persons having product knowledge and responsibility view the product. As a consequence, there is a high risk of errors being introduced in re-engineering and that maintenance of the model is expensive.
Even after re-engineering, it is impossible to guarantee good performance in all circumstances. This is often tackled by setting a timeout of, for instance, 1 second, and then terminating the search after the timeout without having found the exact answer and instead using an approximate answer.
In addition to requiring powerful servers and PC’s, another issue is that the search software is quite complex, making it difficult to ensure that answers are correct.