Customer Stories

Products and ServicesNews and Mailing ListsCustomer StoriesArticles and  LinksSupport and ForumsSearch and Site MapDownload and BuyContact and About


Education & Government





Weather Shield Brings Configuration and Pricing
Directly to Dealers and Customers
Using Amzi! Prolog + Logic Server

Weather Shield, one of the nation's leading window and door manufacturers, offers a comprehensive line of wood windows, vinyl windows, hinged and sliding patio doors and steel insulated entrance systems for the new construction and remodeling markets.

They wanted to make it easy for people to do business with Weather Shield by providing a tool for dealers, contractors and other customers to be able to configure the correct window/door product for a given job, to get pricing for that product, and to automatically generate an order.

They do this by providing a CDROM for their customers with an application written in Visual Basic (VB) that provides the user interface and connectivity to the Weather Shield online order entry system.

The tricky part was encoding and deploying configuration and pricing knowledge. These are best expressed as logical relationships and frequently change with new product offerings and pricing strategies. How best to get the knowledge from those who know the products and pricing into the software on the customer's computer?

Clearly an architecture that enabled those with the know-how to directly maintain the configuration and pricing knowledge would be a huge advantage over alternative solutions that required coding the knowledge directly in VB.

And if that knowledge was deployed in a logicbase external to VB, but queried from VB, then the application could easily be updated with new logicbases.

For this they chose Amzi! Prolog + Logic Server. The configuration and pricing knowledge is expressed directly in a Prolog logicbase, which is called from the VB code during the configuration and pricing process. Updates to the logicbase are performed automatically when the user connects to Weather Shield's Web site.

There was one problem. The configuration rules are complex and using Prolog syntax directly was not a good solution for those with the know-how. So the developers created a database format that the experts could use to express the complex logical relationships of product configuration and pricing.

That database is then translated into Prolog syntax for deployment.

The rules go further than just providing configuration and pricing information. They also drive the VB application user interface.

The developers took advantage of the ability of Prolog to callback to VB to enable actions in rules that drive the VB interface. Controls representing different units are displayed or not, based on the rules in the logicbase. So the entire configuration process, including the evolving visual display as a user works through a configuration, is driven by the Prolog logicbase.

The result is the software developers concentrate on the software, the product knowledge and configuration process is maintained by those in the know, and the customers have up-to-date tools for generating and ordering accurate product configurations.

From a learning perspective, it took the developer's 2-3 weeks to get enough knowledge of Prolog to begin writing prototypes for the project.

From a performance perspective, they are constantly amazed by how fast Prolog applies the appropriate rules during configuration.

The keys to success were talented developers, management commitment, and good technical support.