<!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 />
    <article-meta>
      <title-group>
        <article-title>Supporting Open Domains in Collaborative Modular Modeling</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Albert Haag</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>In commercial practice, modeling configurable products is often collaborative and modular. The former refers to the fact that different teams in a company may work autonomously when contributing to a product model. The latter refers to the fact that some elements of a model may be intended for re-use in multiple product models. When maintaining such model fragments, the actual domains of the product properties, which are to be effectively applied in later configuration, may be only partially known to the modeler. For example, using a wildcard in a variant table (a list of valid combinations of product features) to express “anything goes” implies that an exact knowledge of the underlying domains is not important to the modeler. The same is true for negative variant tables that list exclusions. Domains are explicitly declared as open, when nonstandard extensions of product features are foreseen - “additional values are allowed”. This is meant to allow a sales-engineer to provide non-modeled features in an impromptu manner. In this short paper we propose a way to deal with open domains in configuration and present some results for maintaining arc-consistency with open domains. These results build on and extend insights from previous work [6, 13]. 1 PMH - Product Management Haag GmbH, Germany, email: albert@product-management-haag.de 2 It is possible to relax the requirement of finiteness [13]. For example, the use of real (floating point) numbers and intervals is common. 3 A product feature refers to a value assignment to a product property. In some industries, a single symbol (e.g. 0RED0) has a company-wide interpretation (e.g. as Color = 'Red'). Here, Color is a product property, which corresponds to a CSP variable.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Most current modeling of configurable products is based on the
closed-world assumption that all problem variables and their
domains are part of the model. This assumption is at the very heart of
the definition of a constraint satisfaction problem (CSP), which
postulates a finite set of variables, each with a finite domain [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]2.
However, there are practical situations, when the closed-world assumption
does not hold. One example is an engineer-to-order scenario, where a
sales-engineer is allowed to supply unforeseen product features3
extempore during a sales configuration. The closed-world assumption
is also limiting in modular modeling. The responsibility for
modeling may be distributed among different teams, each working
independently to produce a re-usable part of a model. Where products
or solutions contain multiple components, each component might be
modeled independently. Also, product features may be maintained
centrally company-wide, not product by product. Central product
features are typically subject to continual updates. Finally, modeling
may be distributed subject to technical expertise. Constraints
concerning electrical features require different expertise than those
concerning hydraulics.
      </p>
      <p>
        Extensional lists of feature combinations are important modeling
elements that define variability in a very direct and intelligible
manner. We refer to them as variant tables following the terminology
of the SAP Variant Configurator (SAP VC) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]4. Variant table
content may be updated frequently by product data engineers, decoupled
from other changes to the model. These engineers have criteria for
including or excluding feature combinations, but they do not need to
know the complete product models.
      </p>
      <p>
        This is a short paper based on observations about modeling in
practice. The motivation and insights for needing to deal with open
domains, which I look at here, come from discussions in the
Configuration Workgroup (CWG) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], an SAP centric user group, over
the years. The paper discusses three cases where open domains5 may
need to be considered:
      </p>
      <p>Negative variant tables listing excluded feature combinations
Wildcards (placeholders for allowing any feature)
Non-modeled, impromptu product features6</p>
      <p>
        This paper is organized as follows: Section 2 contains some
background and notation. Section 3 is a reprise of the results in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
concerning negative variant tables. Section 4 discusses the
engineerto-order requirement of allowing non-modeled features and feature
combinations, introducing a symbol ’&amp;other’ to refer to the
potentially infinite set of non-modeled features of a product property. We
refer to such a symbol as a quasi-finite symbol (qf-symbol), as
proposed in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Section 5 formalizes the use of wildcards. Section 6
deals with the handling of the qf-symbol ’&amp;other’ in an interactive
configuration. Finally, Section 7 gives conclusions and an outlook.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Background and Notation</title>
      <p>
        This is a short paper and a review of literature will be brief. The
author’s insight into product configuration in practice stems from long
personal involvement in the topic working for SAP and from
discussions in the CWG [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Documentation of commercial
configuration practice is still hard to come by. There exists a standard
monograph about classic SAP Variant Configuration, now available in a
second edition [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Furthermore, some chapters in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] are devoted
to commercial configurators, but the information there is far from
4 In SAP configurators, product properties are referred to as characteristics
and product features either referred to as features or as characteristic value
assignments.
5 When the exact domain of a product property is not known to the modeler,
it is considered to be open.
6 Product properties may either have no features defined, or only have
“standard” features defined, but allow additional features at run-time.
being technically complete. Also, there have been various
contributions to this workshop series, two arbitrary examples being [
        <xref ref-type="bibr" rid="ref18 ref19">18, 19</xref>
        ].
In contrast, we consider both constraint programming [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and its use
in product configuration [
        <xref ref-type="bibr" rid="ref14 ref4">4, 14</xref>
        ] to be mature and well documented.
The notation and results about arc-consistency with negative variant
tables in Section 3 are adapted from [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>We assume that all valid configurations of a product can be
described at runtime using a finite set of k product properties7, each
property pj : 1 j k with a domain Rj , perhaps supplied
dynamically at runtime. Thus, the space of all valid and invalid
configurations can be represented as the Cartesian product:</p>
      <p>R := R1</p>
      <p>R2
: : :</p>
      <p>Rk
r = (f1; f2; : : : ; fk) 2 R
R can be seen as a k-dimensional space. Each point r 2 R
represents either a valid or an invalid configuration, where fj is a
feature pertaining to property pj . We call any point in R an r-tuple,
and any Cartesian product of product property subdomains a c-tuple.
We can envision a c-tuple as a k-dimensional cuboid in R
(C1</p>
      <p>C2
: : :</p>
      <p>Ck)</p>
      <p>R
The r-tuple in (2) can be considered as a special case of a c-tuple in
(3), if we treat the individual features as singleton sets:
ff1g
ff2g
: : :
ffkg
Treating the configurations listed in a given variant table T as a set of
points in the k-dimensional solution space R, we define D in (4) to
be the c-tuple for the cuboid circumscribing T .8 We give an example
of these sets in Section 3.</p>
      <p>D := D1</p>
      <p>D2
: : :</p>
      <p>Dk
For notational simplicity we additionally define Qj to refer to the
complement of Dj with respect to Rj . Q is the corresponding
ctuple of all Qj :</p>
      <p>Qj := Rj n Dj
Q := Q1</p>
      <p>Q2
: : :</p>
      <p>Qk</p>
      <p>We observe that the solution space R in (1) can be represented
as the disjoint union of D and the k c-tuples Cj in (7). Figure 1
illustrates a simple case of this decomposition.</p>
      <p>C1 = Q1
C2 = D1
Ck = D1</p>
      <p>R2
Q2
D2</p>
      <p>R3
R3
D3
: : :
: : :
: : :</p>
      <p>Rk
Rk
Qk</p>
      <p>
        We remark that a variant table has a (non-unique) representation
as a disjoint union of c-tuples (cf. [
        <xref ref-type="bibr" rid="ref15 ref7">7, 15</xref>
        ] and the examples in Section
3).
7 If the product consists of only one component, its properties can readily
be identified by name. If the product consists of multiple components with
configurable properties, then a property must additionally be identified by
a reference to the component.
8 We consider T to be fixed and omit references to it to keep the notation
simple.
(1)
(2)
(3)
(4)
(5)
(6)
(7)
      </p>
    </sec>
    <sec id="sec-3">
      <title>Reprise: Negative Variant Tables</title>
      <p>
        Let U be a negative variant table (listing excluded feature
combinations). Any combination not excluded by U is implicitly allowed by
U . Therefore, it is natural to consider what is valid with respect to
U at runtime (when actually configuring) and not when maintaining
the table (modeling time). Previous work [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] deals with maintaining
arc consistency [
        <xref ref-type="bibr" rid="ref1 ref16">1, 16</xref>
        ] in this situation. The main observation there
is that if a feature, which does not occur anywhere in the table, is
choosable at runtime, then all choosable features of all other
properties remain choosable. An example: assume a T-shirt comes in
various sizes and can sport an imprint. Suppose only one combination of
imprint and size is known to be excluded: an imprint named ’STW’
is not available in size ’S’.9 Table 1 shows the corresponding
negative variant table. Any imprint except ’STW’ is available in all sizes.
Any size except ’S’ is available in all imprints. Figure 1 illustrates a
disjoint decomposition (7) of the solution set R (1) for the negative
variant table in Table 1.
      </p>
      <p>Assume that Color is also a property of the T-Shirts and that a
particular imprint ’MIB’ is not available in the colors ’Blue’, ’Red,
and ’White’. Then both exclusions can be collectively expressed in a
negative variant table as in Table 2:</p>
      <p>
        To make the example more complete, we assume a further T-Shirt
property Fabric which is not relevant for formulating exclusions. We
order the properties as vp1 = Imprint, vp2 = Size, vp3 = Color,
and vp4 = F abric. We assume runtime domains R as in (8) (the
9 T-shirt examples with this restriction are elaborated more fully in [
        <xref ref-type="bibr" rid="ref13 ref6">6, 13</xref>
        ]
(8)
(9)
(10)
(11)
(12)
c-tuple D circumscribing U (Table 2) is also given in (8)):
R1 = fMIB,STW,EnvHerog
R3 = fBlack,Blue,Red,Whiteg
R4 = fCotton,Mixed,Syntheticg
D1 = fMIB,STWg
      </p>
      <p>Lemma 1 If Qp 6= ; for some p, then 8j 6= p : (R)j = Rj ,
i.e., no further reduction of any of the other domains is possible via
arc-consistency with U .</p>
      <p>Proof Without loss of generality, sort the columns such that p = 1.
If Q1 6= ; then C1 = Q1 R2 R3 : : : Rk 6= ; and any feature
in Q1 supports all features in Rj for j 2.</p>
      <p>
        This has a trivial but important consequence (also taken from [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]):
9Qj1 ; Qj2 : j1 6= j2 ^ Qj1 ; Qj2 6= ; =)
Corollary 2 If more than one non-empty Qj exists, then no domain
reduction at all is possible via arc-consistency with U :
(R) = R
      </p>
      <p>
        To summarize: Given a negative variant table U , runtime domains
R, and the space D, spanned by the table U (as in (4)). If more than
one set Qj = Rj n Dj is non-empty at runtime, then a general arc
consistency (GAC) algorithm [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] does not need to be applied – no
reduction would be obtained. Otherwise, a GAC algorithm should be
applied on the potentially smaller solution space D, yielding (D).
If exactly one set Qp is non-empty, then the only reduction achieved
is (R)p = Qp [ (D)p. All features in Qp remain choosable and
for j 6= p all features in Rj remain choosable. If there is no
nonempty set Qj , then (R) = (D), i.e. the reduction obtained by the
GAC on D holds.
4
      </p>
      <p>
        Allowing Additional Non-Modeled Features
Some property domains may be left completely undefined explicitly.
This delegates the definition of the domains to other means, such
as variant tables. We treat features referenced in a variant table (not
counting wildcard symbols)10 to be modeled also. Sometimes, the
“standard” features to be offered are modeled, but additional
nonmodeled features are allowed. Following an approach in previous
work [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], we introduce a quasi-finite symbol (qf-symbol) 0&amp;otherj0
to represent the non-modeled features of property pj , which can be
infinite, finite, or empty. The symbols 0&amp;otherj0 cannot be explicitly
referred to in a variant table.
      </p>
      <p>A variant table allows partitioning Rj , the runtime domain of a
property pj , into Dj and Qj as in (5). Dj collects all features
referenced in the variant table for pj and thus does not contain the symbol
0&amp;otherj0 . Where a runtime domain allows non-modeled features,
i.e. 0&amp;otherj0 2 Rj , then 0&amp;otherj0 is part of Qj , not in D. For a
negative variant table, the results of Lemma 1 and Corollary 2 apply
directly, and 0&amp;otherj0 will not be removed from consideration via
arc-consistency due to the table.</p>
      <p>In contrast, a positive table is a constraint and will restrict domains
to lie within D as defined in (4), removing all symbols 0&amp;otherj0
from R. However, a positive table can also be seen to exclude any
combination from D not in the table. Formally, we could reverse the
roles of T and U in (10), using the positive table to define a negative
table (its complement). This would make sense if there were a way to
allow “additional combinations”, which suggests itself for reasons
of symmetry, but is not a modeling requirement the author has so
far encountered in practice. Nevertheless, if we were to allow such
an interpretation of a positive variant table “pour le moment”, the
results of Lemma (1) and Corollary (2) apply, and 0&amp;otherj0 will not
be removed from consideration via arc-consistency due to the table.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Wildcards and C-Tuples</title>
      <p>
        Variant tables can be represented in a significantly more compact
form when using rows of c-tuples [
        <xref ref-type="bibr" rid="ref15 ref7 ref8">7, 8, 15</xref>
        ]. The practical relevance
of a c-tuple representation is the topic of previous work [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ].
Table 3 is a positive formulation of Table 2 in three c-tuples. It takes the
properties and their domains Rj to be defined as in (8). C-tuples can
be represented naturally in a spreadsheet as rows with multi-valued
cells, but most relational databases do not have straightforward
support for a c-tuple representation.
      </p>
      <p>The use of a wildcard symbol is common in variant tables. Here,
we treat a wildcard symbol in a c-tuple as a reference to the runtime
domains, which may contain both modeled and non-modeled
features. We denote the wildcard symbol for property pj by j .11 Table
4 is a representation of Table 3 using wildcards.</p>
      <p>Table 4 lists the valid T-Shirt variants making use of wildcards.
Regarding the wildcards, we assume that the modeled features are
the Rj in (8).12 Furthermore, the properties Imprint and Color
allow (additional) non-modeled features. The runtime domains R are
depicted in (13).13</p>
      <p>R1 = fMIB,STW,EnvHerog [ &amp;other1
R3 = fBlack,Blue,Red,Whiteg [ &amp;other3
(13)</p>
      <p>From the perspective of a GAC algorithm, the qf-symbols
0&amp;otherj0 are just like any other symbol. A GAC algorithm can be
applied in the usual way. The GAC algorithm may remove j as a
whole, but it will not individually remove any features that are part
of j at runtime.
6</p>
      <p>Proposed Handling of Open Domains in</p>
      <p>Configuration
Just as a GAC algorithm would treat the qf-symbols 0&amp;otherj0 like
any other value, so would this symbol be presented to an agent
performing a configuration task. It should be possible for this agent to
to exclude non-modeled values by deselecting 0&amp;other0
to exclude all modeled values by selecting 0&amp;other0
to specify a set of non-modeled values to use for 0&amp;other0
7</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and Future Work</title>
      <p>
        This paper takes a look at some modeling techniques that are long
established in practice but where a clear specification seems
missing. The observations made here and in previous work [
        <xref ref-type="bibr" rid="ref11 ref12 ref13 ref9">9, 11, 12, 13</xref>
        ]
are based on the author’s personal experiences with the SAP
configurators, as well as on general input from the product configuration
community. The topics dealt with here are the use of negative
variant tables, the use of wildcards in variant tables, and dealing with
product property domains that allow the additional product features
to be added to their domain at runtime in an impromptu manner. All
have in common that they allow the domains at runtime to differ from
what was known at modeling time (open domains).
      </p>
      <p>
        The approach to arc-consistency with negative tables in Section 3,
first introduced in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], has been implemented in a prototype. Work
is underway to verify this in a commercial setting. The handling of
non-modeled features using a qf-symbol 0&amp;other0 discussed in
Section 4 has not yet been implemented. This is imminent future work.
Wildcards have been in practical use for decades. The main
contribution of Section 5 is to clarify that wildcards are meant to refer to the
runtime domains and how they coexist with non-modeled features.
The proposals of how to deal with non-modeled features in Sections
5 and 6 are new. Particularly, how and to what extent arc consistency
can be established with open domains as discussed here, is seen as a
contribution to practical configuration.
12 These domains were introduced as runtime domains in (8), but are assumed
to be the modeled domains here.
13 Columns consisting only of wildcards can be added to or removed from
a variant table at will, without affecting the meaning or processing of the
table. For example, a column for the fourth T-Shirt property Fabric with a
wildcard 4 in all three rows can be arbitrarily added to Table 4 if
opportune.
      </p>
      <p>REFERENCES</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bessiere</surname>
          </string-name>
          , '
          <article-title>Constraint propagation'</article-title>
          , In Rossi et al. [
          <volume>17</volume>
          ], chapter 3.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>U.</given-names>
            <surname>Blumo</surname>
          </string-name>
          ¨hr, M. Mu¨nch, and M. Ukalovic, '
          <article-title>Variant tables in detail', in Variant Configuration with SAP, second edition</article-title>
          ,
          <source>SAP Press, chapter 2.6.3</source>
          ,
          <fpage>152</fpage>
          -
          <lpage>158</lpage>
          , Galileo Press, (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>CWG. SAP</given-names>
            <surname>Configuration</surname>
          </string-name>
          <article-title>Workgroup</article-title>
          . https://www. configuration-workgroup.com,
          <year>2021</year>
          . Accessed:
          <fpage>2021</fpage>
          -06- 04.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Knowledge-Based Configuration</surname>
          </string-name>
          , eds.,
          <string-name>
            <surname>Alexander</surname>
            <given-names>Felfernig</given-names>
          </string-name>
          , Lothar Hotz, Claire Bagley, and Juha Tiihonen, Morgan Kaufmann, Boston,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Eugene</surname>
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Freuder</surname>
          </string-name>
          and
          <string-name>
            <surname>Alan K. Mackworth</surname>
          </string-name>
          , '
          <article-title>Constraint satisfaction: An emerging paradigm', in Handbook of Constraint Programming, eds</article-title>
          .,
          <string-name>
            <surname>Francesca</surname>
            <given-names>Rossi</given-names>
          </string-name>
          , Peter van Beek,
          <source>and Toby Walsh</source>
          , volume
          <volume>2</volume>
          <source>of Foundations of Artificial Intelligence</source>
          ,
          <fpage>13</fpage>
          -
          <lpage>27</lpage>
          , Elsevier, (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Albert</surname>
            <given-names>Haag,</given-names>
          </string-name>
          '
          <article-title>Arc consistency with negative variant tables'</article-title>
          ,
          <source>in Proceedings of the 17th International Configuration Workshop</source>
          , Vienna, Austria,
          <source>September 10-11</source>
          ,
          <year>2015</year>
          ., eds.,
          <string-name>
            <surname>Juha</surname>
            <given-names>Tiihonen</given-names>
          </string-name>
          , Andreas A.
          <string-name>
            <surname>Falkner</surname>
          </string-name>
          , and Tomas Axling, volume
          <volume>1453</volume>
          <source>of CEUR Workshop Proceedings</source>
          , pp.
          <fpage>81</fpage>
          -
          <lpage>87</lpage>
          . CEUR-WS.org, (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Albert</surname>
            <given-names>Haag,</given-names>
          </string-name>
          '
          <article-title>Managing variants of a personalized product'</article-title>
          ,
          <source>Journal of Intelligent Information Systems</source>
          ,
          <volume>1</volume>
          -
          <fpage>28</fpage>
          , (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Albert</surname>
            <given-names>Haag,</given-names>
          </string-name>
          '
          <article-title>Assessing the complexity expressed in a variant table'</article-title>
          ,
          <source>in Proceedings of the 19th International Configuration Workshop</source>
          , La Defense, France,
          <source>September 14-15</source>
          ,
          <year>2017</year>
          ., pp.
          <fpage>20</fpage>
          -
          <lpage>27</lpage>
          , (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Albert</surname>
            <given-names>Haag,</given-names>
          </string-name>
          '
          <article-title>Quasi-finite domains: Dealing with the infinite in mass customization'</article-title>
          ,
          <source>in 20th Configuration Workshop (ConfWS</source>
          <year>2018</year>
          ), eds.,
          <string-name>
            <surname>Alexander</surname>
            <given-names>Felfernig</given-names>
          </string-name>
          , Juha Tiihonen,
          <source>Lothar Hotz, and Martin Stettinger, number 2220 in CEUR Workshop Proceedings</source>
          , pp.
          <fpage>77</fpage>
          -
          <lpage>84</lpage>
          , Aachen, (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Albert</given-names>
            <surname>Haag</surname>
          </string-name>
          .
          <article-title>Making more of variant tables in standard VC. Presentation at the CWG Virtual Spring Conference</article-title>
          , Hamburg, Germany, May 26-June 19,
          <year>2020</year>
          ., 5
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Albert</surname>
            <given-names>Haag,</given-names>
          </string-name>
          '
          <article-title>Toward data-driven modeling of configurable products'</article-title>
          ,
          <source>in Proceedings of the 22th International Configuration Workshop</source>
          , Vincenza, Italy,
          <source>September 10-11</source>
          ,
          <year>2020</year>
          ., pp.
          <fpage>76</fpage>
          -
          <lpage>80</lpage>
          , (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Albert</surname>
            <given-names>Haag</given-names>
          </string-name>
          <article-title>and Laura Haag, 'Empowering the use of variant tables in mass customization'</article-title>
          ,
          <source>in Proceedings of the MCP-CE 2018 conference, Novi Sad, Serbia, September 19-21</source>
          ,
          <year>2018</year>
          ., pp.
          <fpage>180</fpage>
          -
          <lpage>189</lpage>
          , (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Albert</given-names>
            <surname>Haag</surname>
          </string-name>
          and
          <string-name>
            <given-names>Laura</given-names>
            <surname>Haag</surname>
          </string-name>
          , '
          <article-title>Further empowering variant tables for mass customization'</article-title>
          ,
          <source>International Journal of Industrial Engineering and Management (IJIEM)</source>
          ,
          <volume>10</volume>
          (
          <issue>2</issue>
          ), (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Ulrich</surname>
            <given-names>Junker</given-names>
          </string-name>
          , 'Configuration', in Handbook of Constraint Programming, eds.,
          <string-name>
            <surname>Francesca</surname>
            <given-names>Rossi</given-names>
          </string-name>
          , Peter van Beek,
          <source>and Toby Walsh</source>
          , volume
          <volume>2</volume>
          <source>of Foundations of Artificial Intelligence</source>
          ,
          <fpage>837</fpage>
          -
          <lpage>873</lpage>
          , Elsevier, (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>G.</given-names>
            <surname>Katsirelos</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Walsh</surname>
          </string-name>
          , '
          <article-title>A compression algorithm for large arity extensional constraints'</article-title>
          ,
          <source>in Principles and Practice of Constraint Programming - CP</source>
          <year>2007</year>
          , 13th International Conference, CP 2007,
          <article-title>Providence</article-title>
          , RI, USA, September
          <volume>23</volume>
          -
          <issue>27</issue>
          ,
          <year>2007</year>
          , Proceedings, ed.,
          <source>Christian Bessiere</source>
          , volume
          <volume>4741</volume>
          of Lecture Notes in Computer Science, pp.
          <fpage>379</fpage>
          -
          <lpage>393</lpage>
          . Springer, (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>C.</given-names>
            <surname>Lecoutre</surname>
          </string-name>
          , '
          <article-title>STR2: optimized simple tabular reduction for table constraints'</article-title>
          ,
          <source>Constraints</source>
          ,
          <volume>16</volume>
          (
          <issue>4</issue>
          ),
          <fpage>341</fpage>
          -
          <lpage>371</lpage>
          , (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <article-title>Handbook of Constraint Programming, eds</article-title>
          .,
          <string-name>
            <given-names>F.</given-names>
            <surname>Rossi</surname>
          </string-name>
          , P. van Beek, and
          <string-name>
            <given-names>T.</given-names>
            <surname>Walsh</surname>
          </string-name>
          , Elsevier,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Carsten</surname>
            <given-names>Sinz</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Albert Haag</given-names>
            , Nina Narodytska, Toby Walsh,
            <surname>Esther M. Gelle</surname>
          </string-name>
          , Mihaela Sabin, Ulrich Junker,
          <string-name>
            <surname>Barry O'Sullivan</surname>
            ,
            <given-names>Rick</given-names>
          </string-name>
          <string-name>
            <surname>Rabiser</surname>
            , Deepak Dhungana, Paul Gru¨nbacher, Klaus Lehner,
            <given-names>Christian</given-names>
          </string-name>
          <string-name>
            <surname>Federspiel</surname>
          </string-name>
          , and Daniel Naus, 'Configuration', IEEE Intell. Syst.,
          <volume>22</volume>
          (
          <issue>1</issue>
          ),
          <fpage>78</fpage>
          -
          <lpage>90</lpage>
          , (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Juha</surname>
            <given-names>Tiihonen</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ville-Valtteri</surname>
            <given-names>Korppila</given-names>
          </string-name>
          , Jorma Heimonen, and Andreas Anderson, '
          <article-title>Structure oriented sales configuration of precast concrete production factories'</article-title>
          ,
          <source>in Proceedings of the 22th International Configuration Workshop</source>
          , Vincenza, Italy,
          <source>September 10-11</source>
          ,
          <year>2020</year>
          ., pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          , (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>