Title: Products:
1Chapter 9
- Products
- Representation, Design and Customization
Stand 20.12.00
2Recommended Reference
- The algorithms are presented in this chapter in
some detail. Further information can be found in
the following original literature - Stahl, A., Bergmann, R. Schmitt, S. (2000). A
Customization Approach for Structured Products in
Electronic Shops. 13th Bled Electronic Commerce
Conference. - Schmitt, S. Bergmann, R. (1999). Applying
case-based reasoning technology for product
selection and customization in electronic
commerce environments. 12th Bled Electronic
Commerce Conference. - Bergmann, R. Vollrath, I. (1999). Generalized
cases Representation and steps towards efficient
similarity assessment. In W. Burgard, Th.
Christaller A. B. Cremers (Hrsg.) KI-99
Advances in Artificial Intelligence, Lecture
Notes in Artificial Intelligence, 1701, Springer,
195-206.
3Products
- We understand products as the objects which are
demanded by the customer and sold by the
supplier. - The concept of a product cover a wide range
- Technical devices (PCs, cars, video recorders,
.... - Natural objects (plants, food, animals,...)
- Real estate, houses,...
- Events (concerts,...), Travel, ...
- Services (insurance's, financial advice, ...)
- etc.
- The supplier may products have some on stock,
others may have to be designed or modified by the
supplier and again others may have to be ordered
from other suppliers.
4General Description Aspects
- Products have in general two descriptions
- one for the customer
- one for the supplier
- The description for the supplier is mainly
intended - to identify the product
- to design the product
- The descriptions uses attributes, properties etc.
- Technical products (but others too) are objects
which are a (possibly complex) composition of
atomic parts. Between the parts certain
constraints are defined.
5Representation of Products
- Representation in the form of frames and frame
hierarchies - The most important relations are (see chapters 4
and 5) - Is-a-relation More spezial - more general,
including an inheritance mechanism - Instantiation Class - Instance
- The part-of-relation between components
- Constraints between components (hard and weak
constraints) - Components have an inner structure and
connections to the outside represented by port
variables (constraints are defined between them) - We have complex components and atomic components
which cannot be decomposed. - Between components the relation direct
subcomponent is defined
6Decomposition of Products
Product
The decomposition into parts is often necessary
to meet customer requirements
Some questions can only be answered on the level
of parts.
7Functionalities (1)
- A functionality is the ability to carry out one
or more intended functions, e.g. - to drive, show a movie, play music,...
- A product (e.g. a machine or a technical device)
realizes a functionality if it is able to carry
out the intended functions. - Functionalities are again described in two ways
- for the customer
- for the supplier
- The description is about what the functionality
is and how it has to be performed (quality
aspects). Both are usually expressed in terms of
constraints.
8Products and Functionalities (2)
- Devices and machines
- Concrete (e.g. technical as cars or manufacturing
machines) - Abstract (e.g. finite automata, computer
programs) - Component-orientation (static) Is interested in
the structure of machines, their configuration
etc. - Process-orientation (dynamic) Is interested in
the processes running on the machine e.g.
organization, correctness, resources, values of
parameters, etc. Here, it is the process for
which we need the product, not the process during
which the product is produced. - Reminder Processes are (partially ordered) sets
of actions - Both aspects can be considered interleaved as
well as completely independent of each other.
9Products and Functionalities (3)
- Many products which are not technical devices
share their basic properties, in particular the
component orientation. - Examples are travel offers and real estate
objects. - Their functionality is not given as directly
described processes (like nice holidays) but
indirectly in terms of constraints. - The task is to find an optimal composition of
components with respect to the (hard or weak)
constraints.
10Decomposition of Functionalities (1)
Functionality
Decomposition
- Decomposition of functionalities is often
necessary because not one single product can
realize a functionality. - The decomposition terminates if realization is
possible or it is clear that no realization can
take place. - Termination happens always at atomic actions but
possibly earlier.
11Decomposition of Functionalities (2)
- Example Decomposition of the complex function
build a house - Find a lot
- Select an architect
- Select companies for construction, electricity,
roofs, .... - Get a loan from a bank
- Make appropriate insurances
- etc.
- These functions are not only different but
carried out by different companies. - A portal can be provided from a company which
organizes the search in such a way that the
customer has nothing to do with it. Compare also
chapter 14.
12Products Realize Functionalities
General product
functionality
Object class Printer Company String Price Number
realizes
Object class Printing
taxonomy
Object class laser printer Superclass Printer
Object class colour printer Superclass Printer
Object class ink injection printer Superclass
Printer
instances
Object instance BestPr Company Miller Price
1200
Object instance WonderPr Company Mayer Price
1600
Subclasses and instances are chosen according to
customer utilities
13Description by Semantic Nets
- Labeled Graph
- Node labels
- Demands (for products, for functionalities) and
some properties - Products and some properties
- Edge labels
- Product-product relations (first net)
- Demand-demand relations (second net)
- Demand-product relations (third net)
- See chapter 5
14The Net Labels (1) Products
- Product relations domain knowledge (and general
knowledge about customers) - Unary relations (properties, at the nodes)
- is available, has to be configured...
- Binary relations
- Part-of, kind-of, needs, improves, constraints
between properties and parameters of products ...
15The Net Labels (2) Functionalities as Demands
- Functionality relations Domain knowledge and
customer preferences - Unary relations (properties, at the nodes)
- technical data, intended utilities
- Binary relations (at the edges)
- part-of, kind-of, equivalence, is usually wanted
both by the customer, is usually not wanted
together by the customer, dependencies (and
functionality requires another one as
precondition or makes it necessary as a
consequence)...
16The Net Labels (3) Products as Demands
- Products required by demands do not necessarily
exist, they are wishes in the first place - Unary relations Desired technical data, quality
properties, price, ... - Binary relations Is usually wanted both by the
customer, is usually not wanted together by the
customer, ...
17The Net Labels (4) Products and Functionalities
- Labels at the edges
- Products P realizes functionality F
- total or partial realization (other parts needed
?) - quality degrees according to listed utilities
- possible constraints
- Link to other products that satisfy F too
18Language Levels (1)
- The language in order to describe products has
two dimensions - Product orientation or functionality orientation
- Level of details (see chapter 5)
- Product orientation
- What are the products, e.g. MS Word, MS
Powerpoint, Framemaker,... - Levels of details e.g. available fonts, ...
- Functionality orientation
- Produce letters,, overhead slides, animation,
.... - Levels of details e.g. Business letters,
standard letters, documents with special
graphics,...
19Language Levels (2)
- There is no unique language level, the choice
depends on the purpose - internal uses of the supplier
- external uses for customers
- According to the demands and the level of
experience of the customer different language are
appropriate. - Consequences
- Products should have a complete description with
all details and a location in the hierarchies - There should be selected suggestions for certain
language levels which often occur.
20Customization
- Many shops do not further support customers
after the retrieval step One can only select a
product. - This excludes parameterizable or configurable
products They are not directly available as
demanded but could after some work (adaptation or
configuration) still be delivered.This work is
called Customization (we mainly use the term to
denote adaptation). - Customization takes always place with respect to
the query and requires domain knowledge. - Similarity based retrieval and customization have
to be combined.
21The Continuum of Products
- 1) Fixed Products
- Product customization impossible
- Examples books, CDs, integrated circuits, etc.
- 2) Parameterizeable Products
- Limited customization capabilities
- Examples color of products, date and duration of
vacations - 3) Configurable Products
- Various customization capabilities
- Example complex technical systems (e.g., PCs),
- financial or insurance products
Complexity of Customization
22Approaches to Customization
Method
Products
Knowledge Needs
parametrizable productsfew variants few
dependencies
rule-based transformation (Bergmann Wilke, 1996)
products customization rules
parametrizable products few variants few
dependencies
operator-based transformation (Bergmann 1998
Schmitt Bergmann, 1999)
products customization operators
configurable products many variants many
dependencies
component knowledgedependenciescontrol knowledge
knowledge-based configuration (Günter et al.,
1995-1998)
configurable products many variants many
dependencies
component knowledgedependenciescontrol cases
analogy-based configuration(Pfitzner 1993
Schumacher, 1998)
configurable products many variants many
dependencies
component knowledgedependencies prototype
configurations
compositional adaptation (Smyth, 1998 Stahl
Bergmann, 2000)
products including variant descriptions
parametrizable products many variants many
dependencies
generalized cases (Bergmann Vollrath, 1999-2000)
23Transformational ApproachesBasic Notions
- We define the terms problem, solution, and
quality - P problem space (queries, possibly infinite)
- S solution space (products, possibly infinite)
- Q P x S R total function, called quality
function R totally ordered set of quality
values (typically set of real numbers) - No assumption about the structure of P or S.
- Q assigns a quality value to each (problem,
solution) pair - Quality can stand for appropriateness, utility,
degree of correctness, ... - Quality is a more fine-grained correctness
measure than just correct / incorrect
- 4 -
24Problem Solving Task
solution s
Problem p
System
- Goal of problem solving given a problem p
(customers wish) determine a solution sÎS such
that holds. - Q contains the whole specification of the problem
solving task. - Looks like an optimization task !
- But Q is not completely known !
- 5 -
25Example
- Sales support for PC
- Problem Space set of possible combinations of
requirements, e.g., P 2 Textprocessing, Games,
Music,... - Solution Space set of possible PC
configurations,e.g., S 2 xyz-mainboard, 4.3GB
Harddisk,... - Quality function
- Note Q is not completely known, e.g. because of
- special offers
- special prices for pre-configured PCs
- 6 -
26Adaptation Operators (1)
- A case is a triple c(p,s,q) Î P x S x R C
- A case base is a finite set of cases
CBc1,c2,...,cn Ì C - A case c(p,s,q) is sound w.r.t. a quality
function Q iff qQ(p,s) holds. - Cases with different quality can be distinguished
- The change of quality through adaptation can be
captured
- 7 -
27Adaptation Operators (2)
- An adaptation operator a is a partial function
a C C, i.e., a transforms a case into a
successor case. - The adaptation changes the product and its
quality . - The adaptation container A is a set of adaptation
operators A a1, a2 ,... . - An adaptation operator a is sound w.r.t. Q iff
for all c,cÎC holds if a(c)c and c is sound
then c is sound.
28Example (cont.)
- Adaptation operator a1 If you add 4.3 GB hard
disk space, then the PC will fulfill the
requirements of database applications and the
price will increase by 985 DM.a1(p,s,q) (p È
DB-Applics, s È 4.3 GB hard disk, q-985)
- 9 -
29Adaptation Process
- Current problem p
- Retrieved case cR Î CB
- Adaptation transforms cR into the adapted case
cA by applying adaptation operators from A cA
an ... a1(cR) - We write
- If the case base and the adaptation container
are sound w.r.t. Q, then every adapted case is
also sound w.r.t. Q.
- 10 -
30Correctness and Completeness
- A CBR system has only restricted knowledge about
Q - the case base CB
- adaptation container A.
- Correctness A CBR system always produces the
best solutions it can produce w.r.t. its
knowledge about Q - Completeness A CBR system produces a solution
to a problem if one exists on the basis of its
knowledge about Q
- 11 -
31Discussion of Completeness and Correctness
Properties
- Correctness and completeness are desirable
properties for a CBR system. - For pure case retrieval systems we usually
require completeness and correctness (retrieve
most similar case). - BUT impossible with adaptation deciding whether
a solution exists w.r.t. to CB and A is
undecideable in the general case. - How to deal with this
- Find relaxed version of completeness and
correctness, e.g. like in PAC learning. - User-controlled adaptation
- 14 -
32What about Similarity ?
- Similarity measure should
- select adaptable cases and
- select the best case for adaptation
- All knowledge is already contained in CB and A !
- Similarity measure contains compiled knowledge
from A. - A similarity measure sim P x C 0..1 is
correct iff - there exists a bijective monotonous function f R
0..1 and - sim(p,c)
- 15 -
33Customization Operators
- Product customization process divided into units
of changes - Operator Unit of Change
- Customer chooses which changes to make
influences
influences
changes
34Example for the Customization Process
Fishing Trip
Customized Fishing Trip
35Adaptation Operator Representation
- Name
- Precondition
- Parameters
- Parameter Condition
- Action
- Reference Class
36Application Area
- Product categories
- unchangeable products,
- e.g., ICs, etc.
- products with few changeable features,
- e.g., vacations, cars, etc.
- products with many changeable features,
- e.g., computers, networks, design tasks, etc.
- Adaptation Operators only for
- configurable products in general
- products without many possibilities for
modifications - products with low interaction
37Example Domain Electro-Mechanical Components
- Testbed for the Customization Module
- The Electronic Product Catalog
- Catalog contents thousands of electro-mechanical
components and devices - floating and magnetic switches, level controls,
liquid level indicators, moisture detectors for
cooling ceilings, etc. - Expert knowledge for product selection needed
- Catalog supported by CBR Technology
- ESPRIT Project SMARTSELL
- Many product variation possibilities
- length, diameters, (mandatory) accessories, etc.
38Example Domain Level Measure Device
TSK
MWU
DisplayInstrument
Transducer
screw-in nippel
Customer canchoose length
float
SKG
Liquid LevelTransmitter
Switching Unitfor Signals
39System Architecture
CLIENT
Customization GUI
Customization Client
XML
XML
TCP/IP
TCP/IP
Internet Server 2
Controlling Service with Cases
SERVER
Customization Server
Server GUI
Internet Server 1
Operator DB
Operator DB Service
Authoring Tool
XML
40Communication between the Components
Controlling Service
System
OOCCL
- OOCCL ORENGE Operator Customization Client
Language - OOCSL ORENGE Operator Customization Service
Language - OOOML ORENGE Operator Object Markup Language
Customization Client
OOCSL
Operator DB
OOOML
Customization Server
41Example Domain Customization Activation
?
?
?
42Compositional Adaptation (1)
- Configuration problems can be described through a
decomposition problem
Overall problem (e.g., the configuration of a PC)
Complex sub-problems (e.g., the configuration of
a sub-system)
Atomic sub-problems (e.g., the selection of a
component)
Dependencies between sub-problems (e.g.,
compatibility between components)
Goal Effective solving of such a problem
43Compositional Adaptation (2)
- 1) Retrieve a solution for the complete
configuration problem -
- 2) Determine still unsolved sub-problem
- 3) Retrieve suitable sub-solution
- 4) Try to integrate this sub-solution into the
overall solution -
- 5) Repeat 2) - 4) until a solution for the
overall - problem is obtained
- Basic idea Implement product customization
(resp. adaptation) of highly structured products
(resp. cases) again similarity-based!
44Compositional Adaptation (3)
Problem
Solution
Final Solution
45Compositional Adaptation for Product
Configuration (I)
- Basic assumptions
- Existence of two different bases
- 1) pre-configured base-products
- 2) single components
- Availability of a constraint propagation system
- used for the definition of domain dependent
constraints - is able to validate the consistency of a
generated solution - The configuration problem (i.e. the query) is
described by an incomplete product description
46Compositional Adaptation Product Configuration
(II)
Constraints
Adaptation Cycle
47Example PC Configuration
Query
Case
Component Exchange
48The Customization Problem
- The customization problem can be characterized as
a combination of two different problems - 1) Constraint Satisfaction Problem
- Finding of a consistent product, i.e., a product
that fulfills all - technical restrictions
- 2) Optimization Problem
- Finding of a product that matches the customer
demands as - well as possible
- Goal Maximization of the similarity between
the product - and the query
49Controlling the Adaptation Process
- The adaptation cycle realizes a hillclimbing
approach - every adaptation step navigates in the solution
space - the similarity measure represents a kind of
quality function - the adaptation order plays an important role
- Two basic approaches
- 1) Preservation of consistency
- The result of every adaptation step is a
consistent product - 2) Temporary loss of consistency
- Constraint violations between adaptation steps
are allowed - better configuration results
- but significant higher computation effort
50Implementation
51Generalized Cases
- Motivated by design reuse applications
- Cases are descriptions of previous designs
- Nowadays EE designs are made for a range of
problems - Example design of an n-bit adder unit, with n
1...64
traditionalcases
generalizedcases
Solution
Solution
Extensionof view
Problem
Problem
52Definition of Generalized Cases
Solution Space
Problem Space
- Definitions
- A traditional (point) case
- A generalized case
Semantics gc is equivalent to the set of
individual cases i.e.,
- Remarks
- gc is an abbreviation for a set of closely
related cases - gc should have a compact representation
53Different Kinds of Generalized Cases
- Constant Solution GCSet of problems P with same
solution s, i.e., - Functional Solution GCSet of problems
with solution f(p), i.e., - Independent Alternative Solution GCSet of
problems P with a set of alternative solutions
Si.e.,
S
P
P
54Similarity Measures
- Assumption
- Available similarity measure sim for point
cases - Definition
- Canonical extension of sim for generalized
cases sim -
S
S
gc1
c1
CanonicalExtension
gc2
sim
sim
c2
P
P
q
q
55Equivalence
CBR System withTraditional Cases
CBR System withGeneralized Cases
Case Base
Case Base
Similarity Measure
Similarity Measure
- Case with same solution
- is retrieved
q
q
56Selecting Solutions
Generalizedcase
Pointcase
Retrieve
Select
Reuse
- Definition
- Canonical selection of point cases
- from generalized case gc
- for a query q and
- similarity measure sim
- Select most similar point cases from generalized
case
Select step is a kind of adaptation
57Representing Generalized Cases
- Compact representation is essential for
generalized cases - (Just enumerating the elements is not useful)
- Goal
- compression of the representation of the case set
- encode case specific adaptation knowledge
- simplify storage of generalized cases
- enable similarity assessment
- Basic assumption Attribute-Value-Representation
- Problem Space n problem attributes
- Solution Space m solution attributes
- Query
- Case
58Hyperrectangles Representation
- Representing cases as nm dimensional
hyperrectangles - Very simple representation independent set for
each attrib. - Selection not necessary
- Simple and efficient similarity measures
- the canonical extension ofis
Subsets,Intervals
Subsets,Intervals
Local Similarity Measures
Monotonic aggregation
Canonical extension of local similarity
59Representation with Constraints
- Extended representation as follows
- Constraints between problem and solution
variables - Example
auxiliary vars
Set of Constraints
Bounding Box
P2
d
3
c
Constraints Area
b
1
Bounding Box
P1
a
3
1
60Similarity Assessment
P2
sim ³ sim ³ sim
- Using the bounding box for similarity assessment
- Similarity to bounding box is easy to compute(
Hyperrectangles Rep.) - Only estimation of similarity!!
sim
q
gc
P1
- Constraint satisfaction techniques in special
situations - Assign query values to problem space variables in
constraints - Apply CS to find consistent values for auxiliary
and solution variables - If Successful canonical selection performed by
CS, exact similarity can be determined - Works only if query completely falls in the
generalized case !
61Application Domain IP Reuse
- Intellectual Properties (IPs) in Electronic
Engineering - Skill of the designer
- Redesign would consume significant time
- Reuse avoids reinventing the wheel
- IPs developed for a design space rather than for
a fixed design - Reuse difficult No Intelligent Support
- IP Representation
- Measures describe general IP properties
- gate count, power dissipation, latency, maximum
clock frequency - Application specific parameters describe the IP
function - e.g. frequency, bus width, ...
- Design space parameters unique to a specific
implementation - e.g. number of pipeline stages, degree of
parallelism, ... - Design Design Synthesis Information Parameters
- e.g. reference technology, scripts for synthesis
tools, ...
62Example IP
- Example Discrete Cosine Transformation (e.g.
used for MPEG-2) - Design Design Synthesis information scripts
for synthesis tool - Parameters f frequency a area
w width s subword - Constraints
63Design Space of the example IP
64Representation of IPs
- Generalized Cases
- Combine all parameter combinations to one single
case - Constraints
- Express the complex dependencies between the
design parameters - Constraints represent case specific knowledge
- Store constraints within the case
65A Tool to Support Interactive Selection
66Advantages of Generalized Cases
- Representation of experience that naturally
covers a space - Turn several traditional cases into a single
generalized case - Means for representing case-specific adaptation
knowledgeTraditional case Adaptation Knowledge
Generalized case - Integration with traditional cases in a single
case base
67Summary
- The representation issues of objects are
concerned with products, functionalities and the
relations between them. - Adaptation is done by adaptation operators are
composed to an adaptation process. - Product configuration needs also operators.
- The algorithms make use of monotonic aggregation
functions and perform a local optimization. - Generalized cases combine many cases which then
can be treated in a uniform way. - Major examples are complex technical devices.