<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>I. Simonson. Determinants of Customer's
Responses to Customized Offers: Conceptual Framework
and Research Propositions. Stanford GSB Working Paper
No.</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>What makes the Difference? - Basic Characteristics of Configuration</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Lothar Hotz</string-name>
          <email>hotz@informatik.uni-hamburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>HITeC e.V., University of Hamburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1794</year>
      </pub-date>
      <volume>2003</volume>
      <issue>1794</issue>
      <fpage>29</fpage>
      <lpage>30</lpage>
      <abstract>
        <p>This paper focuses on configuration as a process that iteratively applies commonly known reasoning techniques and creates an incrementally growing configuration description. This approach emphasizes the synthesis aspect of configuration, which continuously acquires requirements and computes their effects on a configuration in a cyclic way. We provide the definitions of needed ingredients as there are partial configuration, configuration decision, and reasoning for computing entailments of made configuration decisions. These ingredients are the basis for implementations of configuration systems that follow these approach.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Configuration is the task of composing a valid system
description from known component definitions ( configuration
model) and customer requirements. Typical configuration
approaches map this task to reasoning techniques such as
constraint solving [Sabin and Freuder, 1996; John, 2002],
Description Logics [McGuinness, 2003], or Answer Set
Programming [Soininen et al., 2001]. Through this mapping,
appropriate reasoners solve the configuration task by computing
a solution of their respective logical reasoning problems.</p>
      <p>These approaches make a fundamental assumption, i.e.
that the requirements of the configuration task can be
initially given, e.g., through a a set of requirements – see also
[Sabin and Weigel, 1998] which call this approach batch
configuration . But for many, not simple, configuration tasks
this does not hold [Neumann, 1988; Stumptner et al., 1998;
Fleischanderl et al., 1998]. This is due to the fact, that
only during the configuration experience, when the
configured product grows in front of the user’s eye, the user realizes
their own desires and needs [Simonson, 2003]. For example,
during a sales conversation, if a requirement causes the need
of a subsystem, previously not recognized, additional
requirements come into account that are related to the subsystem.
Thus, the requirements are not completely clear in the
beginning but change during the configuration undertaking.
Simple examples are web-based configurators for consumer
products such as cars or electronic items that lead the user through
a sequence of web-pages for successively acquiring
requirements. Other examples are industrial configurators which
firstly acquire features of a system and than configure
system specific components, like it is described in [Haag, 1998;
Ranze et al., 2002; Hotz et al., 2006] – see also [Sabin and
Weigel, 1998] which call this approach incremental
configuration.</p>
      <p>These considerations lead to a configuration approach that
combines reasoning techniques with the characteristic of a
configuration process . Process-related subtasks are
identification of next steps in the configuration process or managing
partial configurations. Especially the retraction of decisions
previously made by a user is a characteristic of configuration
processes [Gu¨nter and Cunis, 1992; Hotz and Wolter, 2013].</p>
      <p>Configuration approaches that take only a certain
reasoning technology into account, such as configuration based on
Description Logics [McGuinness, 2003] or pure constraint
processing [Tsang, 1993], have to build an external
architecture (or even user interface) around the reasoning kernel,
which handles configuration process tasks. Such approaches
consider a configuration process as a sequence of changing
but fully defined configuration tasks. However, they leave
the process-related subtasks to the external architecture and
do not integrate them in a configuration system. These
approaches lead to domain dependent non-declarative
implemented configuration processes.</p>
      <p>If a configuration system integrates reasoning facilities and
process or procedural aspects, such as e.g. [Gu¨nter and
Cunis, 1992; Stumptner et al., 1998; Fleischanderl et al., 1998;
Gu¨nter and Hotz, 1999], the inherent dynamic aspects of
configuration tasks can be solved in a general, domain
independent way, based on the configuration model. This view
is also supported by the early definitions or thoughts about
configuration as a syntheses task, in opposite to an
analysis task like diagnosis [Brown and Chandrasekaran, 1989;
Cunis et al., 1989; Gu¨nter and Cunis, 1992; Brown, 1996;
Gu¨nter and Ku¨hn, 1999].</p>
      <p>
        Other approaches that focus on such aspect of
configuration are generative constraints. In [Stumptner et al., 1998] the
incrementing configuration is modeled through specific
variables that are activated if certain parts of a configured system
come into play. This approach is similar to the one defined
in the following, however, we do not map the generative
notion to a certain reasoning technology
        <xref ref-type="bibr" rid="ref5">(such as constraints in
[Stumptner et al., 1998])</xref>
        , but we provide a framework around
a reasoning technology that applies it on subsequently defined
new configuration tasks. This is done by iteratively including
requirement acquisition in the configuration process.
Furthermore, we will not concentrate on a certain reasoning
technique, but provide a general framework.
      </p>
      <p>Thus, in this position paper, we elaborate on basic
characteristics of the configuration process which lead to a complex
mapping of the configuration task to reasoning techniques.
Newly introduced operators allow a definition of the
dynamics of the configuration process. These include definitions for
components and restrictions as well as requirements as usual.
Additionally, they provide notions for partial configurations
and requirement variables. Furthermore, operators for
computing requirement variables, acquiring requirements, and for
the actual reasoning will lead to a comprehensive definition
of the configuration problem.</p>
      <p>Thus, we focus on the iterative characteristic of
configuration, i.e. incrementing configuration with intermediate partial
configurations (see Section 2). By taking this view, the paper
furthermore tries to clarify the relationship of configuration
to other reasoning techniques (see Section 3).</p>
      <p>We follow ideas published in [Cunis et al., 1989; Gu¨nter,
1995]. However, by introducing process related definitions
and operators, a summary of the needed ingredients is
established that shall give the basis for process-based configuration
technologies.
2</p>
    </sec>
    <sec id="sec-2">
      <title>General Definitions</title>
      <p>In the following, through definitions that build on each other,
we develop a definition of a complex configuration problem
that take the iterative character of the configuration process
into account. We develop a general definition of the complex
configuration task that is independent of a certain knowledge
representation, such as logic or constraint-based approaches.</p>
      <p>First, we provide the definition of a configuration model.
This model defines all possible configurations in a generic
way. The model represents entities to be configured (such
as hardware components, software modules, or services) and
relations between them.</p>
      <p>We here discuss a combination of entities (e.g., represented
with component types or classes) and relations (e.g.,
represented with constraints). However, the operators defined in
the following are independent of the representation. For
example, if a pure constraint-based representation is initially
used, appropriate operators should have to be developed for
supporting the here considered complex configuration tasks.</p>
      <p>The definitions are illustrated with an example of
composing a menu with antipasti, main course, and dessert. While
antipasti will always be selected if a hearty menu is desired,
the selection of a dessert cannot be computed from
constraints. A hearty menu is part of initial requirements, while
the dessert is only selected after the main course,
demonstrating a dynamic requirements acquisition.</p>
      <p>Definition 1 (Configuration Model) . A configuration model
CM is a generic description of entities of an application
domain. CM is a tuple hΓ, Ψ, Φi, where
• Γ is a set of attributed entity models E M ∈ Γ (e.g.
classes or concepts) each representing a set of concrete
entities to be configured. An entity model consists of
named properties. Each property P is a binary relation
that maps from E M to a property domain PDP .
• Ψ is a set of property domains PDP ∈ Ψ of properties
P. A PDP might be a structural property domain (and
P is called structural property) with a set of structural
property values, i.e. an entity model optionally
combined with a cardinality. Or it might be a primitive
datatype, such as a number, symbol, or string or a probably
infinite set (e.g. for number ranges) of those, than P is
called data-type property.
• Φ is a set of n-ary relations E R ∈ Φ between properties
of entity models.</p>
      <p>Example 1. An entity model with one data-type property, one
structural property, and a n-ary relation representing the fact
that a menu should consist in any case of a main course and
might optionally has an antipasti and a dessert. Depending
on the kind of taste, an antipasti is selected if hearty taste is
desired:
(Entity-Model name: Menu
super-type: Aggregate
data-properties: ((kindOfTaste {hearty light}))
hasCourses:
((AntiPasti :min 0 :max 1)
(MainCourse :min 1 :max 1)
(Dessert :min 0 :max 1)))
(Entity-Model name: AntiPasti</p>
      <p>super-type: Part)
(Entity-Model name: MainCourse</p>
      <p>super-type: Part)
(Entity-Model name: Dessert</p>
      <p>super-type: Part)
(Constraint name: HeartyEqualsToAntiPasti</p>
      <p>Menu.kindOfTaste == hearty &lt;=&gt;</p>
      <p>Menu.hasCourses HAS (AntiPasti :min 1 :max 1))</p>
      <p>For representing concrete components of an application
domain, entity instances are used. First, we define a simple
entity instance, later on we enhance this definition.
Definition 2 (Simple Entity Instance). A SE IEM represents
one concrete entity of the application domain. SE IEM
belongs to an entity model E M and has all or some properties
of E M. The property values are constant values that belong
to the respective property values of E M.</p>
      <p>For representing customer requirements about the desired
configuration, configuration requirements are defined as
follows.</p>
      <p>Definition 3 (Simple Configuration Requirememts) . Simple
configuration requirements SR are a set of simple entity
instances with some properties filled with constant values.
Example 2. Two simple entity instances representing the
requirement “Hearty menu with a main course”:
(Entity-Instance name: menu-1
entity-model: Menu
kindOfTaste: {hearty}
hasCourses: {mainCourse-1})
(Entity-Instance name: mainCourse-1</p>
      <p>entity-model: MainCourse)
Typically, a configuration task is defined as follows:
Definition 4 (Simple Configuration Task) . A configuration
task is defined through an entity model E M and configuration
requirements SR.</p>
      <p>Definition 5 (Simple Configuration) . A configuration is
defined through a set of completely filled configuration
instances CI.</p>
      <p>A knowledge representation technique allows it to
represent an configuration model and configuration requirements.
Furthermore, it provides reasoning techniques that allow to
solve the simple configuration problem.</p>
      <p>Definition 6 (Simple Configuration Problem) . CM =
hΓ, Ψ, Φi be a configuration model. A simple configuration
problem in CM is a tuple hCM, SRi, where SR is a set of
initial simple entity instances. A solution (a configuration ) of
the problem hCM, SRi is a set of simple entity instances that
is consistent with CM and fulfills the configuration
requirements SR.</p>
      <p>How consistency is concretely defined depends on the
knowledge representation. However, in general for structural
properties, consistency means that entity instances belong to
S according to the cardinality descriptions of the structural
property. Thus, structural relations emphasize a
configuration being a collection of related entity instances, while n-ary
relations related properties of those instances.</p>
      <p>Example 3. A resulting configuration, the constraint infers
the need of an entity instance representing antipasti:
(Entity-Instance name: menu-1
entity-model: Menu
kindOfTaste: {hearty}
hasCourses: {mainCourse-1 antiPasti-1})
(Entity-Instance name: mainCourse-1</p>
      <p>entity-model: MainCourse)
(Entity-Instance name: antiPasti-1</p>
      <p>entity-model: AntiPasti)</p>
      <p>These definition provide the basis for configuration tasks:
a configuration model, the customer requirements, and a
knowledge representation that allows for creating a
configuration that fulfills the customer requirements. This definition
makes a basic assumption, i.e. that SR, the set of particular
customer requirements, are given. In simple, one step
configuration problems, such as parameterization of technical
systems, this is a reasonable assumption. In more complex
applications, the requirements evolve during the configuration
process. This observation leads to further definitions.</p>
      <p>First, we enhance the definition of a simple entity instance
by allowing not only constant values for properties but also
subsets.</p>
      <p>Definition 7 (Partial Property Domain). Let P be a
property of an entity instance E I of entity model E M. And let
PDP be the property value of P as defined in CM. A
partial property domain PPDP of P is a subset of PDP , i.e.
PPDP ⊆ PDP .</p>
      <p>Please note that a specific partial property domain is a
property domain with one value representing a constant value,
e.g. a number of a data-type property or a single instance of
a structural property.</p>
      <p>Example 4. Example for a partial property domain of a
structural property with one entity instance and two open
cardinality definitions:
hasCourses: {mainCourse-1 (AntiPasti :min 0 :max 1)
(Dessert :min 0 :max 1)}
Definition 8 (Terminal Property Domain). A terminal
property domain T PDP of property P is a partial property
domain that is marked with terminal. A constant value is
automatically marked as terminal. Structural property values or
sets may be marked through the heuristic operator (see
below).</p>
      <p>Example 5. Example for a partial property domains of a
data-type property indicated as terminal:</p>
      <p>kindOfTaste: {hearty [terminal]}
Definition 9 (Entity Instance). An E IEM represents one
concrete entity of the application domain. E IEM belongs to an
entity model E M and has the same properties as E M. The
property values might be the same as defined for E M or
subsets of those, they might be partial or terminal property
domains. These partially filled entity instances represent
uncertain knowledge about the concrete entity. A completely filled
entity instance has a terminal property domain for each
property.</p>
      <p>Example 6. One partially filled entity instance:
(Entity-Instance name: menu-1
entity-model: Menu
kindOfTaste: hearty
hasCourses: {mainCourse-1 (AntiPasti :min 0 :max 1)
(Dessert :min 0 :max 1)})
Example 7. One completely filled entity instance:
(Entity-Instance name: menu-1
entity-model: Menu
kindOfTaste: {hearty [terminal]}
hasCourses: {mainCourse-1 antiPasti-1 [terminal]})
Definition 10 (Partial Configuration) . A partial configuration
PO is a set of partially or completely filled entity instances.
Definition 11 (Configuration Requirememts) . Configuration
requirements R are a set of instances with some property
values set to terminal property domains.</p>
      <p>Thus, configuration requirements are a specific kind of
partial configuration namely one with instances whose properties
do not have a terminal property domain for each property.
We also call this partial configuration initial partial
configuration.</p>
      <p>Definition 12 (Final Configuration) . A final configuration
F C is a set of completely filled entity instances. Furthermore,
for each structural property of an instance in F C, a related
instances exists in F C according to the structural property value
(i.e. the defined entity model and the cardinality).</p>
      <p>Now, probably the main step in our definitions follows,
i.e. the introduction of the definition of a variable. Typically,
properties of components are considered as variables and the
configuration task is to provide a value for these variables,
i.e. for the properties of the components. In our definition, a
variable stands for a decision that has to be made for gaining
a final configuration. Thereby, each variable stands for one
property of an entity instance that has to be determined.
However, during the configuration process there might be several
variables for one property, e.g. if a property value is reduced
by the user in several steps.
Definition 13 (Variable). A variable V represents one
decision of setting the value of one certain property. One or more
decisions have to be made for each property of every entity
instance. The variable represents possible outcomes of the
decision through its variable domain Vd. A variable domain
is a property value.</p>
      <p>Example 8. Variable representing the decision that antipasti
and dessert shall be selected as courses of a menu:
(Variable
entity-instance: menu-1
property: hasCourses
property-value: {mainCourse-1
(AntiPasti :min 0 :max 1)
(Dessert :min 0 :max 1)})
Definition 14 (Reduced Variable). A reduced variable RV
of a variable V with a domain Vd is a variable with a domain
RVd with RVd ⊂ Vd. The reduced domain might also be a
terminal property domain. For a structural property with a
structural property value, the subset is a set of instances that
are conform with the cardinality descriptions of the structural
property value.</p>
      <p>The reduced variable represents the result of a made
decision.</p>
      <p>Definition 15 (Heuristic Operator). A heuristic operator HO
is an operator that takes a variable V and computes a reduced
variable RV (probably with a terminal property domain) by
some heuristic method, thus: HO: V → RV .</p>
      <p>The heuristic operator represents the method for gaining
a reduced variable, e.g. the selection of a default value, the
computation of a function computing a reduced domain for
the variable, or the acquisition of a value for that variable
from the user. Thus, the heuristic operator acquires
subsequent requirements that come up during the configuration
process. Furthermore, by reducing a structural property the
heuristic operator incrementally expands the configuration,
because new entity instances are created when reducing the
structural property (see above). A new entity instance has the
same properties and property values as its entity model.
Example 9. Reduced variable created by a heuristic
operator that asks the user, if a dessert is needed, answer was
“yes”:
(Variable
entity-instance: menu-1
property: hasCourses
property-value: {mainCourse-1
(AntiPasti :min 0 :max 1)
dessert-1)})</p>
      <p>Example 9 represents the answer to the typically raised
question after a meal “Would you like a dessert?”, which is a
simplistic example for a dynamic requirement acquisition.
Definition 16 (Entailment Operator). An entailment
operator E O is an operator that takes the configuration model CM
(especially the denfied n-ary relations), a partial
configuration PCi, and one reduced variable RV and computes a new
partial configuration PCi+1 which contains the value of the
reduced variable and all entailments of this reduction,
computed by some reasoning method, thus:
E O: CM, PCi, RV → PCi+1.</p>
      <p>In the initial case, RV might be empty, i.e.
E O: CM, PC0, → PC1 computing the entailments of the
values in PC0, i.e. the initial partial configuration.</p>
      <p>The entailment operator represents the integration of one
made decision into a partial configuration and the
computation of the influences of this decision to the partial
configuration. The influences are computed on the basis of the
configuration model, especially the n-ary relations, which relate
properties of entity models. An influence or entailment is a
reduction of domains of some variables in PCi. Typical
examples for an entailment operator are the solution of a
constraint problem or applying Description Logic services.
Example 10. Reduced variable created by an entailment
operator that uses the constraint for deciding that an antipasti
is needed if a hearty menu was selected:
(Variable
entity-instance: menu-1
property: hasCourses
property-value: {mainCourse-1
antiPasti-1
(Dessert :min 0 :max 1)})
Definition 17 (Open Issue Operator). An open issue operator
OIO is an operator that takes the configuration model CM
and a partial configuration PC and computes new variables
Vi that have no terminal property domains and are collected
in the set A, thus: OIO: CM, PC → A, with Vi ∈ A.</p>
      <p>From Example 6 the OIO computes the variable shown in
Example 8 because of the partial property domain for
property hasCourses.</p>
      <p>Definition 18 (Select Operator). A select operator SO is an
operator that select one variable V out of the set A by some
selection method, thus: SO: A → V.</p>
      <p>Now, we define the actual configuration process and
identify its main part, i.e. the configuration cycle . A
configuration process starts with an initial partial configuration given
through the requirements of a customer. By successively
applying the above operators the final configuration will be
created. This process is defined as follows:</p>
      <p>Starting from the initial partial configuration IP, E O
computes the first entailments and, thus, PC1. Hereafter, the open
issue operator OIO can be applied to PC1 for computing
next variables with non-terminal property domains and builds
A1. The operator SO selects a next variable to be decided V1.
From here the heuristic operator HO reduces the variable’s
domain to RV1. The entailment operator uses the previous
partial configuration ( E O(PC1)) for computing the next
partial configuration PC2. This way the operators are
successively applied until the final configuration PCn is created and
no more open issues can be identified (i.e. OIO computes an
empty set). In total, we have:
IP, −E−O→ PC1 −O−I−O→ A1 −S−O→ V1 −−→ RV 1
HO
EO(PC1) HO
−−−−−−→ PC2 −O−I−O→ A2 −S−O→ V2 −−→ RV 2
EO(PC2) HO
−−−−−−→ PC3 −O−I−O→ A3 −S−O→ V3 −−→ RV 3
. . .</p>
      <p>EO(PCn−2) HO
−−−−−−−→ PCn−1 −O−I−O→ An−1 −S−O→ Vn−1 −−→ RV n−1
EO(PCn−1) OIO
−−−−−−−→ PCn −−−→ ∅</p>
      <p>Thus, the general configuration cycle is defined as follows:
Definition 19 (Configuration Cycle) . A configuration cycle
COC is a sequence of operators OIO, SO, HO, E O as
follows:
EO(PCi)</p>
      <p>PCi −O−I−O→ Ai −S−O→ Vi −H−O→ RV i −−−−−−→ PCi+1
Definition 20 (Complex Configuration Problem) .
CM = hΓ, Ψ, Φi be a configuration model. A
complex configuration problem in CM is a tuple
hCM, R, HO, E O, SO, OIOi, where R is a set of
initial entity instances and HO, E O, SO, OIO the
previously introduced operators. A solution of the problem
hCM, R, HO, E O, SO, OIOi is a final configuration that
was computed by applying the configuration cycle, that
is consistent with CM, and that fulfills the configuration
requirements R.</p>
      <p>Like in the simple configuration problem definition, how
consistency is concretely defined depends on the knowledge
representation. Furthermore, the knowledge representation
defines the entailment operator.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Discussion</title>
      <p>The commonly used view on configuration is to specify a
configuration model and customer requirements as a reasoning
task of a reasoning system, such as a constraint system, and
than solve the reasoning task and present the resulting
configuration. This paper provides a view on configuration that
basically iterates these two steps of defining requirements and
reason about them, i.e.:
1. Start from an initial configuration including the
requirements,
2. compute entailment of the requirements on the
configuration (operator E O),
3. create an agenda with not yet made decisions (operator</p>
      <p>OIO),
4. select one decision (operator SO),</p>
      <sec id="sec-3-1">
        <title>5. make the decision (operator HO), and</title>
      </sec>
      <sec id="sec-3-2">
        <title>6. compute its entailments (operator E O),</title>
        <p>7. goto Step 3.</p>
        <p>The computation of the entailments (Step 2 and Step 6)
correspond to the solution of the reasoning task, e.g. by
constraint processing. The construction of a reasoning task is
included in the configuration process in the steps 3, 4, and 5.</p>
        <p>Thus, the overall schema for configuration as seen in our
approach provides an iterative application of commonly
applied reasoning techniques for configuration. For solving a
complex configuration problem, a configuration system or a
technological approach should realize the operators defined
above.</p>
        <p>Of course, there exist variations of the here presented basic
framework. For example, the proposed approach to represent
requirements with instances might be enhanced to complex
requirements that need further reasoning to compute them
[Tha¨ringen, 1995; Kopisch and Gu¨nter, 1992]. Or the
selection of a decision may be enhanced to selecting multiple
decisions or to let the user select next decisions from the agenda.
Another extension is to include techniques for conflict
resolution [Gu¨nter and Hotz, 1995; Felfernig and Schubert, 2010;
Hotz and Wolter, 2013]. However, this paper provides the
basic ingredients for solving a configuration task incrementally.
Configuration tools which follow our approach are
KONWERK [Gu¨nter and Hotz, 1999], engcon [Hollmann et al.,
2000], or Plakon [Cunis et al., 1989].
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Summary</title>
      <p>This paper defines the necessary ingredients for a
configuration process that iteratively generates a configuration.
Besides the typically used reasoning techniques, the process
additionally supplies steps for creating requirements on the fly
and include them and their entailments in a growing
configuration. Enhancements in future work will be the inclusion of
operators for resolving conflicts that might occur during the
configuration process.
[Stumptner et al., 1998] M. Stumptner, G. Friedrich, and
A. Haselbo¨ck. Generative Constraint-based Configuration
of Large Technical Systems. AI EDAM, 12(04):307–320,
1998.
[Tsang, 1993] Edward Tsang. Foundations of Constraint
Satisfaction. Academic Press, London, San Diego, New
York, 1993.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <source>[Brown and Chandrasekaran</source>
          , 1989]
          <string-name>
            <given-names>D.C.</given-names>
            <surname>Brown</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Chandrasekaran. Design Problem Solving - Knowledge Structures</surname>
          </string-name>
          and
          <string-name>
            <given-names>Conrtol</given-names>
            <surname>Strategies</surname>
          </string-name>
          .
          <source>Research Notes in Artificial Intelligence Series</source>
          . Pitman Publishing, London,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <source>[Brown</source>
          , 1996]
          <string-name>
            <given-names>D.C.</given-names>
            <surname>Brown</surname>
          </string-name>
          .
          <source>Some Thoughts on Configuration Processes. AAAI 1996 Fall Symposium Workshop: Configuration FS-96-03</source>
          , MIT, Cambridge, Massachusetss, USA,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [Cunis et al.,
          <year>1989</year>
          ]
          <string-name>
            <given-names>R.</given-names>
            <surname>Cunis</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Gu¨nter, I. Syska,
          <string-name>
            <given-names>H.</given-names>
            <surname>Peters</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Bode</surname>
          </string-name>
          .
          <article-title>PLAKON - An Approach to DomainIndependent Construction</article-title>
          .
          <source>In Proc. of Second Int. Conf. on Industrial and Engineering Applications of AI and Expert Systems IEA/AIE-89</source>
          , pages
          <fpage>866</fpage>
          -
          <lpage>874</lpage>
          , June 6-9
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <source>[Felfernig and Schubert</source>
          , 2010]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Schubert</surname>
          </string-name>
          .
          <article-title>Diagnosing Inconsistent Requirements</article-title>
          . In L. Hotz and
          <string-name>
            <surname>A</surname>
          </string-name>
          . Haselbo¨ck, editors,
          <source>Proc. of the Configuration Workshop on 19th European Conference on Artificial Intelligence (ECAI-2010)</source>
          , Lisbon, Portugal,
          <year>August 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [Fleischanderl et al.,
          <year>1998</year>
          ]
          <string-name>
            <given-names>Gerhard</given-names>
            <surname>Fleischanderl</surname>
          </string-name>
          , Gerhard E. Friedrich, Alois Haselbo¨ck, Herwig Schreiner, and
          <string-name>
            <given-names>Markus</given-names>
            <surname>Stumptner</surname>
          </string-name>
          .
          <article-title>Configuring large systems using generative constraint satisfaction</article-title>
          .
          <source>IEEE Intelligent Systems</source>
          ,
          <volume>13</volume>
          (
          <issue>4</issue>
          ):
          <fpage>59</fpage>
          -
          <lpage>68</lpage>
          , July/
          <year>August 1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <source>[Gu¨nter and Cunis</source>
          , 1992]
          <string-name>
            <given-names>A.</given-names>
            <surname>Gu</surname>
          </string-name>
          <article-title>¨nter and</article-title>
          <string-name>
            <given-names>R.</given-names>
            <surname>Cunis</surname>
          </string-name>
          .
          <article-title>Flexible Control in Expert Systems for Construction Tasks</article-title>
          .
          <source>Journal Applied Intelligence</source>
          ,
          <volume>2</volume>
          (
          <issue>4</issue>
          ):
          <fpage>369</fpage>
          -
          <lpage>385</lpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <source>[Gu¨nter and Hotz</source>
          , 1995]
          <string-name>
            <given-names>A.</given-names>
            <surname>Gu</surname>
          </string-name>
          <article-title>¨nter</article-title>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Hotz</surname>
          </string-name>
          .
          <article-title>Aufl o¨sung von Konfigurationskonflikten mit Wissensbasiertem Backtracking und Reparaturanweisungen (Conflict Resolution with Knowledge-based Backtracking and RepairStatement)</article-title>
          . In A. Gu¨nter, editor, ”Wissensbasiertes Konfigurieren” ,
          <source>St. Augustin</source>
          ,
          <year>1995</year>
          . Infix.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <source>[Gu¨nter and Hotz</source>
          , 1999]
          <string-name>
            <given-names>A.</given-names>
            <surname>Gu</surname>
          </string-name>
          <article-title>¨nter</article-title>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Hotz. KONWERK - A Domain Independent Configuration Tool</surname>
          </string-name>
          .
          <source>Configuration Papers from the AAAI Workshop</source>
          , pages
          <fpage>10</fpage>
          -
          <lpage>19</lpage>
          ,
          <year>July 1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [Gu¨nter and Ku¨hn,
          <year>1999</year>
          ]
          <string-name>
            <given-names>A.</given-names>
            <surname>Gu</surname>
          </string-name>
          <article-title>¨nter and C. Ku¨hn. Knowledge-Based Configuration - Survey and Future Directions</article-title>
          . In F. Puppe, editor,
          <source>XPS-99: Knowledge Based Systems, Proceedings 5th Biannual German Conference on Knowledge Based Systems, Springer Lecture Notes in Artificial Intelligence 1570</source>
          , W u¨rzburg, March 3-5
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [Gu¨nter,
          <year>1995</year>
          ]
          <string-name>
            <given-names>A.</given-names>
            <surname>Gu</surname>
          </string-name>
          <article-title>¨nter. Wissensbasiertes Konfigurieren (Knowledge-based Configuration)</article-title>
          .
          <source>Infix, St. Augustin</source>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <source>[Haag</source>
          ,
          <year>1998</year>
          ]
          <string-name>
            <given-names>A.</given-names>
            <surname>Haag</surname>
          </string-name>
          .
          <article-title>Sales Configuration in Business Processes</article-title>
          .
          <source>IEEE Intelligent Systems</source>
          , pages
          <fpage>78</fpage>
          -
          <lpage>85</lpage>
          ,
          <string-name>
            <surname>July</surname>
            <given-names>August</given-names>
          </string-name>
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [Hollmann et al.,
          <year>2000</year>
          ]
          <string-name>
            <given-names>O.</given-names>
            <surname>Hollmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Wagner</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Gu</surname>
          </string-name>
          <article-title>¨nter. EngCon: A Flexible Domain-Independent Configuration Engine</article-title>
          .
          <source>In Proc. ECAI-Workshop Configuration</source>
          , page 94 pp, Berlin, Germany,
          <source>August</source>
          <volume>21</volume>
          -22
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <source>[Hotz and Wolter</source>
          , 2013]
          <string-name>
            <given-names>Lothar</given-names>
            <surname>Hotz</surname>
          </string-name>
          and
          <string-name>
            <given-names>Katharina</given-names>
            <surname>Wolter</surname>
          </string-name>
          .
          <article-title>Beyond Physical Product Configuration - Configuration in Unusual Domains</article-title>
          .
          <source>AI Commun</source>
          .,
          <volume>26</volume>
          (
          <issue>1</issue>
          ):
          <fpage>39</fpage>
          -
          <lpage>66</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [Hotz et al.,
          <year>2006</year>
          ]
          <string-name>
            <given-names>L.</given-names>
            <surname>Hotz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Wolter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Krebs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Deelstra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sinnema</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Nijhuis</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. MacGregor.</surname>
          </string-name>
          <article-title>Configuration in Industrial Product Families - The ConIPF Methodology</article-title>
          . IOS Press, Berlin,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [John, 2002]
          <string-name>
            <given-names>U.</given-names>
            <surname>John</surname>
          </string-name>
          .
          <article-title>Konfiguration und Rekonfiguration mittels Constraint-basierter Modellierung (Configuration and Reconfiguration by Means of Constraint-Based Modeling)</article-title>
          .
          <source>Infix, St. Augustin</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [Kopisch and Gu¨nter, 1992]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kopisch</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Gu</surname>
          </string-name>
          <article-title>¨nter. Configuration of a Passenger Aircraft Cabin - based on Conceptual Hierarchy, Constraints and Flexible Control</article-title>
          . In
          <string-name>
            <given-names>F.</given-names>
            <surname>Belli</surname>
          </string-name>
          and
          <string-name>
            <surname>F.J</surname>
          </string-name>
          . Radermacher, editors,
          <source>Proceedings of IEA/AIE</source>
          , Paderborn,
          <year>1992</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <source>[McGuinness</source>
          ,
          <year>2003</year>
          ]
          <string-name>
            <given-names>D. L.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          . Configuration. In Franz Baader, Diego Calvanese, Deborah L.
          <string-name>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <surname>Daniele Nardi</surname>
          </string-name>
          , and
          <string-name>
            <surname>Peter F.</surname>
          </string-name>
          Patel-Schneider, editors,
          <source>Description Logic Handbook</source>
          , pages
          <fpage>397</fpage>
          -
          <lpage>413</lpage>
          . Cambridge University Press,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <source>[Neumann</source>
          , 1988]
          <string-name>
            <given-names>B.</given-names>
            <surname>Neumann</surname>
          </string-name>
          .
          <source>Configuration Expert Systems: A Case Study and Tutorial</source>
          . In Bunke, editor,
          <source>Proc. 1988 SGAICO Conference on Artificial Intelligence</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>