throbber
CONFIGURATION
`
`T"
`
`
`
`(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 US. Code)
`
`A Configuration Tool to
`Increase Product
`Competitiveness
`
`Bei Yu and Hans Jurgen Skovgaard, Bonn Front Office Systems
`
`
`
`MANY COMPANIES NOWADAYS
`must rapidly develop and deliver products
`and product variants in a short time to meet
`increased customer demands and stiffer prod-
`uct competition. Product configuration (de-
`terminin g a set of components and their 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 solution that is right the first time.
`Current configuration tools have not met
`these challenges, for three main reasons:
`
`
`
`ensure configuration correctness—that is,
`100% accuracy on the valid configuration
`solutions;
`a They can’t handle product complexity
`well enough. Complicated product struc—
`0 develop an effective approach for han—
`tures with numerous relationships lead to
`dling configuration consistency;
`0 handle configuration constraints;
`the hard configuration problems. No real
`solutions exist yet for these problems——
`I overcome the limitations of product-
`that is, no approach to product configu-
`lcnowledge maintainability; and
`ration can significantly decrease product
`support the whole development of a con-
`complexity.
`figuration application—that is, product
`salesPLUS is based on the concept of mass
`0 They can’t support configuration mainte-
`modeling and configuration—without
`nance well enough. Although several the-
`requiring programming skill.
`customization—that is, product configuration
`
`lO94-7167/98/$10.00 © 1998 IEEE
`34
`
`THE SALESPL US PRODUCT- CONFIGURATION TOOL
`
`
`
`EFFECTIVELY SOLVES COMPLEX CONFIGURATION PROBLEMS, a
`REDUCING COSTS WHILE MEETING CUSTOMER EXPECTATIONS
`
`
`IN REAL- WORLD APPLICATIONS.
`
`e.
`
`oretical approaches are available, they are
`impractical, because of the limitations of
`time, computer speed, memory, and so on.
`I They can’t maintain product knowledge
`well enough. Some maintenance tech—
`niques in existing configuration tools are
`also expensive and time-consuming.
`
`The salesPLUS1 tool can handle the com—
`
`plexities of product configuration, with highly
`efficient inference-engine peiformance and
`application maintainability. This commercial
`AI-based system effectively and intuitively
`models and configures products. It effectively
`produces and maintains consistent, accurate
`configurations that meet customer demands
`while significantly reducing costs.
`
`The sulesPlllS system
`
`
`
`
`
`generates customized solutions based on a
`stande product or product model.2 It adopts
`the computer-support-assistant philosophy:
`it is an assistant interacting with the user.3 The
`goal of using an AI—based approach was not
`superior performance, because the algorith-
`mic system staits out from a precompiled rep—
`resentation and is, as expected, several times
`faster, but maintenance savings.4 The main
`objectives of salesPLUS are to
`
`0
`
`0
`
`IEEEINTELLIGENT mung)
`
`CONFIGIT 1006
`
`CONFIGIT 1006
`
`1
`
`

`

`
`
`Product Information
`
`Final product to be sold
`
`,K
`\H
`Conli—g_uiation
`
`Modeling Product model--
`
`
`Figure l. The configurulion-design process.
`
`Types of objects. As part of the selection
`process during configuration, an object might
`involve an option that is 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:
`
`or several elements at a time. They are
`typically used when you have a 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.
`0 Time objects resemble Single objects.
`The only difference is that
`they are
`FALSE until 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 model releases.
`Info objects support textual informa-
`tion. The text passes information on the
`product or some components to the user.
`
`0
`
`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 programming the solu-
`tion. There are three kinds of constraints:
`
`0 Single objects have no fixed relations
`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].
`0 Interval objects let you can divide a
`numeric range into a rillmber of consec-
`utive nonoverlapping subintervals. With
`these objects, you can reason about the
`interval, not the exact value.
`0 Oneof objects have mutually exclusive
`elements. They are used to group a set of
`components from which one must be
`selected.
`.
`0 AtMostOne objects let you select one
`element at most. Otherwise, they are sim-
`ilar to OneOf objects.
`0 AnyOf objects let you select no elements
`
`
`
`
`
`
`
`
`For the whole life cycle of product de—
`velopment, configuration consists of two
`aspects: configuration design and configu~
`ration maintenance.5 Configuration design
`deals with creating configuration solutions;
`it involves selecting elements and the ways of
`configuring them. Configuration mainte-
`nance deals with maintaining a consistent
`configuration under change; this involves the
`consistency among the selected elements and
`decisions. When a decision for selected ele-
`
`ments changes, configuration maintenance
`must trace all the decisions that are related
`
`to the changed decision and revise them, if
`necessary, to maintain consistency among the
`elements and decisions.
`
`salesPLUS divides configuration design
`into two stages: product modeling and con-
`figuration (see Figure l). The product-
`modeling stage defines the product model
`and the classification (assortment) of prod—
`ucts and parts by means of the 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 product specification, a
`sales order, or a parts list 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
`approach that involves fewer, more intuitive
`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-
`PLUS helps 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.
`
`Product modeling. A product model incor-
`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
`
`
`
`,
`
`User
`
`selections
`
`End-user
`application—PC
`
`
`
`of several submodels; for example, a train
`Cousists of several cars. Objects might vary
`End-user application—Customized
`from physical parts (such as a screw), to sub—
`
`assemblies (for example, a speaker), to whole
`products (perhaps a car radio system).
`Figure 2. A configurulion scenario in salesPLUS.
`
`35
` JUlY/AUGUST 1998
`
`2
`
`

`

`
`
`logic constraints, arithmetic constraints, and
`warning constraints.
`Logic constraints control the combination
`of objects, thus stating which selections are
`legal and which are illegal. The operators
`allowed are the classical ones from proposi—
`tional logic, with the traditional operator
`hierarchy: NOT, AND, OR I XOR, and —)
`(implication) [ <—) (bi-implication). The con—
`stants TRUE and FALSE can also be used.
`
`The system also allows many special opera—
`tors having a comma—separated list of vari—
`ables as arguments. Such operators are short—
`hand for complicated logic expressions:
`
`0 Allequal (The elements must be either
`all TRUE or all FALSE.)
`0 Oneof (There must be exactly one TRUE
`element.)
`0 AtMostOne (There must at most be one
`TRUE element.)
`0 AtLeastOne (There must at least be
`one TRUE element.)
`Impossible (The elements cannot all
`be TRUE.)
`
`0
`
`set physical
`constraints
`Arithmetic
`(numerical) limits—for example, for deter—
`mining the power supply or the length of a
`train car. The operators allowed are 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 means that 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.
`
`be used as references for complex pricing
`structures or additional information.
`
`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 important for an inte—
`grated development environment; moduliz-
`ing a large product into manageable modules
`can reduce product complexity.
`
`The configuration process. During config-
`uration, salesPLUS makes a series of selec—
`tions based on the customer and design
`requirements, and maintains consistency
`between the selected elements and decisions.
`
`Some significant features of this process are
`
`Order-free selection. Unlike a decision—tree—
`based configuration, configuration decision
`making in salesPLUS is order-free. In other
`words, the user can start from any selection,
`in any order. This feature gives the user a lot
`of freedom to carry out configuration, com-
`pared to decision—tree or specific selection—
`dependency rules.
`
`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 on select-
`ing objects.
`
`Optimization. salesPLUS has built—in opti-
`mization 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 horsepower is needed and then ask sales-
`PLUS to minimize the price.
`
`Default values. The user can set up a default
`value for his or her own reasons. During con-
`figuration, the user sets up these default values
`and salesPLUS inferences other values, based
`on the constraints. If the user decides that the
`
`default values will depend on other selections
`made later during configuration, he or she can
`define a set of conditional default objects that
`can be governed through constraints.
`
`
`
`
`
`inevitable. In salesPLUS, a user can change
`his or her decisions without worrying about
`the configuration’s consistency.
`
`System architecture. salesPLUS consists 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
`means of 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 process is
`interactive, to satisfy specific customer needs
`and requirements.~The result of the user’s
`selections and the system’s subsequent con—
`clusions is a specific configuration solution.
`Solutions can be printed, saved, or exported
`to other product-development tools.
`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—
`gramming interface) links application—inter-
`face modules such as the Definer and Cus-
`
`tomizer with the Kernel. Also, by accessing
`a number of kernel functions through the
`API, users can easily add new user-interface
`features to the Customizer or even develop
`new user interfaces.
`
`The user—friendly interface at 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 over the Internet,
`using the same model created through the
`Definer.
`
`A product-configuration too] should be
`able to build a feature—rich product, should
`be based on an open architecture, and should
`easily integrate with other enterplise appli—
`cations. We’ve achieved this in salesPLUS
`
`
`
`
`
`Some objects are measured by quantity,
`through product modulization and the incor—
`which can be assessed. Typical resources for
`such objects are product price, manufactur—
`poration of well—defined integration points.
`This minimizes the effort required to imple—
`ing cost, power, space, and delivery time.
`ment the product in almost any environment.
`Resources are typically referenced in exter-
`nal tables, fixed or online, because they
`For example, We’ve developed an add-in
`change often—for example, price lists,
`interface to support customers’ special
`Freedom to make changes. In configuration,
`needs.
`which vary per country. Database links can
`changes of previous choices are typical and
`
`IEEE INTELLIGENT SYSTEMS
`36
`
`3
`
`

`

`
`
`
`
`
`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 change a selection, and this 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 informs the user that these selections will
`be affected and must be reselected to meet the
`
`change requirements. The user can decide
`which altematives from the selection list must
`be reselected. Once the user decides to redo
`
`selections, the system eases the relevant bound
`variables in 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.8 This mechanism has been successfully
`applied to propositional logic in a finite
`domain.
`
`During compilation, salesPLUS compiles
`the product model with constraints to create
`several truth tables. In array—based logic, any
`propositional form is transformed into a truth
`table in binary-array form. The mathematical
`properties of
`logical arrays
`allow the
`execution of any logical inference through just
`three primitive array operations: outer prod-
`uct, generalized transposition, and reduction.
`These operations can be implemented effec-
`tively by using the com—puter instructions
`AND, OR, and XOR on 32 bit-words, thereby
`achieving parallel processing.
`In addition, the compiler preprocesses the
`product model such that it contains truth
`tables in compressed—array form, including
`attached information such as resources. Dur—
`
`
`
`ing runtime the configuration process takes
`advantage of the already compiled informa-
`plexity. This kind of problem leads to a large
`or two seconds; this limit is independent of
`search space for solutions. Although some
`tion. Referencing the truth table at runtime
`the platform. In our experience, the more
`lets the configuration engine deduce all the
`algorithms such as forward-checking perform
`selections the user makes, the less time the
`consequences faster than would an engine
`better
`than traditional backtracking ap-
`
`37
`.llllY/AUGUST 1998
`
`inference engine design. The inference
`engine’s objective is to handle constraints
`such that c01rect configuration solutions can
`be derived as quickly as possible. It is an
`effective constraint-based problem solver
`with our patented technology6 that enables
`the entire system to carry out complicated
`product configuration in an effective time.
`During configuration, avoiding situations
`where selections contradict each other is very
`important. Some configuration systems have
`addressed this inconsistency issue, using dif—
`ferent approaches. Our inference engine
`uniquely ensures such consistency early in
`the decision-making stage—that is, it can
`reason with incomplete information within
`a guaranteed response time.
`For example, assume that there are two
`constraints, “A —) B or C” and “B or C —) D.”
`If we know that A is true, we can directly
`deduce D to be true without knowing the val-
`ues of B and C. In many configuration sys—
`tems, however, D cannot be 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 cause a conflict.
`
`Many systems handle this problem by
`informing the user that a contradiction exists
`and displaying the conflicted constraints. The
`user must handle the problem, either by using
`backtracking or by adding another constraint,
`“A —) D,” to avoid the conflict. Nevertheless,
`applying backtracking will result in time—
`consuming configuration, and adding a new
`constraint will lead to redundant constraints
`
`that are not directly linked to the product,
`thus complicating maintenance.
`The salesPLUS inference engine, in con-
`trast, can avoid poor performance and redun-
`dam-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.
`
`Complete deduction. A configuration prob-
`lem is NP-hard; that is, it grows exponentially
`in time with the complexity of the product to
`be configured. The number of product ele-
`ments, the various constraints, and the prod-
`uot model’s level of detail cause this com-
`
`
`
`proaches, time efficiency is still a problem.7
`Complete deduction uses constraint-satis-
`faction—problem technology with time effi-
`ciency. This approach starts with a set of vari-
`ables with domains and a set of constraints
`
`among these variables. Then, when the user
`makes a 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 sequential steps:
`
`(1) Propagation—making all the relevant
`constraints and examining their conse—
`quences, based on the configuration.
`(2) Determination of solvability—evaluat—
`ing each undetermined selection option
`to see whether a corresponding config-
`uration solution 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 of solutions by pruning inconsistent
`selection choices from the selection space.
`The number of the basic steps that com-
`plete deduction carries out depends on 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 much as possible 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
`control to the user when that time limit expires.
`It can then run as a background process until
`the user interacts with the system.
`A suitable time limit should be around one
`
`
`
`
`
`=0
`
`4
`
`

`

`
`
`
`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 marine trim.
`Models with beige or green paints cannot be ordered with puma trim.
`Cars with the Turbo engine must be ordered with ABS brakes.
`A sunroof cannot be ordered for Cabriolets.
`The delivery times are 14 days for the Saab 900, 21 days for the Cabriolet, and 35
`days for the Turbo Cabriolet.
`Either air bag, or ABS brakes, or both should be selected.
`
`
`
`TFFE’TmPS-T’P???
`
`J:
`(a)
`
`NEW: Leather_Trimée Trims[Leather_Contour] OR
`TrimsILeather_Suede]; "Subgrouping of leather trim
`types"
`NEW: Leather_Trim++ Trimcolor[Pamir] OR
`TrimColor[Buffalo]; ”Subgrouping of leather trim
`color"
`IMPOSSIBLE(AirCondition, Auto_AirCon);
`A:
`B- Models[Turbo_Cabriolet —+ Engine[turbo] AND
`Metallicpaints AND Leather_Trim AND Cruise_Control;
`C&D: Models[Cabriolet]—+ Engine[e21i] AND NOT
`TrimColortMarine];
`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;
`G:
`H: Modelleabriolet] OR ModelsITurbo_Csbriolet] —+ NOT
`Sunroof;
`NEW: MetallicPaints OR StandardPaints; ”You must pick one
`type of paint"
`Delivery_Time == 14 * Models[Saab_900] + 21 *
`Models[Cabriolet] + 35 * ModelstTurbo_Cahriolet];
`21's) WARNING (NOT Air_Ba.g AND NOT ABS__Brskes);
`
`
`E:
`
`I:
`
`
`
`J
`
`
`
`.
`
`Figure 4. Saab configuration constraints at the (a) application level and (b) system level.
`
`Color of the type OneOf.
`o 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.
`o The available metallic paints are citrin
`beige, platana grey, le mans blue, scarabe
`green, and monte carlo yellow. They are
`declared as one object Metallic—
`Paints of the type AtMostOne.
`o The object Leather_Trim groups the
`objects that are related to leather features
`such as trim and trim color. It is declared
`
`as an object of the type Single.
`0 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, and Accessories 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 some sys-
`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 Models of the type
`object identifiers. Only a few new extra con—
`OneOf.
`straints have been added to represent the
`. The four engines are the 2.0i, 2.1i, 2.08,
`and Turbo. They are declared as one whole meaning of the constraints at the appli-
`object Engine of the type Oneof .
`cation level. The system—level constraints are
`o The available accessories are automatic
`intuitive and very readable.
`gearbox, ABS brakes, air bag, air-condi-
`Figure 5 shows the Saab objects and con-
`tioning, audio system, automatic air—con-
`straints using the Definer.
`ditioning, electric mirrors and windows,
`Saab configuration. Figure 6 shows the sta-
`and cruise control. These are declared as
`tus of the Saab configuration process through
`eight objects of the type Single.
`the Customizer. The user can decide the lay-
`0 The available sunroofs are manual steel,
`out of the selection interface when creating
`electric steel, and electric glass. They are
`the product model with the Definer. The sys-
`declared as one object Sunroof of the
`tern makes deductions for selection based on
`type AtMostOne.
`the constraints, corresponding to the user
`0 The available trims are velour jet-tuff
`decisions. Selections can be made by the user
`horizon, velour pique parallel, leather
`(the light-green checks in Figure 6) or by
`contour, and leather suede contour. They
`Model object and resource declarations.
`the system (the dark—green checks). The
`are declared as one object Trims of the
`First, modeling engineers declare objects
`resources are calculated and updated simul—
`type OneOf .
`through the Definer.
`taneously while decisions on selections are
`o The available trim colors are labrador,
`.
`being made. System functions such as reset,
`.marine, puma, angora, buffalo, and pamir.
`0 The three models are the Saab 900, Cabri-
`olet, and Turbo Cabriolet. They are
`They are declared as one object Trim— default, undo, andfinish let the user carry out
`
`38 IEEE INTELLIGENT SYSTEMS
`
`that merely goes through a list of program—
`ming steps.
`
`CCII' configuration Wil'h
`sulesPLIlS
`
`Now let’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 menu positioning, 1]), but-
`ton names, descriptions, object IDs, and
`languages.
`
`
`
`
`
`
`
`5
`
`

`

`configuration without worrying about con—
`figuration correctness and consistency.
`
`BASED ON OUR ACHlEVEMENTS
`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 product will 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 in a
`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-
`development stages. E
`
`References
`
`1. HI. 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]. MacCallum, “Does Intelligent CAD
`Exist?” Artificial Intelligence in Eng. , Vol. 5,
`No. 2, Apr. 1990, PP. 55—64.
`
`4. CJ. 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.
`
`
`
`,
`t
`
`Aulnmlnn gurimx
`ABE Broken
`Alr an:
`Air Cnnnliinn
`Audio Syuirrn
`Autumn“: Aireon
`Electric mlmirn
`Cruise Guntrnl
`€51 Plinll
`Merrill: Paint:
`‘ gBinnfleniPaints
`.
`Mnlll Faint Mn
`Trim Cnlnr
`Luther Trim
`49:) Men-Inne- It Denial
`
`anmrllrnlhgj‘canlouiiqfi Tnm|[LIIthq_LSuld
`’
`7
`Luther Trim 0 TnmCol
`‘
`7 fr j: -
`W
`Mntnl PliniT I v MItIiiiePeimu
`Moduli Turhn Orbitalet
`> E
`Inn luihn AND MIlIllIcPainil AND Luther Trim AND 0mm
`
`Envlnoturtin -> ABE Evlknl
`V
`MndnlnCabrtuill on Mndnl-Turhu Clbrioint NOTroni‘ '
`Wlmin NOT Air Bn- and NOT ABS Baku
`MIlIlllcPalnlI xor SilndlrdPIintI
`new. Timon-H'MndIIISAAB 9m +21 'Mndeil abdol +35‘Mndli Tilt-11..
`IMPOSSIBLE Air Condiilon Auto AhCen
`
`,
`
`,
`
`7
`
`.
`
`_
`_
`
`
`
`
`
`Figure 6. Saab configuration, using the salesPLUS Customiier.
`
`7. M. Shanahan and R. Southwick, Search,
`Inference and Dependencies in Artificial
`Intelligence, Ellis Horwood Ltd., Chichester,
`UK, 1988.
`
`8. G. Muller, “On the Technology of Array—
`based Logic,” PhD Thesis, Technical Univ.
`of Denmark, Dept. of Electric Power Eng.,
`Lyngby, Denmark, 1995.
`
`
`
`Hans Jorgen Skovgaard is the vice president for
`configuration development at Baan Front Office
`System NS and is 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 engineer at the Configuration
`Competence Centre, Baan Front Office Systems.
`solvers and declarative language design. He
`received his BSc in electronic engineering from
`She has been doing research in product configu-
`ration since l992. Her research interests include
`Odense Polytechnic, Denmark, and his MSc in
`product modeling, the configuration process, con—
`artificial intelligence from University of Edin-
`figuration technology, and artificial intelligence.
`burgh, Scotland. Contact him at Baan Front Office
`She received her BSc in computer science and PhD
`Systems, Horkaer 12A, DK—273O Herlev, Copen-
`5. G. Moller, “Signal Processing Apparatus and
`Method," Patent W0 90/9001, 1989.
`hagen, Denmark; hjskovgaard@baan.com.
`in product configuration from the University of
`
`39
`JULY/AUGUST i998
`
`StIathclyde, Scotland. Contact her at Baan Front
`Office Systems, Hnrkaer 12A, DK-2730 Herlev,
`Copenhagen, Denmark; byu@baan.com.
`
`
`
`
`
`6
`
`

`

`
`
`
`
`
`
`
`
`
`Two successful applications of solesPlllS
`
`salesPLUS has 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 two real-
`world applications.
`
`Audiovisual-system configuration
`
`Bang & Olufsen manufactures high—end consumer audiovisual
`equipment (FigureA 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-
`ber of universities and other European organizations, B&O developed
`the initial concepts behind salesPLUS,
`
`The problems. B&O’s audiovisual systems suffered from product
`complexity. This led to a long delivery time and lower dealer loyalty
`because of fear of market competition. Dealers could not handle the
`configuration complexity in the short delivery time that customers
`demanded. Also, order errors were normal; dealers usually sold incom-
`patible components or were missing components. The transportation
`and resupply costs associated with these err

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