<!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>Unifying Software and Product Con guration: A Research Roadmap</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Arnaud Hubaux</string-name>
          <xref ref-type="aff" rid="aff7">7</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dietmar Jannach</string-name>
          <email>dietmar.jannach@tu-dortmund.de</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Conrad Drescher</string-name>
          <email>Conrad.Drescher@comlab.ox.ac.uk</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Leonardo Murta</string-name>
          <email>leomurta@ic.uff.br</email>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tomi Mannisto</string-name>
          <email>Tomi.Mannisto@aalto.fi</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Krzysztof Czarnecki</string-name>
          <xref ref-type="aff" rid="aff6">6</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Patrick Heymans</string-name>
          <xref ref-type="aff" rid="aff7">7</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tien Nguyen</string-name>
          <email>tien@iastate.edu</email>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Markus Zanker</string-name>
          <email>markus.zanker@aau.at</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Aalto University School of Science</institution>
          ,
          <country country="FI">Finland</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Alpen-Adria-Universitat Klagenfurt</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Computing Laboratory, University of Oxford</institution>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Department of Computer Science</institution>
          ,
          <addr-line>TU Dortmund</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>Electrical and Computer Engineering Department, Iowa State University</institution>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff5">
          <label>5</label>
          <institution>Fluminense Federal University</institution>
          ,
          <addr-line>Niteroi</addr-line>
          ,
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff6">
          <label>6</label>
          <institution>Generative Software Development Lab, University of Waterloo</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff7">
          <label>7</label>
          <institution>PReCISE Research Center, University of Namur</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>For more than 30 years, knowledge-based product con guration systems have been successfully applied in many industrial domains. Correspondingly, a large number of advanced techniques and algorithms have been developed in academia and industry to support di erent aspects of con guration reasoning. While traditional research in the eld focused on the con guration of physical artefacts, recognition of the business value of customizable software products led to the emergence of software product line engineering. Despite the signi cant overlap in research interests, the two elds mainly evolved in isolation. Only limited attempts were made at combining the approaches developed in the di erent elds. In this paper, we rst aim to give an overview of commonalities and di erences between software product line engineering and product con guration. We then identify opportunities for cross-fertilization between these elds and nally develop a research agenda to combine their respective techniques. Ultimately, this should lead to a uni ed con guration approach.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Customizable products are an integral part of most B2B and
B2C markets. Mass-customization strategies have been
applied to tangible products (e.g., cars and mobile phones) as
well as intangible products like software (e.g., operating
systems and ERPs) and services (e.g., insurance). To this end,
companies use software con gurators that provide automated
support to tailor products to the requirements of speci c
customers or market segments.</p>
      <p>
        Compared to the long history of computer-supported
con guration of products, research on the con guration of
parametrizable software is rather new. Product con guration
(PC) is the umbrella activity of assembling and customizing
physical artefacts (e.g. technical equipment, cars or muesli)
or services. Historically, PC has been a sub eld of arti cial
intelligence (AI), focusing on knowledge representation and
reasoning techniques to support con guration. Mostly
independent of PC, the eld of software product line
engineering (SPLE) emerged in the software engineering community.
SPLE deals with the design and implementation of software
components that can be adapted and parametrized
according to customer requirements and business or technical
constraints [
        <xref ref-type="bibr" rid="ref47">47</xref>
        ]. As in PC approaches, the goal is to save costs
by assembling individualized systems from reusable
components [
        <xref ref-type="bibr" rid="ref41">41</xref>
        ]. Typical application domains for SPLE include
embedded systems, device drivers, and operating systems.
      </p>
      <p>
        Interestingly, research in these two elds has been
carried out so far mostly independently. Except in rare cases
(e.g. [
        <xref ref-type="bibr" rid="ref28 ref5">28, 5</xref>
        ]), researchers in both elds are often unaware of
approaches that have been developed in the other
community. Further, even though a lot of PC work has focused on
con guring technical equipment, such equipment increasingly
contains software. At the same time, SPLE increasingly
targets software-intensive systems that also include computing
and other types of equipment. Based on these observations,
our hypothesis is that both the PC and SPLE communities
have produced results that are applicable in the other domain.
      </p>
      <p>The remainder of this paper explores further the
opportunity for cross-fertilization (Section 2) and proposes a research
roadmap (Section 3) to systematically compare the two
domains and foster e orts towards unifying both elds. In
particular, we hope to nd innovative approaches to questions
that are largely open in one or the other community such
as the recon guration of deployed systems, better interactive
con guration support (e.g., in case of unsatis able
requirements), methods for full lifecycle support and the evolution
of models and knowledge bases. For this last question, we
will also explore how techniques from software con guration
management (CM) can be integrated.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Motivation</title>
      <p>Questions of knowledge acquisition, knowledge representation
as well as di erent types of reasoning support have been
investigated for many years in PC and SPLE. We highlight
some key results in both elds to show their commonalities
and di erences. These preliminary observations motivate our
endeavour to study, compare, and eventually unify research
on con guration. We split the introduction of our motivations
along ve dimensions. For each dimension, we also formulate
the research questions whose answers should expose
opportunities for cross-fertilization.
2.1</p>
    </sec>
    <sec id="sec-3">
      <title>Knowledge acquisition and modelling</title>
      <p>
        Research on PC has used a wide range of knowledge modeling
approaches (based, e.g., on UML [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] or description logic [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ]),
involving di erent types of logics and constraints. While a few
SPLE approaches also used UML to capture aspects of con
guration knowledge (e.g. [
        <xref ref-type="bibr" rid="ref25 ref60">60, 25</xref>
        ]), most results build upon the
seminal work on feature-oriented domain analysis (FODA)
initiated in 1990 by Kang et al. [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ], which today is
converging with decision models [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. The cornerstone of FODA are
feature models (FMs), a graphical notation to capture and
express the commonalities and variabilities of a product family.
FMs are menu-like hierarchies of mandatory, optional, and
alternative features, with cross-hierarchy relationships to
express dependencies and incompatibilities. This initial FM
notation has been gradually extended to support, for example,
multiple instances [
        <xref ref-type="bibr" rid="ref18 ref44">18, 44</xref>
        ] or the con guration process [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ].
      </p>
      <p>
        Compared to con guration modelling ontologies used in PC
(e.g., [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] or [
        <xref ref-type="bibr" rid="ref53">53</xref>
        ]), the expressiveness of FMs (even extended
ones) appears too limited compared to more complex PC
ontologies. Examples of advanced PC problems include
connecting components via ports (i.e., inferring complex topologies),
nding optimal or at least good con gurations, integrating
iteratively new components, and distributing knowledge over
di erent agents or business entities [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ]. Some work exists in
SPLE on component connection and integration (e.g. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]) and
optimization (e.g. [
        <xref ref-type="bibr" rid="ref58">58</xref>
        ]). This motivated the creation of more
expressive languages (e.g., [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]). PC appears to o er a richer
body of work in this area, though.
      </p>
      <p>
        Opportunities for cross-fertilization: Some authors
have already acknowledged the bond between con guration in
PC and in SPLE through feature-based con guration. Gunter
et al. [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] recognize concept hierarchies (similar to FMs) as
a fundamental concept in their survey of knowledge-based
con guration methods. According to Junker's classi cation
of known con guration problems [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ], feature-based con
guration falls in the option selection or shopping list problems.
To systematically identify such synergies, our research agenda
should answer the following questions:
      </p>
      <sec id="sec-3-1">
        <title>RQ1 What classes of con guration problems exist? RQ2 How are these problems modelled?</title>
        <p>2.2</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Automated reasoning</title>
      <p>
        Generally, with respect to modeling and knowledge
representation, the AI-rooted PC community is usually interested in
\executable" models that can be directly translated into a
representation processable by a reasoning engine. The
formal basis of most knowledge modelling languages lays the
foundation for advanced con guration reasoning techniques
(e.g., checking for consistency of con gurations, completing
partial con gurations, or supporting interactive con guration
processes). In contrast, the SPLE community only started
recently to develop a formal foundation of FMs (e.g. [
        <xref ref-type="bibr" rid="ref49 ref9">9, 49</xref>
        ])
and their analyses (e.g. [
        <xref ref-type="bibr" rid="ref33 ref43 ref5 ref59">5, 43, 33, 59</xref>
        ]). Based on precise
formal problem characterizations, additional automations for
SPLE become feasible. An example is the automated analysis
of FMs; see [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] for an overview. Furthermore, Benavides et
al. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] propose to translate FMs into a Constraint
Satisfaction Problem (CSP) and apply Reiter's model-based
diagnosis (MBD) approach to detect problems in the models. Xiong
et al. [
        <xref ref-type="bibr" rid="ref59">59</xref>
        ] combine MBD and Satis ability Modulo Theory
(SMT) solvers to generate range xes in software con
guration. Mendonca et al. [
        <xref ref-type="bibr" rid="ref43">43</xref>
        ] report on experiments with a
SATencoding of FMs. Finally, Bagheri et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], support hard and
soft requirements in the con guration process.
      </p>
      <p>
        The SPLE community sometimes reinvents techniques
which have been developed previously in PC. Encoding con
guration problems in some logic or as CSPs has a long history
in the AI community [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ]. The PC community was also the
rst to apply SAT solvers to con guration problems [
        <xref ref-type="bibr" rid="ref51">51</xref>
        ]. New
CSP representations such as Dynamic, Composite or
Generative CSPs [
        <xref ref-type="bibr" rid="ref32 ref45 ref48 ref54">45, 48, 54, 32</xref>
        ] as well as logics [
        <xref ref-type="bibr" rid="ref26 ref4">26, 4</xref>
        ] were partially
inspired by the challenges observed in PC. This latter pool of
techniques addresses the problem of conditionally including
multiple instances of a certain component type. The PC
community was also rst to use MBD for con guration, e.g., for
detecting problems in con guration knowledge bases [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ].
Regarding soft constraints and preferences, there is abundant
literature in constraint programming (e.g. [
        <xref ref-type="bibr" rid="ref36 ref46">36, 46</xref>
        ]). Finally,
binary decision diagrams (BDDs) have also been used for
building fast interactive con gurators (trading time vs space from
a complexity point of view) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. That latter approach has been
explored in SPLE as well (e.g. [
        <xref ref-type="bibr" rid="ref42">42</xref>
        ]), but it turned intractable
on large FMs.
      </p>
      <p>Opportunities for cross-fertilization: In contrast to
physical components, software components are represented
completely as computer artifacts. While physical components
need to be speci ed explicitly in the computer to check
crosscomponent compatibility, software con guration can analyze
variability models and the actual con gurable artifacts at the
same time. This opens up new possibilities for con guration,
where the compatibility of components can be checked on
the y during con guration without going back to the
design phase and modifying con guration knowledge. To
identify overlaps and di erences between SPLE and PC, we
include the questions:
RQ3 What automated tasks are supported (e.g., completion,
repair, and optimization of con gurations)?
RQ4 How are these automated tasks implemented?
2.3</p>
    </sec>
    <sec id="sec-5">
      <title>Complexity</title>
      <p>
        The computational complexity is an indicator of the amount
of resources needed to solve a given problem. In PC,
reasoning is usually achieved by encoding the problem in formalisms
such as CSP, SAT, answer set programming or description
logics, all of which are being supported by mature
reasoners. Both SAT and CSP are well-known to be NP complete
[
        <xref ref-type="bibr" rid="ref15 ref38">15, 38</xref>
        ]. Some extensions of CSPs (dynamic, composite)
polynomially reduce to classical CSP [
        <xref ref-type="bibr" rid="ref56">56</xref>
        ] whereas the decidability
of Generative CSP has yet to be established. Ground answer
set programs are NP complete ( 2p complete in the case of
optimization); if programs contain uninstantiated variables we
obtain NEXPTIME completeness [
        <xref ref-type="bibr" rid="ref19 ref50">50, 19</xref>
        ]. Description
logics are typically decidable fragments of rst order logic [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ];
the DLs used in PC range from polynomial over PSPACE
complete to undecidable [
        <xref ref-type="bibr" rid="ref12 ref35 ref40">35, 40, 12</xref>
        ]. Let us emphasize that
the aforementioned complexity results are only upper bounds:
Precise complexity results for classes of con guration
problems are still too rare (e.g., [
        <xref ref-type="bibr" rid="ref52">52</xref>
        ]).
      </p>
      <p>
        The same symptom can be observed in SPLE where only a
tiny fraction of the papers study complexity aspects (e.g. [
        <xref ref-type="bibr" rid="ref49">49</xref>
        ]).
While some experimental results exist, e.g., [
        <xref ref-type="bibr" rid="ref43">43</xref>
        ], theoretical
results are largely missing.
      </p>
      <p>Opportunities for cross-fertilization. Although to a
di erent extent, both PC and SPLE do not fully cover
questions related to the complexity of the automated tasks they
support for di erent classes of con guration problems. To
follow up on RQ1 and RQ3, we propose these new questions
that study their complexities:
RQ5 What is the complexity of automated tasks for relevant
classes of con guration problems?
RQ6 What reasoning frameworks can be used to build
scalable tools for each class of con guration problems?
2.4</p>
    </sec>
    <sec id="sec-6">
      <title>Life cycle coverage</title>
      <p>SPLE su ers from a certain lack of homogeneity across the
modelling artefacts used throughout the engineering life
cycle. From requirements engineering down to code generation,
a myriad of alternative techniques exist which are used and
combined di erently depending on the application domain
and project context. Therefore, there is no standard view
on how they should be integrated. As for PC, con guration
tasks can range from bill-of-material con guration over
cement factory design to t-shirt customization. These tasks call
for very di erent methods and techniques whose applications
have been insu ciently studied. Additionally, the creation of
feedback loops from productive use back to variability
design decisions is rather explored in the more business- or
management-centric literature without transfer to PC.</p>
      <p>
        Con gurator engineering is a more mature discipline in PC
than in SPLE, aiming at the co-design of the con gurator and
the con gurable artefact. According to Hvam et al. [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ], the
creation, implementation and operation of a con gurator is
a seven-phase procedure. The rst phase identi es the
product speci cation process, used for analyzing customer needs,
creating a customized product, and prescribing other related
activities, such as purchasing, delivery, servicing, and
recycling. The speci cation process also de nes the con guration
system that supports the activities composing it. The
second phase deals with the de nition of the product portfolio.
Phases three to six deal with the modelling and
implementation of the con guration system. The seventh phase focuses
on maintenance.
      </p>
      <p>Finally, the commercial side of con guration is also
important. PC has to deal typically with sales, consumer goods,
and engineers, wheras SPLE is more geared towards software
engineers and other technical experts. Although stakeholder
pro les vary from one case to the other, some con guration
tasks overlap and techniques could be shared.</p>
      <p>Opportunities for cross-fertilization. To better
pinpoint overlaps, we split the problem into three questions:</p>
      <sec id="sec-6-1">
        <title>RQ7 What are the con guration tasks? RQ8 How is a con gurable product engineered? RQ9 How is a con gurator engineered?</title>
        <p>2.5</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Knowledge evolution</title>
      <p>
        The main concern of the software con guration management
(CM) discipline is controlling and tracking the evolution of
products in response to changes. To do so, it introduces the
concept of versions that represent instances of products and
its parts over time. In CM, there are two main types of
versions [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]: revisions and variants. Revisions are versions
that supersede other versions due to bug xes or addition of
new functionalities. Variants are versions intended to coexist
through time to satisfy di erent user or platform needs.
Variants are well known in the PC and SPLE elds. However, the
management of revisions and the interaction of both is still
a weakness of PC and SPLE, especially when the product
and its parts evolve frequently. The need to deploy change
management techniques in SPLE is recognized [
        <xref ref-type="bibr" rid="ref13 ref47">13, 47</xref>
        ], and
some researchers have started working in this direction (e.g.
[
        <xref ref-type="bibr" rid="ref2 ref57">2, 57</xref>
        ]). Although promising, these results are still incomplete,
and need to be extended and consolidated.
      </p>
      <p>
        Problems related to the evolution of the con guration
knowledge and system (e.g. knowledge base, database, and
product instances) are also known in PC [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. PC research
has addressed some of these evolution-related aspects in the
context of recon guration problems (e.g. [
        <xref ref-type="bibr" rid="ref24 ref55">55, 24</xref>
        ]), which
consist in changing an already existing or deployed con guration
to accommodate new or changed customer requirements or
constraints in the knowledge base. Mannisto et al. [
        <xref ref-type="bibr" rid="ref39">39</xref>
        ]
discuss the issue of the evolution of con guration knowledge and
instances, proposing a framework to address it. The key idea
is to accept the independence of these evolutions, capture the
evolution in the models, and then do recon guration.
Problems similar to recon guration have been addressed in the
software domain: given a component-based software
installation (e.g. Linux, Eclipse), the component dependencies and
an (un-)install request, compute a best new installation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>Another practical challenge both in PC and SPLE is the
constantly growing number of components that can be part
of a con guration, be they semi-conductors, switches, or
software plug-ins. The corresponding knowledge bases soon
become hard to manage because they describe how older
components have to be replaced by newer ones or which component
versions are compatible.</p>
      <p>
        In CM, some have tried to provide a uni ed model for
software CM and product data management (e.g. [
        <xref ref-type="bibr" rid="ref16 ref20">20, 16</xref>
        ]). Those
models stop at the conceptual level without providing
operational solutions, however.
      </p>
      <p>Opportunities for cross-fertilization. Since the 1970s,
research in CM focused on change management. Mature
solutions are now available and could be applicable to PC.
Furthermore, researchers in SPLE and PC could join forces to
develop scalable techniques to address the explosion of the
number of components and their evolution. Those results could
then be contributed back to CM. The resulting questions are:
RQ10 How can CM techniques be applied to PC and SPLE?
RQ11 How to scale up with growing revision knowledge?</p>
    </sec>
    <sec id="sec-8">
      <title>Conclusion 3</title>
    </sec>
    <sec id="sec-9">
      <title>Research Roadmap</title>
      <p>
        The rst step of our project was the composition of an
heterogeneous panel of experts from the di erent communities and
the creation of a knowledge exchange portal. Once populated
with our initial results, our intention is to open this shared
portal to a wider community and invite collaborations. Our
research roadmap has ve phases.
1. Literature survey. The rst phase focuses on a
literature survey that should answer RQ1-9. The part of the
survey related to RQ1-4 is already underway. The body
of knowledge gathered during this initial phase will be the
foundation upon which the panel will start its uni cation
endeavour.
2. Domain understanding and classi cation. The
second phase paves the road toward a uni ed theory of con
guration. Its objective is to analyze the material collected in
the rst phase, to classify the application domains, study
their di erences and commonalities, and to identify the
possible bridges between these domains.
3. Uni ed theory de nition. The foundation for this
theory will be a mathematical model of the classes of
conguration problems and their properties. These classes of
con guration problems will be characterized by the
expressiveness needed to solve the problems. Analogous to the
classi cation of description logics [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], this will enable the
study of the theoretical complexity of the associated
computational problems. Problem frames [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ] could be used as
the macro-structure for this classi cation.
4. Uni ed theory operationalization. Upon this de
nition, we will build two layers: modelling languages and
reasoning techniques. In the modelling layer, we will rst sort
existing languages according to the con guration problems
they address. We will then work toward their uni cation,
possibly by mapping into a common core language. The
reasoning layer will gather the con guration tasks (e.g.,
consistency check, repair, and completion) identi ed in the
previous phases. For each task and a class of con guration
problems captured by a language, we will study
alternative reasoning techniques and assess their applicability (see
next phase). Finally, we will investigate how version
management techniques from CM can be adapted to support
con guration evolution. Based on these elements, we will
answer RQ6, 10 and 11.
5. Uni ed theory validation. Con guration can be
applied in a myriad of application domains to support many
di erent usage scenarios. Each situation will need its own
benchmarks and analyses. The objective of the panel will
be to validate the results of the theory operationalization
on a few industry-size models. In particular, it will seek
to better understand the respective merits and limitations
of the various reasoning techniques. Benchmarks will be
needed to assess their applicability and tractability on
various classes of problems. This pilot validation will be a rst
step in setting up a framework in which parallel e orts of
the community could commence.
      </p>
      <p>This roadmap is not intended to be executed in a waterfall
fashion: we expect several iterations through phases 2-5.
Con guration, both of software and other types of products,
continues to be a timely business strategy as customers
consistently strive for a ordable tailor-made products. Yet, research
in product and software con guration progresses on di erent
and rarely intersecting paths. This paper (1) motivated the
need for bridging the current gap between these two domains,
and (2) presented a roadmap to build such a bridge and set
cross-fertilization in motion.</p>
      <p>Our initial observations show that the contribution of the
research in product con guration to software product con
guration is rather glaring. The inverse is, however, less
obvious. As possible contributions, we see methodological aspects
as well as modelling techniques. Once laid upon more
formal foundations, some of these models could further improve
product con guration.</p>
      <p>Finally, the evolution problem is still under-explored in
both software and product con guration. They both have a
lot to gain from the techniques promoted in con guration
management. Conversely, the formal treatment of con
guration problems and automated reasoning could enhance
existing work in con guration management.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>P.</given-names>
            <surname>Abate</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. Di</given-names>
            <surname>Cosmo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Treinen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Zacchiroli</surname>
          </string-name>
          , `
          <article-title>Dependency solving: a separate concern in component evolution management'</article-title>
          ,
          <source>Systems and Software</source>
          , (
          <year>2012</year>
          ). To appear.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Anastasopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Muthig</surname>
          </string-name>
          ,
          <string-name>
            <surname>T. H. B. de Oliveira</surname>
            ,
            <given-names>E. S.</given-names>
          </string-name>
          <string-name>
            <surname>Almeida</surname>
          </string-name>
          , and S. R. de Lemos Meira, `
          <article-title>Evolving a software product line reuse infrastructure: A con guration management solution'</article-title>
          ,
          <source>in Proc. VaMoS'09</source>
          ,
          <string-name>
            <surname>Sevilla</surname>
          </string-name>
          , (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>H. R.</given-names>
            <surname>Andersen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Hadzic</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Pisinger</surname>
          </string-name>
          , `
          <article-title>Interactive cost con guration over decision diagrams'</article-title>
          ,
          <source>Arti cial Intelligence Research (JAIR)</source>
          ,
          <volume>37</volume>
          , 99{
          <fpage>139</fpage>
          , (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Aschinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Drescher</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Vollmer</surname>
          </string-name>
          , `
          <article-title>LoCo - A Logic for Con guration Problems'</article-title>
          ,
          <source>in Proceedings of the 20th European Conference on Arti cial Intelligence (ECAI)</source>
          , Montpellier, France, (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>T.</given-names>
            <surname>Asikainen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Soininen</surname>
          </string-name>
          , and T. Mannisto, `
          <article-title>A Koala-based approach for modelling and deploying con gurable software product families'</article-title>
          ,
          <source>in Porc PLE'03</source>
          ,
          <string-name>
            <surname>Springer</surname>
            <given-names>LNCS</given-names>
          </string-name>
          3014, pp.
          <volume>225</volume>
          {
          <fpage>249</fpage>
          , (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>The</given-names>
            <surname>Description Logic Handbook: Theory</surname>
          </string-name>
          , Implementation, and Applications, eds.,
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nardi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          , Cambridge University Press,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>E.</given-names>
            <surname>Bagheri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. Di</given-names>
            <surname>Noia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ragone</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Gasevic</surname>
          </string-name>
          , `
          <article-title>Conguring software product line feature models based on stakeholders' soft and hard requirements'</article-title>
          ,
          <source>in SPLC'10</source>
          , pp.
          <volume>16</volume>
          {
          <fpage>31</fpage>
          , (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>K.</given-names>
            <surname>Bak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          , and Andrzej W., `
          <article-title>Feature and metamodels in clafer: Mixed, specialized</article-title>
          , and coupled',
          <source>in Proc. SLE'10</source>
          , pp.
          <volume>102</volume>
          {
          <issue>122</issue>
          ,
          <string-name>
            <surname>Eindhoven</surname>
          </string-name>
          , The Netherlands, (
          <year>2010</year>
          ). Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>D.</given-names>
            <surname>Batory</surname>
          </string-name>
          , `
          <article-title>Feature models, grammars, and propositional formulas'</article-title>
          ,
          <source>in SPLC'05</source>
          , pp.
          <volume>7</volume>
          {
          <issue>20</issue>
          ,
          <string-name>
            <surname>Rennes</surname>
          </string-name>
          , France, (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Benavides</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Segura</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Ruiz-Cortes</surname>
          </string-name>
          , `
          <article-title>Automated analysis of feature models 20 years later: a literature review'</article-title>
          ,
          <source>Information Systems</source>
          ,
          <volume>35</volume>
          (
          <issue>6</issue>
          ),
          <volume>615</volume>
          {
          <fpage>636</fpage>
          , (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Benavides</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Trinidad</surname>
          </string-name>
          , and
          <string-name>
            <surname>Ruiz-Cortez</surname>
            <given-names>A</given-names>
          </string-name>
          .,
          <source>`Automated reasoning on feature models'</source>
          ,
          <source>in Proc. CAiSE'05</source>
          , pp.
          <volume>491</volume>
          {
          <issue>503</issue>
          ,
          <string-name>
            <surname>Porto</surname>
          </string-name>
          , Portugal, (
          <year>2005</year>
          ). Springer.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Buchheit</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Klein</surname>
          </string-name>
          , and W. Nutt, `
          <article-title>Constructive Problem Solving: A Model Construction Approach towards Con guration'</article-title>
          ,
          <source>Technical Report TM-95-01</source>
          , DFKI, (
          <year>1995</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>P.</given-names>
            <surname>Clements</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Northrop</surname>
          </string-name>
          ,
          <source>Software Product Lines: Practices and Patterns</source>
          ,
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>R.</given-names>
            <surname>Conradi</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Westfechtel</surname>
          </string-name>
          , `
          <article-title>Version models for software con guration management'</article-title>
          ,
          <source>ACM Computing Surveys</source>
          ,
          <volume>30</volume>
          , 232{
          <fpage>282</fpage>
          , (
          <year>June 1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Cook</surname>
          </string-name>
          , `
          <article-title>The complexity of theorem-proving procedures'</article-title>
          ,
          <source>in Proceedings of the 3rd Annual ACM Symposium on Theory of Computing</source>
          , (
          <year>1971</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>I.</given-names>
            <surname>Crnkovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Asklund</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Dahlqvist</surname>
          </string-name>
          ,
          <article-title>Implementing and integrating product data management and software conguration management</article-title>
          , Artech House Publishers,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Grunbacher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rabiser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Schmid</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Wasowski</surname>
          </string-name>
          , `
          <article-title>Cool features and tough decisions: Two decades of variability modeling'</article-title>
          ,
          <source>in Proc. VaMoS'12</source>
          , Leipzig, Germany, (
          <year>2012</year>
          ). ACM Press.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Helsen</surname>
          </string-name>
          , and U. W. Eisenecker, `
          <article-title>Staged conguration through specialization and multi-level con guration of feature models'</article-title>
          ,
          <source>Software Process: Improvement and Practice</source>
          ,
          <volume>10</volume>
          (
          <issue>2</issue>
          ),
          <volume>143</volume>
          {
          <fpage>169</fpage>
          , (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>E.</given-names>
            <surname>Dantsin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Gottlob, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Voronkov</surname>
          </string-name>
          , `
          <article-title>Complexity and expressive power of logic programming'</article-title>
          ,
          <source>ACM Computing Surveys</source>
          ,
          <volume>33</volume>
          (
          <issue>3</issue>
          ),
          <volume>374</volume>
          {
          <fpage>425</fpage>
          , (
          <year>2001</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>J.</given-names>
            <surname>Estublier</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.-M. Favre</surname>
            , and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Morat</surname>
          </string-name>
          , `Toward scm / pdm integration?',
          <source>in Proc. SCM'98</source>
          , pp.
          <volume>75</volume>
          {
          <issue>94</issue>
          , London, UK,
          <string-name>
            <surname>UK</surname>
          </string-name>
          , (
          <year>1998</year>
          ). Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>A.</given-names>
            <surname>Falkner</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Haselb</surname>
          </string-name>
          <article-title>ock, `Challenges of knowledge evolution in practice'</article-title>
          ,
          <source>in ECAI 2010 IKBET Wks</source>
          , pp.
          <volume>1</volume>
          {
          <issue>5</issue>
          , (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          , G. Friedrich, and
          <string-name>
            <given-names>D.</given-names>
            <surname>Jannach</surname>
          </string-name>
          , `
          <article-title>UML as domain speci c language for the construction of knowledge-based conguration systems'</article-title>
          ,
          <source>in Proc. SEKE 99</source>
          , pp.
          <volume>337</volume>
          {
          <issue>345</issue>
          ,
          <string-name>
            <surname>Kaiserslautern</surname>
          </string-name>
          , Germany, (
          <year>1999</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Friedrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jannach</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Stumptner</surname>
          </string-name>
          , `
          <article-title>Consistency-based diagnosis of con guration knowledge bases'</article-title>
          ,
          <source>Arti cial Intelligence</source>
          ,
          <volume>152</volume>
          , 213{
          <fpage>234</fpage>
          , (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>G.</given-names>
            <surname>Friedrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ryabokon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Falkner</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Haselbock, G. Schenner, and
          <string-name>
            <given-names>H.</given-names>
            <surname>Schreiner</surname>
          </string-name>
          , `
          <article-title>(Re)con guration based on model generation'</article-title>
          ,
          <source>in Proc. LoCoCo Workshop</source>
          , EPTCS, pp.
          <volume>26</volume>
          {
          <fpage>35</fpage>
          , (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>H.</given-names>
            <surname>Gomaa</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. Eonsuk</given-names>
            <surname>Shin</surname>
          </string-name>
          , `
          <article-title>Multiple-view modelling and meta-modelling of software product lines'</article-title>
          ,
          <source>IET Software</source>
          ,
          <volume>2</volume>
          (
          <issue>2</issue>
          ),
          <volume>94</volume>
          {
          <fpage>122</fpage>
          , (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>G.</given-names>
            <surname>Gottlob</surname>
          </string-name>
          , G. Greco, and T. Mancini, `
          <article-title>Conditional Constraint Satisfaction: Logical Foundations and Complexity'</article-title>
          ,
          <source>in Proceedings of the 20th International Joint Conference on Arti cial Intelligence (IJCAI)</source>
          , Hyderabad, India, (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>A.</given-names>
            <surname>Gu</surname>
          </string-name>
          <article-title>nter and C. Kuhn, `Knowledge-based con guration: Survey and future directions'</article-title>
          ,
          <source>in Proc. XPS'99</source>
          , pp.
          <volume>47</volume>
          {
          <issue>66</issue>
          , London, (
          <year>1999</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>L.</given-names>
            <surname>Hotz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Wolter</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Krebs</surname>
          </string-name>
          ,
          <article-title>Con guration in Industrial Product Families: The ConIPF Methodology</article-title>
          , IOS Press, Inc.,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>A.</given-names>
            <surname>Hubaux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Classen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Heymans</surname>
          </string-name>
          , `
          <article-title>Formal modelling of feature con guration work ow'</article-title>
          ,
          <source>in Proc. SPLC'09</source>
          , pp.
          <volume>221</volume>
          {
          <issue>230</issue>
          ,
          <string-name>
            <surname>San</surname>
            <given-names>Francisco</given-names>
          </string-name>
          , (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>L.</given-names>
            <surname>Hvam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. Henrik</given-names>
            <surname>Mortensen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Riis</surname>
          </string-name>
          , Product Customization, Springer-Verlag Berlin Heidelberg,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>M.</given-names>
            <surname>Jackson</surname>
          </string-name>
          ,
          <article-title>Problem frames: analyzing and structuring software development problems</article-title>
          , Addison-Wesley,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>D.</given-names>
            <surname>Jannach</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Zanker</surname>
          </string-name>
          , `
          <article-title>Modeling and solving distributed con guration problems: A CSP-based approach'</article-title>
          , IEEE TKDE, http://doi.ieeecomputersociety.
          <source>org/10</source>
          .1109/TKDE.
          <year>2011</year>
          .
          <volume>236</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>M.</given-names>
            <surname>Janota</surname>
          </string-name>
          , `
          <article-title>Do SAT solvers make good con gurators?'</article-title>
          ,
          <source>in Proc. ASPL'08</source>
          , pp.
          <volume>191</volume>
          {
          <issue>195</issue>
          ,
          <string-name>
            <surname>Limerick</surname>
          </string-name>
          , Ireland, (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>U.</given-names>
            <surname>Junker</surname>
          </string-name>
          ,
          <article-title>Handbook of Constraint Programming, chapter Con guration</article-title>
          ,
          <volume>837</volume>
          {
          <fpage>873</fpage>
          ,
          <string-name>
            <surname>Elsevier</surname>
          </string-name>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>U.</given-names>
            <surname>Junker</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Mailharro</surname>
          </string-name>
          , `
          <article-title>The logic of ILOG (J)Con gurator: Combining constraint programming with a description logic'</article-title>
          ,
          <source>in Proc. IJCAI-03 Con guration Workshop</source>
          , (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>U.</given-names>
            <surname>Junker</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Mailharro</surname>
          </string-name>
          , `
          <article-title>Preference programming: Advanced problem solving for con guration'</article-title>
          ,
          <source>AIEDAM</source>
          ,
          <volume>17</volume>
          (
          <issue>1</issue>
          ),
          <volume>13</volume>
          {
          <fpage>29</fpage>
          , (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>K.</given-names>
            <surname>Kang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. G.</given-names>
            <surname>Cohen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Hess</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. E.</given-names>
            <surname>Novak</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. S.</given-names>
            <surname>Peterson</surname>
          </string-name>
          , `
          <string-name>
            <surname>Feature-Oriented Domain Analysis (FODA) Feasibility</surname>
            <given-names>Study'</given-names>
          </string-name>
          ,
          <source>Technical report, SEI</source>
          ,
          <string-name>
            <surname>CMU</surname>
          </string-name>
          , (
          <year>1990</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <surname>A. K. Mackworth</surname>
          </string-name>
          , `
          <article-title>Consistency in networks of relations'</article-title>
          ,
          <source>Arti cial Intelligence</source>
          ,
          <volume>8</volume>
          , 99{
          <fpage>118</fpage>
          , (
          <year>1977</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>T.</given-names>
            <surname>Ma</surname>
          </string-name>
          <article-title>nnisto, A Conceptual Modelling Approach to Product Families and Their Evolution</article-title>
          ,
          <source>Ph.D. dissertation</source>
          , Helsinki University of Technology, Finland,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [40]
          <string-name>
            <given-names>D. L.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Wright</surname>
          </string-name>
          , `
          <article-title>Conceptual modelling for con guration: A description logic-based approach'</article-title>
          ,
          <source>Artif. Intell. Eng. Des. Anal. Manuf</source>
          .,
          <volume>12</volume>
          (
          <issue>4</issue>
          ),
          <volume>333</volume>
          {
          <fpage>344</fpage>
          , (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [41]
          <string-name>
            <surname>M. D. McIlroy</surname>
          </string-name>
          , `
          <article-title>Mass produced software components'</article-title>
          ,
          <source>in Proc. Software Engineering Concepts and Techniques</source>
          , pp.
          <volume>138</volume>
          {
          <fpage>150</fpage>
          . NATO Science Committee, (
          <year>1968</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          [42]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mendonca</surname>
          </string-name>
          ,
          <article-title>E cient Reasoning Techniques for Large Scale Feature Models</article-title>
          ,
          <source>Ph.D. dissertation</source>
          , U Waterloo,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          [43]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mendonca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Wasowski</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          , `
          <article-title>SAT-based analysis of feature models is easy'</article-title>
          ,
          <source>in Proc. SPLC'09</source>
          , pp.
          <volume>231</volume>
          {
          <issue>240</issue>
          ,
          <string-name>
            <surname>San</surname>
            <given-names>Francisco</given-names>
          </string-name>
          , (
          <year>2009</year>
          ). Carnegie Mellon University.
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          [44]
          <string-name>
            <given-names>R.</given-names>
            <surname>Michel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Classen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hubaux</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Q.</given-names>
            <surname>Boucher</surname>
          </string-name>
          , `
          <article-title>A formal semantics for feature cardinalities in feature diagrams'</article-title>
          ,
          <source>in Proc. Wks</source>
          .
          <source>VaMoS'11</source>
          , pp.
          <volume>82</volume>
          {
          <issue>89</issue>
          ,
          <string-name>
            <surname>Namur</surname>
            ,
            <given-names>BE</given-names>
          </string-name>
          , (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          [45]
          <string-name>
            <given-names>S.</given-names>
            <surname>Mittal</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Falkenhainer</surname>
          </string-name>
          , `
          <article-title>Dynamic constraint satisfaction problems'</article-title>
          ,
          <source>in AAAI'90</source>
          , pp.
          <volume>25</volume>
          {
          <fpage>32</fpage>
          , Boston, (
          <year>1990</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref46">
        <mixed-citation>
          [46]
          <string-name>
            <given-names>M.</given-names>
            <surname>Pasanen</surname>
          </string-name>
          ,
          <article-title>Warnings and Pre-selection Packages in a Weight Constraint Rule Based Con gurator</article-title>
          ,
          <source>Master's thesis</source>
          , Helsinki University of Technology, Department of Computer Science and Engineering, Finland,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref47">
        <mixed-citation>
          [47]
          <string-name>
            <given-names>K.</given-names>
            <surname>Pohl</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Bockle, and</article-title>
          <string-name>
            <surname>F. J. van der Linden</surname>
          </string-name>
          , Software Product Line Engineering: Foundations, Principles and Techniques, Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref48">
        <mixed-citation>
          [48]
          <string-name>
            <given-names>D.</given-names>
            <surname>Sabin</surname>
          </string-name>
          and
          <string-name>
            <given-names>E. C.</given-names>
            <surname>Freuder</surname>
          </string-name>
          , `
          <article-title>Con guration as Composite Constraint Satisfaction'</article-title>
          ,
          <source>in Proceedings of the Arti cial Intelligence and Manufacturing Research Planning Workshop (AIMRP)</source>
          , Albuquerque, New Mexico, (
          <year>1996</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref49">
        <mixed-citation>
          [49]
          <string-name>
            <surname>P-Y. Schobbens</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Heymans</surname>
          </string-name>
          ,
          <string-name>
            <surname>J-C. Trigaux</surname>
          </string-name>
          , and Yves Bontemps, `
          <article-title>Generic semantics of feature diagrams', Comput</article-title>
          . Netw.,
          <volume>51</volume>
          (
          <issue>2</issue>
          ),
          <volume>456</volume>
          {
          <fpage>479</fpage>
          , (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref50">
        <mixed-citation>
          [50]
          <string-name>
            <given-names>P.</given-names>
            <surname>Simons</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Niemela, and T</article-title>
          . Soininen, `
          <article-title>Extending and implementing the stable model semantics'</article-title>
          ,
          <source>Arti cial Intelligence</source>
          ,
          <volume>138</volume>
          (
          <issue>1</issue>
          {2),
          <volume>181</volume>
          {
          <fpage>234</fpage>
          , (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref51">
        <mixed-citation>
          [51]
          <string-name>
            <given-names>C.</given-names>
            <surname>Sinz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kaiser</surname>
          </string-name>
          , and W. Kuchlin, `
          <article-title>SAT-based consistency checking of automotive electronic product data'</article-title>
          ,
          <source>in ECAI Workshop</source>
          , (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref52">
        <mixed-citation>
          [52]
          <string-name>
            <given-names>T.</given-names>
            <surname>Soininen</surname>
          </string-name>
          ,
          <article-title>An Approach to Knowledge Representation and Reasoning for Product Con guration Tasks</article-title>
          ,
          <source>Ph.D. dissertation</source>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref53">
        <mixed-citation>
          [53]
          <string-name>
            <given-names>T.</given-names>
            <surname>Soininen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Tiihonen</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          <article-title>Mannisto, and</article-title>
          <string-name>
            <given-names>R.</given-names>
            <surname>Sulonen</surname>
          </string-name>
          , `
          <article-title>Towards a general ontology of con guration'</article-title>
          ,
          <source>AIEDAM</source>
          ,
          <volume>12</volume>
          , 357{
          <fpage>372</fpage>
          , (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref54">
        <mixed-citation>
          [54]
          <string-name>
            <given-names>M.</given-names>
            <surname>Stumptner</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Haselbock, and G. Friedrich, `
          <article-title>Generative Constraint-based Con guration of Large Technical Systems'</article-title>
          ,
          <source>AI EDAM</source>
          ,
          <volume>12</volume>
          (
          <issue>4</issue>
          ),
          <volume>307</volume>
          {
          <fpage>320</fpage>
          , (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref55">
        <mixed-citation>
          [55]
          <string-name>
            <given-names>M.</given-names>
            <surname>Stumptner</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Wotawa</surname>
          </string-name>
          , `
          <article-title>Model-based recon guration'</article-title>
          ,
          <source>in Proc. AID'98</source>
          , pp.
          <volume>45</volume>
          {
          <fpage>64</fpage>
          , (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref56">
        <mixed-citation>
          [56]
          <string-name>
            <given-names>E.</given-names>
            <surname>Thorstensen</surname>
          </string-name>
          , `Capturing Con guration',
          <source>in Doctoral Program at the 16th International Conference on Principles and Practice of Constraint Programming (CP)</source>
          ,
          <article-title>St</article-title>
          . Andrews, Scotland, (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref57">
        <mixed-citation>
          [57]
          <string-name>
            <given-names>T.</given-names>
            <surname>Thum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Batory</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Kastner</surname>
          </string-name>
          , `
          <article-title>Reasoning about edits to feature models'</article-title>
          ,
          <source>in Proc. ICSE'09</source>
          , pp.
          <volume>254</volume>
          {
          <issue>264</issue>
          , Washington, DC, USA, (
          <year>2009</year>
          ). IEEE Computer Society.
        </mixed-citation>
      </ref>
      <ref id="ref58">
        <mixed-citation>
          [58]
          <string-name>
            <given-names>T. T.</given-names>
            <surname>Tun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Boucher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Classen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hubaux</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Heymans</surname>
          </string-name>
          , `
          <article-title>Relating requirements and feature con gurations: A systematic approach'</article-title>
          ,
          <source>in Proc. SPLC'09</source>
          , pp.
          <volume>201</volume>
          {
          <issue>210</issue>
          , San Francisco, CA, USA, (
          <year>2009</year>
          ). ACM Press.
        </mixed-citation>
      </ref>
      <ref id="ref59">
        <mixed-citation>
          [59]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Xiong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hubaux</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          , `
          <article-title>Generating range xes for software con guration'</article-title>
          ,
          <source>in Proc. ICSE'12</source>
          ,
          <string-name>
            <surname>Zurich</surname>
          </string-name>
          , Switzerland, (
          <year>2012</year>
          ). IEEE Computer Society.
        </mixed-citation>
      </ref>
      <ref id="ref60">
        <mixed-citation>
          [60]
          <string-name>
            <given-names>T.</given-names>
            <surname>Ziadi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Helouet</surname>
          </string-name>
          , and J.
          <string-name>
            <surname>-M. Jezequel</surname>
          </string-name>
          , `
          <article-title>Towards a UML pro le for software product lines'</article-title>
          ,
          <source>in Software Product-Family Engineering</source>
          , Springer LNCS 3014,
          <issue>129</issue>
          {
          <fpage>139</fpage>
          , (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>