throbber
Concept Guide for the Beologic® salesPLUSTM
`Product Configurator
`
`This guide describes the concept of the Beoiogic® salesPLUSTM Product
`Configurator.
`
`Revision/Update Information:
`
`This is a manual for salesPLUSTM-ZD
`
`Operating System and Version:
`
`MS Windows release 3.1 or higher
`
`
`
`I
`
`I Statsbiblioteket
`
`CONFIGIT 1051
`
`1
`
`

`

`
`
`Applicable Documents
`
`1
`2.
`3.
`4
`
`User's Guide for the Beologic® salesPLUSTM Definer.
`Reference Guide for the Beologic® salesPLUSTM C—Language API.
`Getting Started with the Beologic® salesPLUSTM for 'Your platform‘
`User’s Guide for the Beologic® salesPLUSTM Customizer.
`
`November 1995
`
`The information in this document is subject to change without notice and should not be
`considered as a commitment by Beoiogic AIS.
`
`Beologic A/S assumes no responsibility for any errors that may appear in this
`document.
`
`i
`
`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 AIS
`
`All rights reserved.
`
`salesPLUS
`MS,MS—DOS Windows
`03/2
`Unix
`OSF/Motil
`VAX
`
`is a registered trademark of Beologic A/S
`are trademarks of Microsoft Corporation
`is a trademark of lBM Inc.
`is a trademark of Unix System Laboratories Inc.
`is a trademark of Open Software Foundation
`is a trademark of Digital Equipment Corporation
`
`2
`
`

`

`)‘ salesPLUSTM
`
`
`
`Contents
`
`Preface
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`iv
`
`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 salesPLUSTM Highlights
`
`Methodology
`4.1
`Objects
`4.2
`Constraints
`4.3
`Resources
`4.4
`Types
`4.5 Menu-Hierarchy
`
`How to Make Objects
`5.1
`Object Wpes
`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
`
`ix
`
`54:56:
`
`\lfl
`
`10
`11
`11
`12
`
`15
`16
`16
`16
`17
`17
`18
`18
`18
`18
`19
`19
`
`21
`21
`21
`22
`
`22
`22
`22
`
`3
`
`

`

`salesPLUST"I
`
`7
`
`8
`
`9
`
`7.2
`
`How to Make Constraints
`7.1
`Product Range Decomposition
`7.1.1
`Decomposition
`7.1.2
`Link Features
`Product Configuration Constraint Rules
`7.2.1
`Design of Constraints
`7.2.2
`Syntax and Semantics
`7.2.2.1
`Logic Constraint Rules
`7.2.2.2 Arithmetic Constraints
`Resources in Constraints
`7.2.3
`Warning Rules
`7.2.4
`Constraint Style
`Problems and Solutions
`7.4.1
`Car Configuration Example
`7.4.2
`Computer Configuration Example
`7.4.3
`Telephone Switchboard Configuration (PABX)
`7.4.4
`Bang & Olufsen Installation Guide Configuration
`
`7.3
`7.4
`
`Designing User Interfaces
`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
`
`10
`
`Inference Engine.
`10.1 Constraint Solving
`10.2 Time Complexity
`10.3 Graceful Degradation
`
`11
`
`Terminology
`
`
`
`Figures
`
`Figure 2-0.1
`Figure 4-5-1
`Figure 10.2-1
`Figure 10-2-2
`
`Beologic salesPLUSTM Product Configurator
`Top Menu
`Execution Time and Inference Level
`Execution Time in Batch Mode
`
`3
`12
`55
`56
`
`I
`
`25
`25
`25
`26
`26
`26
`27
`27
`28
`29
`30
`30
`31
`31
`36
`40
`42
`
`45
`45
`45
`46
`
`47
`47
`47
`47
`48
`48
`49
`
`51
`51
`52
`56
`
`59
`
`vi
`
`vii
`
`4
`
`

`

`_._ 7
`
`salesPLUSTM
`
`)l
`
`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® salesPLUSTM Product Configurator.
`
`Chapter 3 - Functional Overview- and Chapter 4 - Methodology describe the
`functional capabilities and introduction to the modelling elements of the
`salesPLUSTM.
`
`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 and verification of the constraint data product model.
`
`Chapter 10 - Inference Engine - describes the technical and computational
`issues of the salesPLUSTM inference kernel.
`
`Chapter 11 - Termirr‘ology— gives a summary of primary terms and conceptual
`information.
`
`viii
`
`'x
`
`5
`
`

`

` “ V
`salesPLUSTM
`
`Abbreviations:
`
`BPC
`API
`BOM
`NP—Hard
`
`Beologic® salesPLUSTM Product Configurator
`Application Programming Interface
`Bill-Of—Materials
`Non-Polynomial Problem Complexity (Exponential)
`
`
`
`1
`
`Introduction
`
`The Beologic® salesPLUSTM 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
`hands like optimization and default assignment.
`
`Furthermore, it is a tool 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 salesPLUSTM tool.
`
`It will address more general topics related to construction and design of
`product configuration models, and outline how the salesPLUSTM contributes as
`a competitive system for modelling of end user applications in all areas i.e.
`engineering, manufacturing, sales, service and maintenance.
`l
`
`Examples of configuration systems are:
`
`-
`
`-
`-
`-
`
`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.
`Generic installation guide and service guide that are custom specific.
`Configuring postal campaigns for weekly magazines.
`
`6
`
`

`

`
`
`)‘ salesPLUSTM
`
`
`
`2
`
`Overview
`
`The Beologic® salesPLUSTM Product Contigurator consists of several modules
`that are executed/accessed independently of each other. The system is open
`and flexible for access of data to/trom external sources.
`
`
`
`Fi ure 2-0-1 Beolo ic salesPLUSTM Product Confi urator
`ASCII
`Compiled
`Resourceyalues
`Resource values
`L
`J
`
`External Database
`{I
`L
`‘
`
`nd -
`
`) E
`
`application
`
`Custom
`
`
`
`
`
`
`Knowledgebases Configuration data
`
`7
`
`

`

`)l salesPLUSTM
`
`
`
`
`2.1
`The Custom Application
`
`The end user has access to the product to configure through a standard
`interface salesPLUSTM Customizer or through a dedicated user interface,
`(specific application) supported by salesPLUSTM API. The platform on which
`the user application is running can be Windows, DOS, Unix/MOTIF, 08/2. The
`facilities and the behaviour of the configuration system will be independent of
`the platform.
`
`Most companies want their own design of the user interface to make it feel and
`look like 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
`Define- and Maintain Configuration Data
`
`New and complex products seem to be launched more frequently, and addition
`of new— and changes in old products are necessary. The company needs a tool
`for easy and consistent description of configurations, both according to the
`sales-, production, and for the engineering requirements.
`it has a
`The salesPLUSm Definer provides you with such a tool,( Fig. 2-0-1).
`graphical pick and place method for building or changing the configuration
`rules, and it has the facilities 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, at command line
`compiler and a general end-user library salesPLUSm APl 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 performed are 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.
`
`Product model engineering activities:
`
`1.
`
`2.
`
`3
`
`4.
`
`5.
`
`6.
`
`7.
`
`8.
`
`Analyze the functions of the product, and the component relations.
`
`Divide into product areas.
`
`Identify objects and types.
`
`Design and outline the target application menu hierarchy.
`
`Apply the salesPLUSTM Definer to define the objects, types, constraint
`ru es etc.
`
`Include company defined price list information.
`
`Generate (compile) the product model.
`
`Verify by checking and simulating the functional behaviour of the model
`(salesPLUSTM Customizer).
`
`9.
`
`Distribute the defined product model to the end user(s).
`
`The end user activities, e.g. of a sales person In the field:
`
`1.
`
`2.
`
`3.
`
`4.
`
`5.
`
`Input of the functional requirements.
`
`Optional selections are presented reflecting the product model.
`
`Only valid options are presented and fully interactively
`included/excluded.
`
`The actual price list and/or bill-of—material is presented.
`
`Modifications/corrections can be performed to accommodate custom
`requirements.
`
`8
`
`

`

`)‘ salesPLUSTM
`
`
`
`3
`
`Functional Overview
`
`This chapter describes the primary features of the Beologic® salesPLUSTM
`Product Configurator (BPC). The BPC is very flexible and the facilities can be
`used for many different purposes.
`
`
`3.1
`
`Beologic salesPLUSTM Highlights
`
`Normally, a manual configuration process is a time consuming and critical job.
`Even the best documentation and the most skilled engineer are no guarantee
`for providing the customer with the most competitive solution for his or her
`demand. No one - except a Beologic® salesPLUSTM based laptop - has the
`power of optimizing among all legal combinations which fulfil the customer
`constraints.
`
`Some of the highlights for an end user (9.9. a salesman) are:
`-
`interactive selection in any order of product features and components.
`Criteria can be hardware components as well as attributes like speed,
`power, or prices.
`The interactive interface automatically reduces the available possibilities
`after each click on the mouse.
`
`-
`
`.
`
`-
`
`-
`
`.
`
`.
`-
`
`-
`
`Undo is as simple as selection.
`
`Optimization of prices and resources within customer defined limitations
`or as match for competitors quotes is just a few clicks on the mouse.
`Fast response times.
`
`Default settings and discounts.
`
`Easy rebuild on top of old quotations or default settings.
`Check for complete products and quotations.
`
`Exlplanation facilities enclosed for extensive description of the configured
`so ution.
`
`9
`
`

`

`)i
`
`salesPLUSTM
`
`-
`.
`
`-
`
`The system deals with both absolute criteria and 'soft' warnings.
`All configurations can easily be downloaded to the normal quotation
`system.
`
`Windows-, Unix/MOTIF, 08/2 or DOS-based user interface.
`
`The optimal quotation assumes an updated price list and a consistent and
`correct description of the product configurations. On top of the sales facilities,
`the Beologic® salesPLUSTM provides the configuration maintenance engineer
`with a powerful and compact constraint language. In very short time and using
`a minimum of rules it helps him design the complete product description with
`an open interface to both the price list and the objects in his current product
`database.
`
`,
`.~.
`
`
`4
`
`Methodology
`
`.
`This section describes the primary methodology for defining a product model.
`
`Some of the highlights for the maintenance engineer are:
`-
`An objects oriented description of the product based on 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 saying if there are any logical
`conflicts in the product description.
`
`.
`
`-
`
`The concept of the configuration data is comprised by-

`Objects
`-
`onstraints
`C
`.
`Resourc
`
`.
`
`es
`
`'
`'
`
`Types
`Menu-hierarchy
`
`A powerful and compact notation of constraints for both boolean and
`arithmetic expressions. Both positive and negative constraints can be N
`used and combined.
`4.1
`Objects
`
`No expressions or definitions are necessary to deal with the underlying
`inference engine. Only product content constraints are necessary.
`I
`I
`.
`.
`.
`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 compactness the end-users laptops can be updated from the
`network.
`Final configurations can be exchanged with Sales Support-, Production
`Management Systems or quotation systems in ASCII file or database
`format.
`Support for multiple languages is provided for all texts in the
`configuration data.
`
`The most fundamental part Of the configuration data is the 01319015 A“ the items
`or parts that can be part of a configuration must be represented as or th
`h
`an object.
`I"3'49
`
`-
`
`.
`
`Highlights
`pically Single parts or items such as flo
`'
`.
`Objects are ty -
`.
`.
`engine, oak frame, ISDN card etc.
`ppy dISK’ turbo
`Features ma als
`b
`.
`_
`metallic painty corzefertipresemed as 01316ch sum as load devrce,
`’
`'
`Ob‘ects can be of
`'
`.
`Single
`défoiroeIgtacIIIasses sum as.
`Enum
`(Finite domain)
`OneOf
`(List of parts logicall
`V grouped)
`.
`AtMostOne
`(List of pans logically grouped)
`TypeEnum
`(Finite domain with type)
`W0
`(Text information only)
`
`.
`
`-
`
`.
`
`-
`
`-
`
`.
`
`8
`
`10
`
`

`

`fl
`
`salesPLUST"
`
`-
`
`-
`-
`-
`-
`
`Objects have a unique ID association. This ID may be controlled by a
`type if the class of the object is TypeEnum.
`Objects can be governed by constraints.
`Objects can be associated to resources.
`.
`.
`.
`_
`.
`Objects can be posmoned In the menu-hierarchy.
`Objects can have associated explanation texts, graphics, a.o.
`
`
`4.2
`Constraints
`
`The only relations between objects are the constraints (or rules). When
`representing a configuration problem there are always some physical limits.
`The physical limits may be a space limitation on the number of items, which go
`into a box or a limitation of a cenain resource such as power supply, bus length
`or connectors. These physical limits are naturally represented as arithmetic
`constraints.
`
`A different set of limits comes from the production and the assembly issues.
`Some parts exclude other parts for various reasons such as technical limits.
`These exclusions are straightfonivard represented in logical constraints.
`
`
`
`4_3
`
`Resources
`
`Resources "1 the 39°!OQiC® salesPLUSTM are interpreted as features that relate
`to the product parts and can be associated to some measure The total of the
`IndIVidual parts resource measure describes the complete product
`\
`Highlights
`
`-
`
`.
`
`-
`
`-
`
`The resource is independent of the constraints governing the
`:onfiguration model. Examples of resources are price, memory weight
`c.
`.
`.g. a
`A resource can be attached to any defined objectif appropriate E.
`price is attached to the software licences X.
`A resource has an associated unit.
`
`:
`i er
`i ion or
`A resource has a calculation method associated e'th Add't'
`Maximum can be applied.
`
`'
`'
`The resource of the addition type is d
`ynamlcally calculated durin the
`.
`.
`.
`configuration process. Le. if 5 drawers are selected and it is spetgfied
`that the weight resource of each drawer is 5 k the
`'
`'
`increased by 25 kg.
`9
`n the WEIght Is
`A resource of the maximum type can be candid
`'
`'
`'
`_
`allocation of limits.
`for optimization and
`
`ate
`
`Objects may specify negative values for resources. l.e. an object uses a
`certain amount of X whereas another object provide more X.
`
`Limits may be imposed at run-time
`Resources can be positioned in the menu—hierarchy.
`Resources can have associated explanation texts, graphics so.
`
`-
`'
`
`Marketing issues and company policies are the third source of constraints.
`These constraints are not logically driven and may often be the ones that
`change the most during the lifetime of a product. For example marketing may
`decide not to sell a product without a minimal configuration, or due to price
`policy limit the total number of accessories. These constraints are naturally
`represented in both logical and arithmetic constraints.
`Highlights
`.
`The constraints restrict the combinations of the objects. This is done
`either by stating what is legal, e.g.
`Mode|_X '> Pan—Y7 _§_
`4.4
`Types
`
`or by stating what is illegal e.g.
`impossible (Model_X, Part_Y).
`.
`.
`.
`.
`is constraints allow all ex ressmns that can be stated in boolean
`L
`p
`09
`algebra.
`Arithmetic constraints support a set of relational expressions over
`boolean and finite domain variable e.g.
`Part_X’550 + Part_Y*760 <= 1608.
`
`-
`.
`
`10
`
`-
`-
`-
`A Type can be used to mak
`h Sical deVices
`e a general representation of
`-
`.
`.
`'
`which are identical to the configuration model in terms of fainttionality.
`owever, they differ and therefore have different 'd
`-
`'
`'
`'
`H
`I
`Similar items are treated within one TypeEnum objjcgttfpfigggg (gar:gutrrr‘ileaers.
`Object Types section). Assigning this object has an influence on the
`configuration model but does not determine the object lD.
`
`11
`
`11
`
`

`

`l ' '
`j)‘
`
`salesPLUSTM
`
`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 country to a specific part lD. When you
`select four power cords, you do not have to bother with the actual part lD.
`When you later select the specific country, this will fix your ID.
`
`4.5
`Menu-Hierarchy
`
`Beologic® salesPLUSTM supports a menu-hierarchy. The menu-hierarchy can
`be used by the application interface. It is up to the interface designer to make
`the decision. For example the positioning information (x, y) can be interpreted
`as inches or millimetres on the screen.
`
`The menu-hierarchy has facilities for positioning the objects on the screen, and
`it provides logical grouping of objects that can be shown as frames.
`Furthermore, it supports menus at several levels or submenus.
`
`_
`
`-
`.
`
`'
`.
`.
`.
`
`Two types of menus can be specified. Boxmenu (a box in a window),.
`SmeenU (a Window at a lower level).
`A name can b
`-
`e given to the menuS.
`The menus are linked in a parent/child concept.
`Objects can be positioned (X Y) in a menu
`Boxmenus and Submenus can be positioned (X, Y) in a menu.
`information fields and types can be positioned (X, Y) in a menu.
`
`
`
`EJBnTefifij
`
`
`l
`
`
`Submenu 1
`-’
`“EEO: L¢¢.wm::,
`“Obie—cf
`____ _.
`*‘m i
`l Object Q j
`T 93
`_____ ‘
`**YL*
`erbjectW!
`‘
`—°T'ECT
`,,;ij
`'
`lnf02
`l
`[4mg L
`'
`
`{Tamed—F}
`
`Boxmenu
`l_'lrifo"‘1__
`***—‘
`~ObjectY
`L,,,,J
`[Tbie'EZ‘]
`., 7,,
`l. WEAJ
`
`ll l
`
`
`
`12
`
`13
`
`_
`
`_
`
`'
`
`‘ _*_‘—_i.'———r———r+_u __ _
`
`12
`
`

`

`'7‘
`)‘ salesPLUSTM
`
`
`
`How to Make Objects
`
`All items, parts or attributes fitting 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, but it is only sold as a whole and it is
`consequently one object.
`
`An object can be of the following types:
`.
`Single
`.
`Enum
`
`-
`-
`
`-
`.
`
`OneOf
`AtmostOne
`
`TypeEnum
`Info
`
`In this chapter each type will be elaborated and examples will 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.
`
`Some products such as cars give little freedom for the user. In cars, trim and
`air-condition can be applied only once, and it is determined where to mount
`these options. This requires certain types of objects to be used. Other products
`such as telephone switchboard configuration give almost total freedom to the
`user. E.g. a box has 96 slots and you can almost put any option in any slot.
`
`14
`
`15
`
`13
`
`

`

`r
`)l salesPLUSTM
`
`7-1
`
`
`5.1
`Object Types
`
`
`5.1.1
`
`Single Objects
`
`unless there could be future scenarios wh
`.
`available.
`
`
`'
`ere a bi
`
`99
`
`er ran e
`9 may become
`
`5.1.3
`
`OneOf Objects
`
`As the type-name says single objects are objects that do not have fixed
`relations or multiple instantiations. It may be characterized by the fact that you
`can answer yes or no to whether the object is in the configuration.
`
`Speaking about car configuration, typical single objects that represent a
`physical part may be ABS-brakes, burglar alarm or air-condition.
`
`Typical Single objects that represent a feature may be metallic paint and
`leather trim. There are many kinds of both metallic paints and ordinary paints.
`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 leather trim.
`
`Speaking about computer configuration, typical single objects that represent a
`physical part may be software licences and documentation. Single objects that
`represent a feature may by load-device, network-connection and factory-
`installed-software.
`
`Object load-device means that a load-device exists in the configuration. it no
`load-device is present, no software can be loaded directly into the computer.
`
`____—._—_——————
`5.1.2
`Enum Objects
`
`Enum objects are, as the type-name says, 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 O to 15 additional 32Mb memory options.
`
`From car configuration hardly anything exists that naturally enumerates.
`Everything comes in a fixed number, e.g. 4 tires, 1 sunroof, 1 trim set etc.
`
`However, in telephone switchboard configuration almost any option can be
`enumerated such as lSDN-cards, analogue cards etc.
`
`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 usage of Single is preferred-due to clarity,
`
`16
`
`Objects of the type OneOf are objects whose elements exclude each other.
`lattes object is used to group a set of components from which you must select
`
`'
`'
`From car configuration typical OneOf ob'
`'
`,
`jects are engines, models, aints and
`trims. You must select exactly one of these objects. A OneOf objectintails
`more parts of the product, e.g. for the object engine it may be 5 different types
`of engines, which are the elements of the object.
`
`Models and monitors are good re resentatives of
`about computers.
`p
`
`'
`'
`OneOf objects speaking
`
`In telephone switchboard configurations OneOf options are seldom used.
`
`
`5.1.4
`
`AtmostOne Objects
`
`AtmostOne objects are objects where you can
`select one element at most.
`.
`_
`OthenNise, AtmostOne objects are similar to OneOf objects.
`.
`l
`.
`Facilmccar confitguratron the sunroof is a perfect illustration of the object type
`-
`an se ec among several sunroofs but ou do not have to sale
`you cannot select more than one.
`y
`of one, and
`
`A different usage of this object type is with aints. All aints are
`'
`Flowever, if the list of paints is huge then ygu might split the list lageser/gfafds-
`lists. If we split the car paints into metallic paints and ordinary paints instead of
`one OneOf object two AtmostOne objects should be made. Furthermore a
`constraint should be made to ensure that a paint has been chosen.
`’
`
`'
`'
`'
`From computer configuration asynchronous c
`ommunication options are
`.
`.
`_
`.
`feaSIble for this object type if you can select maximum one.
`
`In telephone switchboard configuration options are seldom used.
`
`17
`
`14
`
`

`

`salesPLUSTM
`
`5.1-5
`
`_
`TypeEnum ObIECtS
`
` '
`
`A
`+ B + C > 0
`.
`.
`.
`.
`in the Situation where none of the 3 objects IS chosen we choose to 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 then this
`fs in conflict with the above constraint.
`The inference engine then selects the largest set of default values, which can
`be assigned i.e. A and B get bound to O and C is left for the user to decide
`upon - but now the 0 value is not available for the user. This situation can be
`prevented bky not picging any default value for the three objects. The user will
`ave to ic some 0 ‘ects in such cases.
`p
`t
`Objects, which by the Knowledge Engineer are intended to be derived
`automatically, need no default value. E.g. the number of power cords is
`intended to be calculated from the number of boxes that is chosen. If a default
`value 2 for the power cords is instantiated, this forces the user to pick 2 boxes,
`x which Were Probably not intended.
`5.2
`Object Description
`
`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 arises if
`a constraint demands that you must select at least one of A, B or C:
`
`P
`
`.1
`
`As a conclusion all objects which represent a feature should have the default
`value omitted because they are usually governed by other object selections.
`
`
`5.4
`
`Object ID
`
`i
`
`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
`com onents that can be assembled.
`
`p
`
`Of course the ID can be used to access database information about the part
`and thereby give a description. This makes the manual typing of descriptions
`unnecessary for the objects.
`
`5.5
`
`Object Identifier
`
`The objects have ldentifiers. The identifier must obey some conventions
`because it is to be written in constraints. Imagine having an object named ”1 +
`2". This leads to ambiguous interpretation of a constraint. Therefore, operators,
`spaces and special characters are prohibited.
`
`ts an object
`,
`Objects of the type TypeEnum are, as the name of the type sugges
`which can be enumerated in some way and has a type assocnated.
`.
`.
`-
`-
`-
`b'ect with the
`The functlohailty 0f th‘S ObJGCt ‘5 the same as for the Enum o t
`additional feature Of the type.
`_————
`5.1.6
`Info Objects
`
`_
`_
`.
`Textual information is supported In the info ObieCtS- Texas are “3?: ttéfitzsrmg
`on informatiog on the protéuc't or5:526”gigggncznrtsbteojtlaietcsith meius as
`an associate
`OSI Ion an cons
`,
`wanted. The prtinted configuration guide often states the text to be displayed
`and its logical relative to the objects.
`.
`The text field name is used as the button name that opens the text display
`when activated. Info objects cannot be reasoned about by the COhStta'ht'
`
`,
`Each object has a name. The name is typically used as the hUttOh text 'h the
`user interface. There is no binding of this name in terms of 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 hOtd :1Eager edxplanation Of
`the object and Its purpose. For the objects 9f the type 0 _
`t
`in well
`ATMOSTONE the elements have an assomated descriptlon ex as
`'
`Graphical files (pictures) can be defined with each object or element. The
`pictures can be applied by the end-user application to 5Upp°tt the man—
`machine-interface in the interactive dialogue mm the user.
`
`#—
`5,3
`Default Values
`
`.
`To each object you can choose a default value among Its elements. In the user
`interface the default values can be instantiated 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
`become derived by the inference engine.
`
`18
`
`19
`
`15
`
`

`

`salesPLUSTM
`
`
`
`
`
`How to Use Resources
`
`Resources in the Beologic® salesPLUSTM are interpreted as features that relate
`to the product parts and that can be associated to some measure. The total of
`the individual parts resources describes the complete product. A typical
`example of a resource linked to the product parts is 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 has a unit attached which might be kg, Mwatts, seconds etc.
`Each resource has several connected attributes. These attributes are used to
`indicate:
`
`.
`-
`.
`
`If limits are possible on the resource
`It optimization is possible on the resource
`If the resource should be shown in a BOM list
`
`
`6.1
`
`Resource Types
`
`6.1.1
`
`Static Resources
`
`A static resource is a measure of an object that does not change very often.
`Often a resource is only chosen as static if the measure will not or hardly will
`change during the life time of the part. For example memory cards for
`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 used in constraints.
`
`21
`
`20
`
`16
`
`

`

`2:
`
`salesPLUSTM
`
`5-1-2
`
`Dynamic Resources
`.
`,
`.
`.
`,
`.
`A dynamnc resource Is a feature of objects that Will change often or Wthh IS
`accessed through an external database. The resource price may evidently
`change several times per year for most products. To cope with this change
`there is no need to edit anything with the salesPLUSTM Definer utilities. Instead
`the change can be incorporated by a salesPLUSTM import utility that takes a
`new price table and replaces the old one in the configuration data.
`
`The dynamic resource value can be changed at run—time. This provides the
`ability to cope with discounts.
`
`
`6.2
`Calculation Methods
`
`
`6.2.1
`
`Addition
`
`A resource that is calculated by Addition sums up the objects that are selected.
`If more from a domain is selected it will be multiplied. An example is the weight
`which is the sum of all the involved parts and if more than one of an object is
`chosen, the resource value associated to the object 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 example is delivery time that will be the longest of the
`involved parts, but will not differ if one or two of an object is chosen.
`
`
`6.3
`
`Limits and Optimlzation
`
`The resources can be given upper and lower limits during a session in
`Beologic® salesPLUSTM Customizer or another custom application using the
`API. This feature allows the end user to abstract from the actual objects and to
`select a required performance instead.
`
`A second feature of the resources is 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
`
`fl
`
`tool. For cars it is possible to state that at least 200 horse powers are needed
`and then ask the salesPLUSTM Customizerto minimize the price You can also
`state that YOU at most have $40,000 and then ask the salesPLUSTM
`Customizer to find the car with the maximum horse powers
`-
`
`23
`
`17
`
`

`

`)‘ salesPLUSTM
`
`24
`
`
`
`How to Make Constraints
`
`
`7.1
`Product Range Decomposition
`
`In the salesPLUSTM is it recommended to 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 maintenance simplicity, is it important that the number of constraints never
`becomes too 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 rules,
`but it is almost impossible for even skilled Knowledge Engineers to change the
`rules.
`f
`Before a release of configuration data, a test must be made to see if errors
`have been introduced into the configuration data. With the product range
`decomposed it is only necessary to test the altered products. If you have one
`big knowledge base, you might have introduced side effects. Therefore you
`must test the entire product range, which implies that new releases cannot be
`made on the fly.
`
`7.1.1
`
`Decomposition
`
`The decomposition of a product range can be outlined by several rules:
`-
`A printed user gui

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