According to (), configurators can be classified as rule based, model based and case based, depending on the reasoning techniques used. • Rule based: these systems derive solutions in a
forward-chaining manner. At each step, the system examines the entire set of rules and considers only the rules it can execute next. Each rule carries its own complete triggering context, which identifies its scope of applicability. The system then selects and executes one of the rules under consideration by performing its action part. Most of early configuration systems fall in this category, like R1/XCON (), Cossack () and MICON (). This kind of systems often suffers from the maintenance issues because of the lack of separation between
domain knowledge and control strategy, especially when the configurator system is complex. • Model Based: the main assumption behind model based configurators is the existence of a system's model which consists of decomposable entities and interactions between their elements. As presented by (), the most important advantages of model based systems are a better separation between what is known and how the knowledge is used, enhanced robustness, enhanced compositionality and enhanced re-usability. • Case based: in case based configurators, the knowledge necessary for reasoning is stored mainly in cases that record a set of configurations sold to earlier customers. With the case based approach, one tries to solve the current configuration problem by finding a similar, previously solved problem and adapting it to the new requirements. The basic processing cycle in a case based configurator is: input customer requirements, retrieve a configuration and adapt the case to the new situation. == Product configurators in eCommerce ==