throbber
Concept Guide for the Beologic® salesPLUS™
`Product Configurator
`
`This guide describes the conceptof the Beologic® salesPLUS™ Product
`Configurator.
`
`Revision/Update Information:
`
`This is a manual for salesPLUS™-2.0
`
`Operating System and Version:
`
`MS Windowsrelease 3.1 or higher
`
`
`
`—1 Staisbiblioteket
`
`CONFIGIT 1051
`
`1
`
`

`

`
`
`Applicable Documents
`
`POM=
`
`User's Guide for the Beologic® salesPLUS™ Definer.
`Reference Guide for the Beologic® salesPLUS™ C-Language API.
`Getting Started with the Beologic® salesPLUS™for ‘Your platform’
`User's Guide for the Beologic® salesPLUS™ Customizer.
`
`November 1995
`
`Theinformation in this document is subject to change without notice and should not be
`considered as a commitment by Beologic A/S.
`
`Beologic A/S assumesno responsibility for any errors that may appearin this
`document.
`
`The software described in this document may not be copied on magnetic tape, disks or
`any other medium for any purpose other than the purchaser's personal use.
`
`Copyright © 1995 Beologic A/S
`
`All rights reserved.
`
`salesPLUS
`MS,MS-DOS Windows
`os/2
`Unix
`OSF/Motif
`VAX
`
`is a registered trademark of Beologic A/S
`are trademarks of Microsoft Carporation
`is a trademark of IBM Inc.
`is a trademark of Unix System Laboratories Inc.
`is a trademark of Open Software Foundation
`is a trademark of Digital Equipment Corporation
`
`2
`
`

`

`salesPLUS™
`
`
`
`q
`
`Contents
`
`Preface
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`Introduction
`
`Overview
`2.1.
`The Custom Application
`2.2
`Define- and Maintain Configuration Data
`2.3
`Primary Flow of Operation
`
`Functional Overview
`3.1.
`Beologic salesPLUS™Highlights
`
`RARWw
`
`NN
`
`Methodology
`4.1
`Objects
`4.2
`Constraints
`4.3
`Resources
`44
`Types
`4.5 Menu-Hierarchy
`
`Haw to Make Objects
`5.1
`Object Types
`5.1.1
`Single Objects
`5.1.2
`Enum Objects
`5.1.3
`OneOf Objects
`5.1.4
`AtmostOne Objects
`5.1.5
`TypeEnum Objects
`5.1.6
`Info Objects
`5.2 Object Description
`5.3
`Default Values
`5.4 Object ID
`5.5 Object Identifier
`
`How to Use Resources
`6.1.
`Resource Types
`6.1.1
`Static Resources
`6.1.2
`Dynamic Resources
`Calculation Methods
`6.2.1
`Addition
`6.2.2
`Maximum
`Limits and Optimization
`
`6.2.
`
`6.3
`
`3
`
`

`

`x salesPLUS™
`
`7.2
`
`How to Make Constraints
`7.1
`Product Range Decomposition
`7.1.1
`Decomposition
`7.1.2
`Link Features
`Product Configuration Constraint Rules
`W2A
`Design of Constraints
`7.2.2
`Syntax and Semantics
`7.2.2.1
`Logic Constraint Rules
`7.2.2.2 Arithmetic Constraints
`Resourcesin Constraints
`7.2.3
`Warning Rules
`7.2.4
`Constraint Style
`Problems and Solutions
`7AA
`Car Configuration Example
`742
`Computer Configuration Example
`7.43
`Telephone Switchboard Configuration (PABX)
`744
`Bang & OlufsenInstallation Guide Configuration
`
`7.3
`7.4
`
`Designing UserInterfaces
`8.1.
`How to Make the Menu-Hierarchy
`8.2
`Boxes and Submenus
`8.3 Multiple Languages
`
`How to Compile and Check Configuration Data
`9.1
`Compilation
`9.2
`Check
`Bound Objects in Constraints
`9.2.1
`No Solution
`9.2.2
`Bound Objects in the System
`9.2.3
`Checking of Examples
`
`9.3.
`
`Inference Engine.
`10.1 Constraint Solving
`10.2 Time Complexity
`10.3 Graceful Degradation
`
`Terminology
`
`10
`
`11
`
`vi
`
`
`
`Figures
`
`Figure 2-0-1
`Figure 4-5-1
`Figure 10-2-1
`Figure 10-2-2
`
`Béologic salesPLUS™Product Configurator
`Top Menu
`Execution Time and Inference Level
`Execution Time in Batch Mode
`
`3
`12
`55
`56
`
`i
`
`vii
`
`4
`
`

`

`—
`
`——
`
`4K| salesPLUS™
`
`XK
`
`Preface
`
`This document provides the user with guidelines on conceptual information for
`developing configuration systems to be used by engineering, sales, service or
`manufacturing organizations.
`
`Chapter 1 - introduction - and Chapter 2 - Overview-give a brief introduction
`to the Beologic® salesPLUS™ Product Configurator.
`
`Chapter 3 - Functional Overview - and Chapter 4 - Methodology describe the
`functional capabilities and introduction to the modelling elements of the
`salesPLUS™,
`
`Chapter 5 - How to Make Objects - Chapter 6 - How to Use Resources-
`Chapter 7 - How to Make Constraints - and Chapter 8 - Designing User
`Interfaces - go into details on how to design the configuration model of your
`product.
`
`Chapter 9 - How to Compile and Check Configuration Data - describes the
`principles in generation andverification of the constraint data product model.
`
`Chapter 10 - Inference Engine - describes the technical and computational
`issues of the salesPLUS™inference kernel.
`
`Chapter 11 - Termiriology - gives a summary of primary terms and conceptual
`information.
`
`viii
`
`5
`
`

`

` aS
`4| salesPLUS™
`
`Abbreviations:
`
`BPC
`API
`BOM
`NP-Hard
`
`Beologic® salesPLUS™ Product Configurator
`Application ProgrammingInterface
`Bill-Of-Materials
`Non-Polynomial Problem Complexity (Exponential)
`
`
`
`Introduction
`
`The Beologic® salesPLUS™ Product Configurator (BPC) provides a user
`friendly and flexible configuration environment. The users have freedom in the
`order of choices they make, quick response time and powerful functions in their
`handslike optimization and default assignment.
`
`Furthermore, it is a too! for creating and maintaining configurations in an easy
`way, with unique features like consistency check of configuration data.
`
`The document outlines and elaborates the concept of the salesPLUS™tool.
`
`It will address more generaltopics related to construction and design of
`product configuration models, and outline how the salesPLUS™contributes as
`a competitive system for modelling of end user applicationsin all areasi.e.
`engineering, manufacturing, sales, service and maintenance.
`}
`Examples of configuration systemsare:
`

`
`.
`.
`e
`
`Product quotation and price optimization to sales people. Examples of
`such products are cars, PABX, computers, etc.
`Generic bill-of-material that is custom specific.
`Genericinstaliation guide and service guide that are custom specific.
`Configuring postal campaigns for weekly magazines.
`
`6
`
`

`

`
`
`J)K salesPLUS™
`
`
`
`2
`
`Overview
`
`The Beologic® salesPLUS™ Product Configurator consists of several modules
`that are executed/accessed independently of each other. The system is open
`and flexible for access of data to/from external sources.
`
` Figure 2-0-1 Beologic salesPLUS™ Product Configurator
`
`ASCII
`Compiled
`Resourcevalues
`Resource values
`is
`i
`
`External Database
`@
`a
`
`a
`
`1
`
`— — — —+p|salesPLUS) — — >
`Definer
`
`'?
`
`i
`
`4
`
`Knowledgebases
`
`Configuration data
`
`2
`
`3
`
`7
`
`

`

`)K| salesPLUS™
`
`
`Product model engineeringactivities:
`1.
`
`Analyze the functionsof the product, and the componentrelations.
`
`Divide into product areas.
`
`Identify objects and types.
`
`2 3
`
`.
`
`Design and outline the target application menu hierarchy.
`Apply the salesPLUS™Definerto define the objects, types, constraint
`rules ete.
`
`Include companydefinedpricelist information.
`
`Generate (compile) the product model.
`
`
`2.1
`The Custom Application
`
`The end user has accessto the product to configure through a standard
`interface salesPLUS™ Customizeror through a dedicated user interface,
`(specific application) supported by salesPLUS™API. The platform on which
`the user application is running can be Windows, DOS, Unix/MOTIF, OS/2. The
`facilities and the behaviourof the configuration system will be independent of
`the platform.
`
`Most companies wanttheir own design of the userinterface to makeit feel and
`looklike other programs that they use or make. Therefore we provide you with
`the API set from which an interpretation of a user interface can be built easily
`with desired additional features.
`
`
`2.2
`Detine- and Maintain Configuration Data
`
`Verify by checking and simulating the functional behaviour of the model
`(salesPLUS™ Customizer).
`
`New and complex products seem to be launched more frequently, and addition
`of new- and changesin old products are necessary. The company needsa tool
`for easy and consistent description of configurations, both accordingto the
`sales-, production-, and for the engineering requirements.
`The salesPLUS™Definer provides you with such a tool,( Fig. 2-0-1). lthas a
`graphical pick and place methodfor building or changing the configuration
`rules, and it has thefacilities for checking the consistency of the configuration
`data and for simulating the run time behaviour of the end user application.
`
`In order to provide access to the above mentioned platforms, a commandline
`compiler and a general end-userlibrary salesPLUS™API are used as a
`specific generation tool and as an application interface respectively.
`
`
`2.3
`Primary Flow of Operation
`
`The primary activities and flow of operation to build and use a configuration
`system are outlined below.
`
`The tasks to be performedare typically divided between a person having
`detailed product knowledge and a sales person with a commercial background,
`to cover the modelling phase and to operate as an end user respectively.
`
`9.
`
`Distribute the defined product model to the end user(s).
`
`The end useractivities, e.g. of a sales personin thefield:
`1.
`
`Input of the functional requirements.
`
`2.
`
`Optional sele¢tions are presented reflecting the product model.
`
`Only valid options are presented and fully interactively
`included/excluded.
`
`Theactualprice list and/orbill-of-material is presented.
`
`Modifications/corrections can be performed to accommodate custom
`requirements.
`
`8
`
`

`

`yK| salesPLUS™
`
`
`
`3
`
`Functional Overview
`
`This chapter describes the primary features of the Beologic® salesPLUS™
`Product Configurator (BPC). The BPC is very flexible and the facilities can be
`used for many different purposes.
`
`
`
`3.1
`
`Beologic salesPLUS™Highlights
`
`Normally, a manual configuration processis a time consuming andcritical job.
`Even the best documentation and the mostskilled engineer are no guarantee
`for providing the customer with the most competitive solution for his or her
`demand. No one - except a Beologic® salesPLUS™ based laptop - has the
`powerof optimizing amongall legal combinations which fulfil the customer
`constraints.
`
`Someof the allgtlighit for an end user(e.g. a salesman) are:
`.
`Interactive selection in any order of product features and components.
`Criteria can be hardware components aswell asattributeslike speed,
`power, or prices.
`The interactive interface automatically reduces the available possibilities
`after each click on the mouse.
`
`.
`

`
`e
`

`
`.
`
`Undois as simple as selection.
`
`Optimization of prices and resources within customerdefined limitations
`or as match for competitors quotesis just a few clicks on the mouse.
`Fast responsetimes.
`
`Default settings and discounts.
`
`*
`Easy rebuild on top of ald quotations or default settings.

`Check for complete products and quotations.
`. al facilities enclosed for extensive description of the configured
`solution.
`
`9
`
`

`

`Z|K| salesPLUS™
`
`.
`e
`
`The system deals with both absolute criteria and'soft' warnings.
`All configurations can easily be downloaded to the normal quotation
`system.
`Windows-, Unix/MOTIF-, OS/2 or DOS-baseduserinterface.

`The optimal quotation assumes an updatedpricelist and a consistent and
`correct description of the product configurations. On top of the sales facilities,
`the Beologic® salesPLUS™providesthe configuration maintenance engineer
`with a powerful and compact constraint language.!n very short time and using
`a minimumofrulesit helps him design the complete product description with
`an openinterface to both the price list and the objects in his current product
`database.
`
`
`
`Methodology
`
`This section describes the primary methodologyfor defining a product model.
`
`Someof the highlights for the maintenance engineerare:
`.
`Anobjects oriented description of the product basedon either objects
`from the product database or manually defined objects/attributes.
`Prices and resources can be dynamically linked to the product
`description whereby they are automatically updated.
`A consistency check function is available sayingif there are any logical
`conflicts in the product description.
`A powerful and compactnotation of constraints for both boolean and
`.
`LSseUSSU
`arithmetic expressions. Both positive and negative constraints can be
`used and combined.
`Objects
`
`.
`
`.
`

`
`g
`
`The conceptof the configuration data is comprised by:

`Objects
`:
`Constraints
`,
`Resources
`
`Types
`
`Menu-hierarchy
`

`

`
`.
`
`.
`
`.
`
`No expressionsordefinitions are necessary to deal with the underlying
`inference engine. Only product content constraints are necessary.
`Support for definition and graphical display of many types of menus,
`boxes, buttons,etc.
`A complete product ruleset can be maintained in a single database, and
`because of compactnessthe end-users laptops can be updated from the
`network.
`
`Final configurations can be exchanged with Sales Support-, Production
`Management Systemsor quotation systems in ASCil file or database
`format.
`
`Support for multiple languagesis providedforall texts in the
`configuration data.
`
`The most fundamental part of the configuration data is the object. All the items
`or parts that can be part of a configuration
`nahi
`ig
`ion must be represented as or through
`
`Highlights
`
`.
`
`.
`
`.
`
`i
`Objecis are typically single parts or items such asflo
`d

`se
`engine, oak frame, ISDN card etc.
`i
`Features mayalso be represented as objects such
`, eyae
`metallic paint, corneretc.
`Objects can beofdifferent classes such as:
`Single
`(Boolean)
`Aaa
`(Finite domain)
`ne
`(List of parts logically grouped)
`AtMostOne
`(List of parts logically grouped)
`TypeEnum
`(Finite domain with type)
`Info
`(Text information only)
`
`10
`
`

`

`is
`
`c salesPLUS™
`
` . Objects have a unique !D association. This ID may be controlled by a
`
`typeif the class of the object is TypeEnum.
`43
`Reéources
`Objects can be governed byconstraints.
`Objects can be associated to resources.
`Resourcesin the Beologic® salesPLUS™areinterpreted as featuresthatrelate
`;
`-
`to the product parts and can be associated to some measure. Thetotal of the
`Objects can be positioned in the menu-hierarchy.
`individual parts resource measure describes the complete product
`.
`Objects can have asscciated explanation texts, graphics, a.o.
`Hightights
`
`.
`:
`.
`.
`
`E
`
`.
`
`*
`
`The resourceis independentof the constraints governing the
`aa model. Examples of resources are price, memory, weight
`c.
`,
`A resource can be attachedto any defined objectappropriate. E-E.g.a
`price is attached to the softwarelicences X.
`A resource has an associated unit.
`
`
`4.2
`Constraints
`The onlyrelations between objects are the constraints (or rules). When
`representing a configuration problem there are always somephysicallimits.
`The physicallimits may be a spacelimitation on the numberofitems, which go
`into a box ora limitation of a certain resource such as power supply, bus length
`or connectors. These physicallimits are naturally represented as arithmetic
`constraints.
`
`A different setof limits comesfrom the production and the assembly issues.
`Someparts exclude other parts for various reasons such astechnicallimits.
`These exclusions are straightforward represented in /ogical constraints.
`
`Marketing issues and companypolicies are the third source of constraints.
`These constraints are not logically driven and mayoften be the ones that
`changethe mostduring thelifetime of a product. For example marketing may
`decide notto sell a product without a minimal configuration, or dueto price
`policy limit the total numberof accessories. These constraints are naturally
`represented in both /ogical and arithmetic constraints.
`Highlights
`+
`The constraints restrict the combinations of the objects. This is done
`either by stating whatis legal, e.g.
`Model_X -> Part_Y,
`
`or by stating whatis illegale.g.
`impossible (Model_X, Part_Y).
`Logic constraintsallow all expressionsthat can be stated in boolean
`algebra.
`*
`;
`;
`;
`Arithmetic constraints support a setof relational expressions over
`boolean andfinite domain variable e.g.
`Part_X’550 + Part_Y*760 <= 1608.
`

`.
`
`10
`
`.
`
`*
`
`A resource has a calculation method associated: either Addition or
`Maximum can be applied.
`The fesource of the addition type is dynamically calculated during the
`configuration process.|.e. if 5 drawers are selected andit is specified
`that the weight resource of each draweris 5 kg then the weightis
`increased by 25 kg.
`imizati
`A resource of the maximum type can be candid.
`aieie
`allocation oflimits.
`,
`Objects may specify negative values for resources. |.e. an object uses a
`certain amount of X whereas another object provide more X.
`Limits may be imposedatrun-time.
`.
`Resources can be positionedin the menu-hierarchy.
`.
`Resources can have associated explanation texts, graphics a.o.
`*
`SE
`44
`Types
`
`ate
`
`Sune can be used to make a generalrepresentation of physical devices,
`which are identical to the configuration modelin terms of functionality.
`However, they differ and therefore have different identification-/part numbers
`Similaritems are treated within one TypeEnum object (please refer to the
`Object Types section). Assigning this object has an influence on the
`configuration mode! but does not determine the objectID.
`
`:
`
`11
`
`11
`
`

`

`ivayK| salesPLUS™
`
`
`More TypeEnum objects may use the same type and thus you can get a two-
`dimensional selection of more parts.
`
`Highlights
`
`From computer configuration there are often country specific items such as
`power cord being a TypeEnum object. This is due to the different plugs. The
`type is country, and all available countries are present. In the power cord
`TypeEnum object you associate each couniry to a specific part ID. When you
`select four power cords, you do not have to bother with the actual part ID.
`Whenyoulater select the specific country, this will fix your ID.
`
`45
`Menu-Hierarchy
`
`Beologic® salesPLUS™supports a menu-hierarchy. The menu-hierarchy can
`be used bythe application interface.It is up to the interface designer to make
`the decision. For example the positioning information (x, y) can be interpreted
`as inchesor millimetres on the screen.
`
`The menu-hierarchy hasfacilities for positioning the objects on the screen, and
`it provides logical grouping of objects that can be shown asframes.
`Furthermore,it supports menusat several Jevels or submenus.
`
`.
`
`.


`.

`e
`
`Two types of menus can be Specified. Boxmenu(a box in a window),
`Submenu(a windowat a lowerlevel).
`A name canbe given to the FREES
`The menusarelinked in a parent/child concept.
`Objects can be positioned (%, ¥)ina menu.
`Boxmenus and Submenus can be positioned (X, Y) in a menu.
`Information fields and types can be positioned(X, Y) in a menu.
`
`Figure 4-5-1
`
`Top Menu
`____ _ TopMenu _—_ wo|
`|
`|
`|
`
`[@bjectX}|Submenu7] |
`Boxmenu
`[_Object_ 1.eeareneh|
`[ited OB
`oe ee | Object Q |
`| Object¥ |
`[TypeB| |
`{ObjectZ|
`|Cject|
`[_TypeA|=[_infoa|
`
`
`
`
`
`
`
`12
`
`13
`
`a
`
`'i
`
`12
`
`

`

`
`
`i)
`
`K salesPLUS™
`
`How to Make Objects
`
`All items, parts or attributesfitting into a configuration must be represented as
`or via an object. The division of the product into objects should reflect the
`saleable/configurable level. If the product were split into parts each of these
`components would constitute an object. For example a printed circuit board
`consists of many components,butit is only sold as a whole andit is
`consequently one object.
`
`An object can be of the following types:
`.
`Single
`.
`Enum
`
`.
`.
`
`.
`.
`
`OneOt
`AtmostOne
`
`TypeEnum
`Info
`
`In this chapter each type will be elaborated and exampleswill be shown. Which
`type of object to use for a product part depends on the product composition.
`Some products may not use a specific kind of object whereas other products
`mostly use that object type.
`
`Someproducts such as cars givelittle freedom for the user. In cars, trim and
`air-condition can be applied only once, andit is determined where to mount
`these options. This requires certain types of objects to be used. Other products
`suchastelephone switchboard configuration give almost total freedom to the
`user. E.g. a box has 96 slots and you can almostput anyoption in anyslot.
`
`14
`
`15
`
`13
`
`

`

`—_
`Mx| salesPLUS™
`
`
`5.1
`Object Types
`
`unless there could be future scenarios wh
`available.
`3
`
`
`i
`a
`ane Ss
`ere a bigger range
`
`
`5.1.1
`
`OneOfObjects
`
`Objects of the type OneOf are objects whose elements exclude each other.
`ne object is used to group a sat of components from which you must select
`
`Single Objects
`As the type-namesayssingle objects are objects that do not have fixed
`relations or multiple instantiations. It may be characterized by the fact that you
`can answeryesor no to whether the objectis in the configuration.
`From car configuration,
`i
`typical OneOf obj
`i
`I
`jects are engines, models,
`paints and
`;
`Speaking about car configuration, typical single objects that represent a
`trims. You must select exactly one of these objects. A OneOf ebjecearielis
`physical part may be ABS-brakes, burglar alarm orair-condition.
`more parts of the product, e.g. for the object engine it may be5different types
`of engines, which are the elements of the object.
`Typical Single objects that represent a feature may be metallic paint and
`leathertrim. There are manykinds of both metallic paints and ordinary paints.
`j
`i
`Models and monitors are good representatives of
`OneOfobjects speaking
`iene
`p
`Therefore metallic paint (Yes/No) provides a good general choice for the end
`user by which the possible options are narrowed down. The same
`considerations apply for leathertrim.
`In telephone switchboard configurations OneOf options are seldom used.
`Speaking about computer configuration,typical single objects that represent a
`
`physical part maybe software licences and documentation. Single objects that
`represent a feature may by load-device, network-connection and factory-
`installed-software.
`Object load-device meansthat a load-device exists in the configuration.If no
`load-device is present, no software can be loadeddirectly into the computer.
`
`LS
`5.1.2
`Enum Objects
`Enum objects are, as the type-namesays, objects that can be enumerated in
`some way.
`
`From computer configuration,typical Enum objects may be memory options
`and disk options. You can select from 0 to 15 additional 32Mb memory options.
`From car configuration hardly anything exists that naturally enumerates.
`Everything comesina fixed number, e.g. 4 tires, 1 sunroof, 1 trim set atc.
`However, in telephone switchboard configuration almost any option can be
`enumerated such as ISDN-cards, analogue cardsetc.
`Evidently there is a certain overlap between an object of the type Single and an
`Enum object with the range [0..1]. These two objects can be used for the same
`logical interpretation of an item. The usageof Single is preferred-due to clarity,
`
`16
`
`5.14
`
`AtmostOne Objects
`
`AtmostOneobjects are objects where you can
`select one element at most.
`|
`Otherwise, AtmostOne objects are similar to OneOt objects.
`.
`4
`’
`aie Eanavian the sunroof js a perfectillustration of the object type
`an select among several sunroofs but
`you do not have to sele
`you cannot select more than one.
`.
`ce
`However, if the list of paints is huge then ie might spit thelist fara
`lists. If we split the car paints into metallic paints and ordinary paints, instead of
`one OneOf object two AtmostOneobjects should be made. Furthermore a
`constraint should be made to ensure that a paint has been chosen.
`
`A different usage of this object type is with paints. All
`
`paints are
`
`j
`
`i
`icati
`From computer configuration asynchronous c
`ommunication options are

`1
`feasible for this object type if you can select maximum one.
`
`In telephone switchboard configuration options are seldom used.
`
`17
`
`14
`
`

`

`
`
` whenactivated. Info objects cannot be reasoned about by the constraint.ee5.2 machine-interfacein the interactive dialogue with the user.a5.3
`
`A|
`
`A plain conflict may occur if we have 3 Enum objects (A, B, C) with the range
`from 0 to 3 and the default value is chosen to be 0. A potential conflict arisesif
`a constraint demandsthat you must select at least one of A, B orC:
`
`ie
`
`A+B+C>0°
`
`In the situation where noneof the 3 objects is chosen we chooseto apply the
`default values. Then the inference engine will try to give a default value to the
`objects. This is not possible because if A, B and C are assigned to 0 thenthis
`is in conflict with the above constraint.
`The inference engine then selects the largest set of default values, which can
`be assignedi.e. A and B get bound to 0 andC isleft for the user to decide
`upon - but now the 0 value is not available for the user. This situation can be
`prevented by not picking any default value for the three objects. The user will
`have to pick some objects in such cases.
`
`Objects, which by the Knowledge Engineer are intended to be derived
`automatically, need no default value. E.g. the number of power cordsis
`intended to be calculated from the number of boxesthat is chosen. If a default
`value 2 for the powercordsis instantiated, this forces the user to pick 2 boxes,
`which were probably not intended.
`
`As a conclusion all objects which represent a feature should have the default
`value omitted because they are usually governed by other object selections.
`
`
`Object ID
`
`;
`
`The object ID is typically used for transferring information about the
`configuration to a manufacturing system. If necessary the manufacturing
`system will make a final breakdown of the configuration parts into smaller
`components that can be assembled.
`
`Of course the ID can be used to access database information about the part
`and thereby give a description. This makes the manualtyping of descriptions
`unnecessary for the objects.
`
`
`Object Identifier
`
`salesPLUS™
`
`
`5.1.5
`
`TypeEnum Objects
`Objects of the type TypeEnum are, as the nameof the type suggests, an object
`which can be enumerated in some way and hasa type associated.
`The functionality of this object is the same as for the Enum object with the
`additional feature of the type.
`
`eS
`5.1.6
`
`Info Objects
`
`Textual information is supportedin the info objects. Texts are used for passing
`on information on the product or some components to the user. The texts have
`an associated position and consequently they can be placed in menus as
`wanted. The printed configuration guide often states the text to be displayed
`andits logicalrelative to the objects.
`Thetext field name is used as the button name that opens the text display
`
`Object Description
`Each object has a name. The nameis typically used as the button text in the
`userinterlace. There is no binding of this namein termsof the characters that
`can be used. For objects of the type ONEOF and ATMOSTONE each element
`has a name associated.
`
`The objects also have description texts, which can hold a longer explanation of
`the object andits purpose. For the objects of the type ONEOF and
`ATMOSTONEthe elements have an associated description text as well.
`Graphicalfiles (pictures) can be detined with each object or element. The
`pictures can be applied by the end-user application to support the man-
`
`Default Values
`
`To each object you can choose a default value among its elements. In the user
`interface the default values can beinstantiated to the objects, which presently
`have no assignment.
`
`The default value for an object should be chosen carefully. Partly because the
`default values may conflict and partly because some objects are intended to
`becomederived by the inference engine.
`
`18
`
`The objects have Identifiers. The identifier must obey some conventions
`becauseit is to be written in constraints. Imagine having an object named "1 +
`2". This leads to ambiguousinterpretation of a constraint. Therefore, operators,
`spaces and special characters are prohibited.
`
`19
`
`15
`
`

`

`salesPLUS™
`
`
`
`
`
`How to Use Resources
`
`Resourcesin the Beologic® salesPLUS™areinterpreted asfeatures that relate
`to the product parts and that can be associated to some measure. Thetotal of
`the individual parts resources describes the complete product. A typical
`example of a resource linked to the product partsis the price. The total gives
`the total price of the parts chosen. Other resources are weight, stock, ISDN
`subscribers, memory, power consumption, assembly time, delivery time etc.
`
`Each resource hasa unit attached which might be kg, Mwatts, secondsetc.
`Each resource has several connectedattributes. These attributes are used to
`indicate:
`
`*
`.
`.
`
`If limits are possible on the resource
`If optimization is possible on the resource
`If the resource should be shown in a BOMlist
`
`
`
`Resource Types
`
`Static Resources
`
`A static resource is a measure of an object that does not changevery often.
`Often a resource is only chosenasstatic if the measure will not or hardly will
`change duringthelife time of the part. For example memory cardsfor
`computers. We have a resource named memory with the unit Mbytes. The 8
`Mbytes cards will have the resource memory attached with the value 8 and the
`32 Mbytes card will have the value 32. It is unlikely that the 8 Mbytes card will
`change the value without becoming a new part with a new ID within the
`company.
`
`Static resources can be usedin constraints.
`
`21
`
`20
`
`16
`
`

`

`"g salesPLUS™
`
`x]
`
`:
`jorse
`pow
`
`Ss —=— tool. Forcarsit is possible to state that at least 200 h
`6.1.2
`Dynamic Resources
`and then ask the salesPLUS™ Customizerto minimize theise,You peso
`a
`:
`:
`:
`F
`State that you at most have $40,000 and then ask the salesPLUS™
`A dynamic resourceis a feature of objects that will change often or which is
`Customizerto find the car with the paasimniritive
`accessed through an external database. The resource price may evidently
`-
`rs€ powers.
`changeseveraltimes per year for most products. To cope with this change
`there is no need to edit anything with the salesPLUS™Definer utilities. Instead
`the change can beincorporated by a salesPLUS™import utility that takes a
`new price table and replaces the old one in the configuration data.
`
`The dynamic resource value can be changedat run-time. This provides the
`ability to cope with discounts.
`
`
`6.2
`Calculation Methods
`
`
`6.2.1
`
`Addition
`
`A resourcethat is calculated by Addition sums up the objects that are selected.
`If more from a domain is selectedit will be multiplied. An example is the weight
`whichis the sum of all the involved parts and if more than one of an object is
`chosen, the resource value associated ta the abject will be calculated (by
`summation).
`
`6.2.2
`Maximum
`
`A resource that is calculated by Maximum reflects the objects that have the
`highest resource associated and are selected. The domains are not multiplied
`to find this value. An exampleis delivery time that will be the longest of the
`involved parts, butwill not differ if one or two of an object is chosen.
`
`
`
`6.3
`
`Limits and Optimization
`
`The resources can be given upper andlowerlimits during a session in
`Beologic® salesPLUS™ Customizer or another custom application using the
`APL This feature allows the end user to abstract from the actual objects and to
`select a required performanceinstead.
`
`A secondfeature of the resourcesis that there are build-in facilities for
`optimization. Both minimization and maximization are possible.
`
`The combination of the limits and the optimization facilities provide a powerful
`
`22
`
`23
`
`17
`
`

`

`y K| salesPLUS™
`
`"g
`
`
`
`How to Make Constraints
`
`
`7A
`Product Range Decomposition
`
`In the salesPLUS™is it recommendedto split a company's products into
`several constraint rule bases. This gives the advantage of easy maintenance
`and test procedures before releases of new/changed configurations.
`
`For maintenancesimplicity,is it important that the number of constraints never
`becomestoo big. Even quite complicated products should have less than 100
`constraints. Ordinary products have between 30 and 40 constraints.
`
`Traditional configuration tools claim that they have systems with 10000 ruies,
`butit is almost impossible for even skilled Knowledge Engineers to change the
`rules.
`;
`Before a release of configuration data, a test must be madetoseeif errors
`have been introduced into the configuration data. With the product range
`decomposedit is only necessary to test the altered products. if you have one
`big knowledge base, you might have introduced side effects. Therefore you
`musttest the entire product range, which implies that new releases cannot be
`madeonthefly.
`
`7.1.4
`
`Decomposition
`
`The decomposition of a product range can be outlined by severalrules:
`.
`A printed user guide for configuration often gives the suitable size of one
`product or several products to be placed in the sameconstraint rule
`base.
`
`.
`
`.
`
`From this basis it might be easy to merge more productvariants. E.g.
`tropical, indoor and outdoor cabinet versions may be relevant to merge.
`
`it is better with several small configurations than a few large
`
`25
`
`24
`
`18
`
`

`

`)K| salesPLUS™
`Ag
`
`configurations for the reasons mentioned above. Furthermore, at the
`end, a user must manageit and although the inference engine makes
`sure that nothing is chosenincorrectly, the user should still be able to
`move aroundin the menus without getting lost in the manylevels of
`submenus.
`
`Experience with the salesPLUS™ will give you the necessary overview
`to see whereto split up the product range.
`
`

`
`Link Features
`
`In order to support splitting of product rangesa logic link

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket