throbber
CONFIGURATION
`
`(cid:3) (cid:55)(cid:75)(cid:76)(cid:86)(cid:3)(cid:80)(cid:68)(cid:87)(cid:72)(cid:85)(cid:76)(cid:68)(cid:79)(cid:3)(cid:80)(cid:68)(cid:92)(cid:3)(cid:69)(cid:72)(cid:3)(cid:83)(cid:85)(cid:82)(cid:87)(cid:72)(cid:70)(cid:87)(cid:72)(cid:71)(cid:3)(cid:69)(cid:92)(cid:3)(cid:38)(cid:82)(cid:83)(cid:92)(cid:85)(cid:76)(cid:74)(cid:75)(cid:87)(cid:3)(cid:79)(cid:68)(cid:90)(cid:3)(cid:11)(cid:55)(cid:76)(cid:87)(cid:79)(cid:72)(cid:3)(cid:20)(cid:26)(cid:3)(cid:56)(cid:17)(cid:54)(cid:17)(cid:3)(cid:38)(cid:82)(cid:71)(cid:72)(cid:12)(cid:3)
`This material may be protected by Copyright law (Title 17 U.S. Code)
`
`
`
`4
`
`A Configuration Tool to
`Increase Product
`Competitiveness
`
`Bei Yu and Hans Jorgen Skovgaard, Baan Front Office Systems
`
`
`
`nance well enough. Althoughseveralthe-
`
`Many COMPANIES NOWADAYS
`
`must rapidly develop and deliver products
`and productvariants in a short time to meet
`increased customer demandsandstiffer prod-
`uct competition, Product configuration (de-
`termining a set of components andtheir rela-
`tionships, and composing them into a product
`that satisfies customer requirements and
`design constraints) therefore faces the prob-
`lem of quickly providing these variants with-
`out incurring high costs.
`:
`However, modern products have become
`increasingly complicated, incorporating many
`different technologies. Incorrect configura-
`tion solutions will inevitably require correc-
`tions and lead to high costs. So, product con-
`figuration also faces the challenge of de-
`livering a solutionthatis rightthe first time.
`Current configuration tools have not met
`these challenges, for three main reasons:
`
`e They can’t handle product complexity
`well enough. Complicated productstruc-
`tures with numerousrelationships lead to
`the hard configuration problems. Noreal
`solutions exist yet for these problems—
`that is, no approach to product configu-
`ration can significantly decrease product
`complexity.
`e They can’t support configuration mainte-
`
`customization—thatis, product configuration
`
`oretical approachesare available, they are
`impractical, becauseof the limitations of
`time, computer speed, memory,and so on.
`® They can’t maintain product knowledge
`well enough. Some maintenance tech-
`niquesin existing configuration toolsare
`also expensive and time-consuming.
`
`The salesPLUS! tool can handle the com-
`
`plexities of product configuration, with highly
`efficient inference-engine performance and
`application maintainability. This commercial
`Al-based system effectively and intuitively
`models and configures products. It effectively
`produces and maintainsconsistent, accurate
`configurations that meet customer demands
`while significantly reducing costs.
`
`The salesPLUS system
`
`salesPLUSis based on the concept of mass
`
`THE SALESPLUS PRODUCT-CONFIGURATION TOOL
`
`EFFECTIVELY SOLVES COMPLEX CONFIGURATION PROBLEMS,
`REDUCING COSTS WHILE MEETING CUSTOMER EXPECTATIONS
`
`a
`
`IN REAL-WORLD APPLICATIONS.
`
`
`
`generates customized solutions based on a
`standard productor product model.” It adopts
`the computer-support-assistant philosophy:
`it is an assistantinteracting with the user.* The
`goal of using an AJ-based approach was not
`superior performance, becausethe algorith-
`mic system starts out from a precompiled rep-
`resentation and is, as expected, several times
`faster, but maintenance savings.* The main
`objectives of salesPLUSare to
`
`e
`
`ensure configuration correctness—thatis,
`100% accuracy on the valid configuration
`solutions;
`e develop an effective approach for han-
`dling configuration consistency;
`e handle configuration constraints;
`e overcome the limitations of product-
`knowledge maintainability; and
`support the whole developmentof a con-
`figuration application—thatis, product
`modeling and configuration—without
`requiring programming skill.
`

`
`
`
`34
`
`1094-7167/98/$ 10.00 © 1998 IEEE IEEEINTELLIGENTsia
`
`CONFIGIT 1006
`
`CONFIGIT 1006
`
`1
`
`

`

`
`
`
`
`
`
`Product information
`
`Final product to be sold
`
`Modeling Product model
`
`
`a
`of
`Configuration
`
`Figure 1. The configuration-design process.
`
`Types of objects. As part of the selection
`process during configuration, an object might
`involve an option thatis yes or no, is a fixed
`number, or is an interval. Or, it might have a
`list of options where none,one,at least one,
`or several of the options must be picked.
`Accordingly, objects fall into these types:
`
`e Single objects have no fixedrelations
`or multiple instances. These objects have
`a selection option of yes or no.
`® Enum objects can be enumerated and
`stated in a range—for example,[0..32].
`e Interval objects let you can divide a
`numeric range into a fumber of consec-
`utive nonoverlapping subintervals. With
`these objects, you can reason about the
`interval, not the exact value.
`® OneOf objects have mutually exclusive
`elements. They are used to groupa set of
`components from which one must be
`selected.
`‘
`® AtMostOne objects let you select one
`elementat most. Otherwise, they are sim-
`ilar to OneOEF objects.
`e AnyOf objects let you select no elements
`
`or several elements at a time. They are
`typically used when you havea set of
`options that can be selected individually.
`AnyOf objects are usually used in rather
`compact presentations or for a logical
`grouping of items in the product model.
`® Timeobjects resemble Single objects.
`The only difference'is that
`they are
`FALSEuntil a specified activation time,
`after which time they obtain the value
`TRUE. You can use Time objects, for
`example, to compensate for the asyn-
`chronous aspect of product events and
`product modelreleases.
`Info objects support textual informa-
`tion. The text passes information on the
`product or some componentsto the user.
`
`e
`
`Constraints. In salesPLUS,the relationships
`between objects in the product model, as well
`as design requirements,are constraints. The
`constraints deal with only the contents of the
`product model problem,not the computa-
`tional aspects. Thus, they deal only with stat-
`ing the problem,not programmingthe solu-
`tion. There are three kinds of constraints:
`
`
`
`For the whole life cycle of product de-
`velopment, configuration consists of two
`aspects: configuration design and configu-
`ration maintenance.” Configuration design
`deals with creating configuration solutions;
`itinvolvesselecting elements and the ways of
`configuring them. Configuration mainte~-
`nance deals with maintaining a consistent
`configuration under change;this involves the
`consistency amongthe selected elements and
`decisions. When a decisionfor selected ele-
`ments changes, configuration maintenance
`rusttrace all the decisionsthat are related
`to the changed decision and revise them,if
`necessary, to maintain consistency among the
`elements and decisions.
`salesPLUSdivides configuration design
`into two stages: product modeling and con-
`figuration (see Figure 1). The product-
`modeling stage defines the product model
`and the classification (assortment) of prod-
`ucts and parts by meansofthe objects, prop-
`erties, allowable property domain, and con-
`straints. The configuration stage creates a
`specific product instance or variant based on
`that model. This configuration solution can
`be represented as a productspecification, a
`sales order, or a partslist or bill of materials.
`salesPLUS incorporates configuration
`maintenance into the product-modeling and
`configuration stages. For configuration main-
`tenance,the systems uses a constraint-based
`approachthat involves fewer, moreintuitive
`constraints. It performs problem-solving to
`ensure that configuration is consistent and
`correct.
`
`Figure 2 gives a scenario for product con-
`figuration in salesPLUS. First, based on
`product
`information, salesPLUS creates
`product models. Then, through computer
`compilation, the system prepares the prod-
`uct models for configuration. Next, sales-
`PLUShelps the end user, who might be a
`designer, a sales engineer, or even a cus-
`tomer, make decisions on configuration
`details. Finally, it generates the configuration
`solutions.
`
`
`
`Seeey End-user application-Web
`
`
`
`
`
` User
`selections
`
`
` pe” End-user
`
`application-PC
`
` Product
`
`models
`
`
`
` End-user application—Customized
`
`Product modeling. A product modelincor-
`porates all the information that represents
`products or services. This information is
`encapsulated in objects, which involve re-
`Sources and constraints. A model can consist
`of several submodels; for example, a train
`consists of several cars. Objects might vary
`from physical parts (such as a screw), to sub-
`assemblies (for example, a speaker), to whole
`Figure 2. A configuration scenarioin salesPLUS.
`products (perhapsa car radio system).
`
` JULY/AUGUST 1998
`35
`
`2
`
`

`

`
`
`structures or additional information.
`
`inevitable. In salesPLUS, a user can change
`his or her decisions without worrying about
`the configuration’s consistency.
`
`System architecture. salesPLUSconsists of
`four primary modules (see Figure 3).
`The Definer generates a product model
`that declares the relationships between ele-
`ments and constraints. With the Definer,
`modeling engineers model a product by
`meansof a set of objects with constraints. It
`has facilities for checking the model’s con-
`sistency, for simulating and running the end-
`user application, and for creating the inter-
`face for carrying out configuration.
`The Customizer carries out configuration
`based on the product model. This processis
`interactive, to satisfy specific customer needs
`and requirements.-The result of the user’s
`selections and the system’s subsequent con-
`clusionsis a specific configuration soluticn.
`Solutions can be printed, saved, or exported
`to other product-developmenttools.
`The Kernel holds an internal representa-
`tion of the product models and contains the
`heart of the system: the inference engine,
`which ensures configuration consistency and
`correctness. We’ll discuss the engine in more
`detail in the next section.
`The salesPLUS API (application pro-
`gramminginterface) links application-inter-
`face modules such as the Definer and Cus-
`
`
`IEEE INTELLIGENT SYSTEMS
`which vary per country. Database links can be used as references for complex pricing
`changesof previous choices are typical and
`
`logic constraints, arithmetic constraints, and
`warning constraints.
`Logic constraints control the combination
`of objects, thus stating which selections are
`legal and whichare illegal. The operators
`allowedare the classical ones from proposi-
`tional logic, with the traditional operator
`hierarchy: NOT, AND, OR | XOR, and >
`(implication) | < (bi-implication). The con-
`stants TRUE and FALSEcanalso be used.
`The system also allows many special opera-
`tors having a comma-separatedlist of vari-
`ables as arguments. Such operators are short-
`hand for complicated logic expressions:
`
`e Allequal (The elements must be either
`all TRUEor all FALSE.)
`® OneOf (There must be exactly one TRUE
`element.)
`e AtMostoOne(There mustat most be one
`TRUEelement.)
`e AtLeastOne (There mustat least be
`one TRUEelement.)
`Impossible (The elements cannotall
`be TRUE.)
`
`e
`
`set physical
`constraints
`Arithmetic
`(numerical) limits—for example, for deter-
`mining the power supply or the length of a
`train car. The operators allowedare the clas-
`sical ones from mathematics, + (addition), —
`(subtraction), and * (multiplication); and one
`of these comparison operators: == (equal
`[compare]), >= (greater than or equal to), <=
`(less than or equal to), > (greater than), or <
`(less than).
`Warning constraints can be violated with-
`out being fatal to the product configuration.
`Their violation meansthat you are in a very
`special situation and must be careful. For
`example, a computer has no network con-
`nection but still works. However, in most
`cases, the computer must be able to commu-
`nicate with other computer systems.
`
`Resources. An object may have a number
`of references, as basic data, to other data
`relations, business rules, and graphical] user
`interface elements. These references are
`resources.
`
`Some objects are measured by quantity,
`which can be assessed. Typical resources for
`such objects are product price, manufactur-
`ing cost, power, space, and delivery time.
`Resourcesare typically referenced in exter-
`nal tables, fixed or online, because they
`change often—for example, price lists,
`
`36
`
`Product modulization. This methodology has
`recently become a hot topic in research and
`practice. As a configuration-support tool,
`salesPLUS supports modulization of prod-
`ucts into models and submodels. Engineers
`can work separately on the submodels. These
`submodels can then be linked into a whole
`product model. This is importantfor an inte-
`grated development environment; moduliz-
`ing a large product into manageable modules
`can reduce product complexity.
`
`The configuration process. During config-
`uration, salesPLUS makesa series of selec-
`tions based on the customer and design
`requirements, and maintains consistency
`betweenthe selected elements and decisions.
`Somesignificant features of this process are
`
`Order-free selection. Unlike a decision-tree-
`based configuration, configuration decision
`making in salesPLUSis order-free. In other
`words, the user can start from anyselection,
`in any order. This feature gives the usera lot
`of freedom to carry out configuration, com-
`pared to decision-tree or specific selection-
`dependencyrules.
`
`Limits. Resources can be given upper and
`lower limits during configuration. This fea-
`ture lets the end user focus on needs (behav-
`iors and performance), rather than onselect-
`ing objects.
`
`Optimization. salesPLUShas built-in opti-
`tization facilities. Both minimization and
`maximization are possible. The combination
`of limits and optimization makes salesPLUS
`very powerful. For car configuration, for
`example, the end user can state that at least
`200 horsepoweris needed and thenask sales-
`PLUSto minimize theprice.
`
`Default values. The user can set up a default
`value for his or her own reasons. During con-
`figuration,the usersets up these default values
`and salesPLUSinferences other values, based
`on the constraints. If the user decidesthatthe
`default values will dependon otherselections
`made later during configuration, he or she can
`define a set of conditional default objects that
`can be governed through constraints.
`
`Freedom to make changes. In configuration,
`
`tomizer with the Kernel. Also, by accessing
`a numberof kernel functions through the
`API, users can easily add new user-interface
`features to the Customizer or even develop
`new user interfaces.
`
`Theuser-friendly interfaceat the configu-
`ration stage is a purely data-driven interface
`based on product models. That is, when prod-
`uct models change, salesPLUS automatically
`creates an updated user interface based on
`the changed models. In addition, salesPLUS
`can support configuration overthe Internet,
`using the same model created through the
`Definer.
`A product-configuration tool should be
`able to build a feature-rich product, should
`be based on an openarchitecture, and should
`easily integrate with other enterprise appll-
`cations. We’ve achieved this in salesPLUS
`through product modulization and the incor-
`poration of well-defined integration points.
`This minimizesthe effort required to imple-
`ment the productin almost any environment.
`For example, we’ve developed an add-in
`interface to support customers’ special
`needs.
`
`3
`
`

`

`37
` proaches,timeefficiencyisstill a problem.’
`selections the user makes,the less time the
`
`During compilation, salesPLUS compiles
`the product model with constraints to create
`several truth tables. In array-based logic, any
`propositional form is transformedinto a truth
`table in binary-array form. The mathematical
`properties of
`logical arrays
`allow the
`execution of anylogical inference throughjust
`three primitive array operations: outer prod-
`uct, generalized transposition, and reduction.
`These operations can be implementedeffec-
`tively by using the com-puter instructions
`AND, OR, and XOR on 32 bit-words, thereby
`Complete deduction. A configuration prob-
`achieving parallel processing.
`lem is NP-hard;thatis, it grows exponentially
`In addition, the compiler preprocesses the
`in time with the complexity ofthe productto
`product model such that it contains truth
`be configured. The numberof productele-
`tables in compressed-array form, including
`attached information such as resources. Dur-
`ments, the various constraints, and the prod-
`uct model’s level of detail cause this com-
`ing runtime the configuration process takes
`plexity. This kind of problem leadsto a large
`advantage of the already compiled informa-
`tion. Referencing the truth table at runtime
`Search space for solutions. Although some
`algorithms suchas forward-checking perform
`lets the configuration engine deduceall the
`better
`than traditional backtracking ap-
`consequencesfaster than would an engine
`
`
`Inference engine design. The inference
`engine’s objective is to handle constraints
`suchthat correct configuration solutions can
`be derived as quickly as possible. It is an
`effective constraint-based problem solver
`with our patented technology®that enables
`the entire system to carry out complicated
`product configurationin aneffective time.
`During configuration, avoiding situations
`whereselections contradict each otheris very
`important. Some configuration systems have
`addressed this inconsistencyissue, using dif-
`ferent approaches. Our inference engine
`uniquely ensures such consistency early in
`the decision-making stage—thatis, it can
`reason with incomplete information within
`a guaranteed responsetime.
`For example, assumethat there are two
`constraints, “A > Bor C’ and “Bor C > D.”
`If we know that A is true, we can directly
`deduce D to be true without knowingthe val-
`ues of B and C. In manyconfiguration sys-
`tems, however, D cannotbe inferred directly
`through the two separated constraints. This
`situation might cause inconsistency because
`it lets the user assign D. If, for example, we
`assign D to be false, the next evaluation of B
`or C will causea conflict.
`
`Many systems handle this problem by
`informingthe userthat a contradiction exists
`and displaying the conflicted constraints. The
`user must handle the problem,either by using
`backtracking or by adding anotherconstraint,
`“A — D,’to avoid the conflict. Nevertheless,
`applying backtracking will result in time-
`consuming configuration, and adding a new
`constraint will lead to redundantconstraints
`
`that are not directly linked to the product,
`thus complicating maintenance.
`The salesPLUSinference engine, in con-
`trast, can avoid poor performance and redun-
`dant-constraints maintenance while ensuring
`proper configuration. To provide configura-
`tion consistency and correctness,it employs
`complete deduction, graceful degradation,
`dynamic consistency maintenance, and
`Boolean constraint handling.
`
`JULY/AUGUST 1998
`
`
`
`
`
`Figure 3. The salesPLUS system architecture.
`
`inference engine needs to deduce the con-
`clusions, because the configuration solution
`space shrinks during configuration.
`
`Dynamic consistency maintenance.If the user
`tries to changea selection,andthis change will
`negatively affect the configuration’s consis-
`tency, the system gives a warning.If the user
`continues with the change, the system pro-
`vides a list of selections that have been made
`
`that relate to the selection to be changed. This
`list informsthe user that these selections will
`be affected and mustbe reselected to meet the
`
`change requirements. The user can decide
`whichalternatives from the selectionlist must
`be reselected. Once the user decides to redo
`
`selections, the system eases the relevant bound
`variablesin the constraints.
`
`Boolean constraint handling. The inference
`engine’s power comes from the unique
`Boolean constraint-handling mechanism—
`that is, binary array-based logic mathemat-
`ics.’ This mechanism hasbeen successfully
`applied to propositional logic in a finite
`domain.
`
`Complete deduction uses constraint-satis-
`faction-problem technology with timeeffi-
`ciency. This approachstarts with a set of vari-
`ables with domains and a set of constraints
`
`amongthese variables. Then, whenthe user
`makesa configuration decision,it determines
`the current valid configuration solution space
`without violating the given constraints.
`Complete deduction consists of a series of
`algorithms with increasing time complexity.
`These algorithms work together to carry out
`three basic sequentialsteps:
`
`(1) Propagation—makingall the relevant
`constraints and examining their conse-
`quences, based on the configuration.
`(2) Determination of solvability—evaluat-
`ing each undeterminedselection option
`to see whether a corresponding config-
`urationsolution exists.
`
`(3) Completion—guaranteeing that all
`possible consequences have been
`determined.
`
`This approach,in a sense, maintains con-
`figuration consistency by ensuring a valid
`configuration solution space in the runtime
`environment. In other words, selections are
`bound,in a shrinking configuration solution
`space, toward solutions while configuration
`progresses. This approach guarantees the cor-
`rectness ofsolutions by pruning inconsistent
`selection choices from the selection space.
`The numberof the basic steps that com-
`plete deduction carries out dependson three
`factors: the specified maximum allowed time
`(see the next section), the product’s com-
`plexity, and the computer’s speed.
`
`Graceful degradation. When a problem is
`NP-hard, the inference engine might take
`longer than desired to establish all the con-
`sequences. So, to assist the user, the engine
`employs graceful degradation:
`it tries to
`deduce as muchaspossible in a time frame
`given by the user. This method gives the user
`more control over configuration.
`To specify the time frame, the user specifies
`the MaxTime time-limit parameter when
`invoking the engine. The engine will then give
`controlto the user whenthattimelimit expires.
`It can then runas a background processuntil
`the user interacts with the system.
`A suitable time limit should be around one
`
`or two seconds; this limit is independent of
`the platform. In our experience, the more
`
` =
`
`4
`
`

`

`
`
`
`
`Car configuration with
`salesPLUS
`
`Nowlet’s look at a specific application of
`salesPLUS. The configuration problem is
`from the 900 series models of 1992 Saab
`
`automobiles. We'll consider the objects
`and constraints in depth. We’ve omitted some
`issues related to the Definer’s graphical
`interface, such as menupositioning, ID, but-
`ton names, descriptions, object IDs, and
`languages.
`
`Modelobject and resource declarations.
`First, modeling engineers declare objects
`through the Definer.
`

`
`Thethree modelsare the Saab 900, Cabri-
`olet, and Turbo Cabriolet. They are
`
`Thefour enginesare the 2.0i, 2.11, 2.08,
`and Turbo. They are declared as one
`object Engineofthe type OneOf.
`The available accessories are automatic
`gearbox, ABS brakes,air bag, air-condi-
`tioning, audio system, automatic air-con-
`ditioning, electric mirrors and windows,
`and cruise control. These are declared as
`
`They are declared as one object Trim-
`
`eight objects of the type Single.
`The available sunroofs are manual steel,
`electric steel, and electric glass. They are
`declared as one object Sunroof of the
`type AtMostOne.
`The available trims are velour jet-tuff
`horizon, velour pique parallel, leather
`contour, and leather suede contour. They
`are declared as one object Trimsof the
`type OneOf.
`The available trim colors are labrador,
`‘marine, puma, angora, buffalo, and pamir.
`
`Saab configuration. Figure 6 showsthe sta-
`tus of the Saab configuration process through
`the Customizer. The user can decide the lay-
`out of the selection interface when creating
`the product model with the Definer. The sys-
`tem makes deductionsfor selection based on
`
`the constraints, corresponding to the user
`decisions. Selections can be made bythe user
`(the light-green checks in Figure 6) or by
`the system (the dark-green checks), The
`resources are calculated and updated simul-
`taneously while decisions on selections are
`being made. System functions such as reset,
`default, undo, andfinishlet the user carry out
`
`
`
`
` =
`
`THEOMMOwa
`
`It is impossible to have both air-conditioning and automatic air-conditioning.
`The Turbo Cabriolet comes with the Turbo engine, metallic paint, leather trim, and
`cruise control,
`An ordinary Cabriolet comes with the 2.1-liter engine.
`Ordinary Cabriolets cannot have the trim color marine.
`Models with red, grey, or green paints cannot be ordered with marinetrim.
`Modelswith beige or green paints cannot be ordered with pumatrim.
`Cars with the Turbo engine must be ordered with ABS brakes.
`: Asunroof cannot be ordered for Cabriolets.
`Thedelivery times are 14 days for the Saab 900, 21 days for the Cabriolet, and 35
`daysfor the Turbo Cabriolet.
`—_9—
`Either air bag, or ABS brakes, or both'should beselected.
`
`NEW:
`
`Leather_Trime Trims[Leather_Contour] OR
`Trims {LeatherSuede]; “Subgrouping of leather trim
`types”
`: Leather_Trim© TrimColor[Pamir] OR
`TrimColor [Buffalo]; “Subgrouping of leather trim
`color”
`IMPOSSIBLE(AirCondition, Auto_AirCon);
`A:
`B: Modela[(Turbo_Cabriolet — Engine[turbo] AND
`MetallicPaints AND Leather_Trim AND Cruise_Control;
`C&D: Models[(Cabriolet] > Engine[e21i] AND NOT
`TrimColor [Marine] ;
`StandardPaints[Cherry_Red] OR
`StandardPaints[Tallaga_Red] OR
`MetallicPaints[Citrin_Beige] OR
`MetallicPaints[Scarabe_green] — NOT
`TrimColor [Marine] ;
`F: MetallicPaints[(Citrin_Beige] OR
`MetallicPaints [Platana_Grey] — NOT TrimColor [Puma] ;
`Engine [turbo] — ABS_Brakes;
`Models [Cabriolet] OR Models[Turbo_Cabriolet] — NOT
`Sunroof;
`NEW: MetallicPaints OR StandardPaints; “You must pick one
`type of paint”
`Delivery_Time == 14 * Models[Saab_900] + 21 *
`Models[Cabriolet] + 35 * Models (Turbo_Cabriolet};
`WARNING (NOT AirBag AND NOT ABSBrakes);
`
`E:
`
`G:
`
`I:
`
`Js
`(b)
`
`Figure 4. Saub configuration constraints at the (a) application level and (b) system level.
`
`
`
`Colorofthe type OneOEF.
`e The available standard paints are cirrus
`white, black, embassy blue, cherry red,
`and talladega red. They are declared as
`one object StandardPaints of the
`type AtMostOne.
`e The available metallic paints are citrin
`beige, platanagrey, le mansblue, scarabe
`green, and monte carlo yellow. They are
`declared as one object Metallic~
`Paints of the type AtMostOne.
`e The object Leather_Trim groupsthe
`objects that are related to leather features
`such as trim and trim color. It is declared
`
`as an object of the type Single.
`e An object that does not relate to physical
`items is Delivery_Time. It is declared
`as an object of the type Enum.
`
`Several resources are declared in a
`database form. The declared resources
`are Price, Weight, and Horsepower.
`The declared menus are Accessories,
`Trims, Paints, andAccessories at
`Dealer.
`
`Configuration constraints. Figure 4a shows
`some application-level constraints for Saab
`configuration. The application-level con-
`straints can be interpreted into the system-
`level constraints. Figure 4b shows somesys-
`tem-level constraints.
`
`Note the almost one-to-one correspon-
`dence between the written guidelines (the
`application-level constraints) and the system-
`level constraints. These constraints use the
`declared as an object Modes ofthe type
`that merely goes throughalist of program-
`OneOf£.
`object identifiers. Only a few new extra con-
`ming steps.
`straints have been added to represent the
`whole meaningof the constraints at the appli-
`cation level. The system-level constraints are
`intuitive and very readable.
`Figure 5 shows the Saab objects and con-
`straints using the Definer.
`
`IEEE INTELLIGENT SYSTEMS
`38
`
`5
`
`

`

`Hen] Accessories
`Automatic gearbox
`AGS Brakea
`Alr Gag
`Alr Condition
`oY
`Autila System
`
`|StanderdPainte|CherryRed]ORStenderdPainie[TallagaRed]ORMetalicPainte[CitrinBe.|
`Autamatte Aircon
`Electrle mirrora
`;
`Grutee Control
`
`[Werning(NOTAi,BagandNOTABSBrakes)
`MalallicPaints xor StandardPainte
`Yh
`|
`Standard Paints
`Delivery Time == 14 * Models[SAAB_900] +21" Models[Cabfiolel] +35 *Modele[TurhoCab...
`Metalllc Palnta
`IMPOSSIBLE (Ait_Condition, Auto Alcon
`Matal Paint type
`
`|
`
`Tam Color
`Leather Tein
`
`
`
`
`
`
`
`configuration without worrying about con-
`figuration correctness and consistency.
`
`Base ON OUR ACHIEVEMENTS
`
`with salesPLUS (see the sidebar for two
`other successful applications), we plan to
`continue our research into computer-sup-
`ported product development. We’ll enhance
`the problem-solving ability and system func-
`tionality of salesPLUS, to cope with various
`configuration problems throughout product
`development. Our productwill be a solution
`that can cover a wider range of applications,
`spanning from front-office business to back-
`end engineering. Our goal is to make the con-
`figuration system an integrated solution ina
`common product-development environment.
`Toward that end, our next step will be to
`emphasize system and data integration, so
`that product information and solutions can
`be shared, exchanged, and applied among
`different tools in the individual product-
`developmentstages. A
`
`References
`
`1. HJ. Skovgaard, “A New Approach to Prod-
`uct Configuration,” Proc.ilce ’95: Third Int’l
`Conf. Integrated Logistics & Concurrent
`Eng., 1995, pp. 197-204.
`
`2. B. Victor and A. Boynton, Invented Here:
`Maximizing Your Organization’s Internal
`Growth and Profitability, Harvard Business
`School Press, Boston, 1998.
`
`3. K.J. MacCallum, “Does Intelligent CAD
`Exist?” Artificial Intelligencein Eng., Vol.5,
`No,2, Apr. 1990, pp. 55-64.
`
`4, C.J. Thornton and B. du Boulay, Artificial
`Intelligence through Search, Kluwer Acade-
`mic Publishers, Dordrecht, The Netherlands,
`1992.
`.
`
`5. B. Yu, “A Virtual Configuration Workbench
`for Product Development,” PhD Thesis, Univ.
`of Strathclyde, Dept. of Design, Manufacture,
`and Eng. Management, Glasgow, Scotland,
`1996.
`
`Figure 6. Saab configuration, using the salesPLUS Customizer.
`
`7. M. Shanahan and R. Southwick, Search,
`Inference and Dependencies in Artificial
`Intelligence, Ellis HorwoodLtd., Chichester,
`UK, 1988.
`
`Strathclyde, Scotland. Contact her at Baan Front
`Office Systems, Harker 12A, DK-2730 Herlev,
`Copenhagen, Denmark; byu @baan.com.
`
`8. G. Moller, “On the Technology of Array-
`based Logic,” PhD Thesis, Technical Univ.
`of Denmark, Dept. of Electric Power Eng.,
`Lyngby, Denmark, 1995.
`
`
`
`
`
`Hans Jérgen Skovgaardis the vice president for
`configuration development at Baan Front Office
`System A/S andis the chief architect on the con-
`figuration product salesPLUS, with whose devel-
`opment he has been involved since 1990. His
`research interests include black-box constraint
`Bei Yu is a research engineerat the Configuration
`Competence Centre, Baan Front Office Systems.
`solvers and declarative language design. He
`received his BScin electronic engineering from
`She has been doing research in product configu-
`ration since 1992. Her research interests include
`Odense Polytechnic, Denmark, and his MScin
`product modeling, the configuration process, con-
`artificial intelligence from University of Edin-
`figuration technology, andartificial intelligence.
`burgh, Scotland. Contact him at Baan FrontOffice
`6. G. Maller, “Signal Processing Apparatus and
`Shereceived her BSc in computer science and PhD
`Systems, Hgrker 12A, DK-2730 Herlev, Copen-
`Method,” Patent WO 90/9001, 1989.
`hagen, Denmark; hjskovgaard@baan.com.
`in product configuration from the University of
`
`JULYAUGUST 1998
`39
`
`6
`
`

`

`
`
`
`
`
`
`Theresults. B&O’s implementation of salesPLUShas directly and
`indirectly produced these improvements:
`
`e Average speaker sales have increased from 2.1 to 2.8 per system.
`e Errors in orders have decreased by 4%, saving $5,6 million per
`year.
`e Electronic distribution of sales and product documentation through
`salePLUShas saved more than $300,000 per year.
`Theuse of service personnel has decreased, saving more than
`$130,000.
`e Stock levels have decreased from $50 million to $12.5 million.
`e Education days have decreased from 5,000 to approximately 2,500
`peryear.
`e Total sales have increased, reflecting higher dealer loyalty.
`
`*
`
`Futureplans. The system has been enhanced into a multimedia config-
`uration andsales tool and will soon be launchedasan interactive sell-
`
`ing tool. Thatis, the customerwill be able to directly access the system
`to configure his or her products. Also, B&O plans direct electronic
`transmission of information suchasbills of materials from sales-order
`
`
`
`
`
`Two successful applications of salesPLUS
`
`salesPLUShas been successfully applied to many applications, such
`as the discrete manufacturing of pumps,robots, and vehicles; telecom-
`munications; and high-tech services. We'll now focus on tworeal-
`world applications.
`
`Audiovisual-system configuration
`
`Bang & Olufsen manufactures high-end consumer audiovisual
`equipment (Figure A shows an example). Their products are marketed
`globally by approximately 1,500 prequalified retail outlets. Their 1996
`turnover was approximately $450 million. In cooperation with a num-
`berof universities and

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