Hewlett Packard has successfully exploited Prolog technology in a number of business areas, including customer order clearing. The order clearing expert system, OCEX, has been operational since April 1988 and is now in use by nine major divisions, in almost as many countries.
OCEX checks and clears the customer orders for manufacturing departments. Orders are generally cleared in batch mode and optionally on an individual basis (on-line). Errors in the orders are identified and delivered in the form of a diagnostic report from the batch processing system or displayed immediately when on-line clearing; additions to the order are performed automatically.
The OCEX system illustrates well, how a product specification language benefits both the clearing of customer orders and actual product component hierarchy, where complex products are manufactured.
The OCEX system has been designed to transform customer orders into production orders and to check orders with regard to correctness and completeness, through use of an Expert System. The Expert System ensures that only valid orders are authorised to production.
OCEX supports the manufacturing of a large extensive product range or products complex in structure. OCEX is able to identify products that may require restructuring, so that more common components or sets of components are used in their manufacture. Reducing the number of sub-components within the product range, clearly reduces manufacturing costs at a macro level. At the same time such optimization complicates the representation of products and increases the number of common sub--components an individual product shipment contains.
Much of this complexity can be hidden from the order clerks by grouping options and option sets into additional option sets to form a hierarchy. The product hierarchy should remain simple and clean from the order clerks viewpoint and yet require a reduced number of manufactured components required to build the product range as a whole.
The generation and maintenance of the product hierarchy is not fully automated; it is however, computerized. By representing product description information as knowledge in an Expert System, product designers are able to analyse and improve the businesses component structure.
OCEX holds knowledge about machine configurations and valid options which may be associated with individual or groups of manufactured products. Certain product options may also require or prohibit the inclusion of other options. Options may be grouped into option sets and may also be specific to certain countries. Keyboards and power supplies are classic examples of country specific options.
Introduction of the system has also resulted in improved response times and order correctness, within the customer sales divisions.
The knowledge base comprises of two major parts: global knowledge, which is common for products on a worldwide scale and local knowledge, which is specific to one or more countries. The global knowledge is maintained centrally and is updated at regular time intervals, by the exchange of data files. Individual countries may also choose to exchange their specific product descriptions with other countries.
Product description knowledge is described in a language specifically tailored to the needs of the product range. IF/Prolog is especially well suited to defining language grammars and syntaxes to provide a human readable language for specifying product descriptions. Product designers are then able to work with this language improving the product hierarchy.
This product language is then compiled into rules which are directly executable in IF/Prolog. Applying these rules to a customer order highlights any inconsistencies and irregularities present in the order.
The product language enables actions and tests to be specified, which are taken when certain conditions are met in the order being processed. A product is specified as a set of "IF - THEN" rules describing other necessary components, options and option sets, which should or should not be present in the order. Typically, options may also depend on the country of origin of the order as well as some twenty or so other specification factors.
The OCEX application itself comprises largely of IF/Prolog code using C for lower level routines and interfacing with JAM, a graphical display package. JAM is used to designed terminal screens which produce a menu driven front end for the order clerks. These screens or forms are used to specify product descriptions, clear orders and maintain the knowledge information. C is primarily used to interface JAM with IF/Prolog.
Information describing OCEX, has been kindly made available by Hewlett Packard, Boeblingham, Germany.
Hardware : HP 9000/300,400,700 and 800 UNIX workstations with attached terminals.
Software : IF/Prolog, JAM, C.