Web-based configuration assistants

Configuration assistants are tools for guiding the final user in simple configuration tasks, such as product assembling and customization or study plans generation. For their wide availability, web-based configuration assistants are valuable in fields such as electronic commerce and information services. We describe a general approach for building web-based configuration assistants: from a high-level description of the configuration constraints and of the basic items, given in a declarative language, the hypertext files for user guidance and the Java code for constraint checking are generated. We claim that the general approach of process-oriented configuration, where the user is guided through the configuration process by an explanatory hypertext, as opposed to product-oriented configuration, where one starts from a high-level description of the product of the configuration, is better suited for many application domains.