<!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>Configuring Multiple Instances with Multi-Configuration</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alexander Felfernig</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Seda Polat-Erdeniz</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrei Popescu</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Stettinger</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Viet-Man Le</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thi Ngoc Trang Tran</string-name>
          <email>mathias.uta@siemens.com</email>
        </contrib>
      </contrib-group>
      <abstract>
        <p>Configuration is a successful application area of Artificial Intelligence. In the majority of the cases, configuration systems focus on configuring one solution (configuration) that satisfies the preferences of a single user or a group of users. In this paper, we introduce a new configuration approach - multi-configuration - that focuses on scenarios where the outcome of a configuration process is a set of configurations. Example applications thereof are the configuration of personalized exams for individual students, the configuration of project teams, reviewer-to-paper assignment, and hotel room assignments including individualized city trips for tourist groups. For multi-configuration scenarios, we exemplify a constraint satisfaction problem representation in the context of configuring exams. The paper is concluded with a discussion of open issues for future work.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Configuration is a special case of design activity where a product is
composed of a selection of predefined components that satisfies a set
of constraints [
        <xref ref-type="bibr" rid="ref11 ref14 ref4">4, 11, 14</xref>
        ]. Typical configurator applications are based
on the assumption that a product (or service) is configured for a
single user. Related example applications can be found in product
domains such as telecommunications [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], automotive [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], and software
systems [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. In contrast to the configuration for an individual user,
group-based configuration [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is based on the idea of configuring a
product or service for a group of users, i.e., the resulting
configuration must take into account as much as possible the individual
preferences of group members. An example of a group-based scenario is
the configuration and also recommendation of software release plans
where software requirements have to be arranged in such a way that
the preferences of individual stakeholders are taken into account as
much as possible [
        <xref ref-type="bibr" rid="ref1 ref3">1, 3</xref>
        ].
      </p>
      <p>In this paper, we focus on a scenario where multiple instances of
the same product type are configured for one user or a group of users.
In this context, a set of constraints defines restrictions regarding the
possible combinations of individual instances, i.e., the configured
instances are not completely independent. An application scenario
for multi-configuration is the configuration of user-individual exams
which have to take into account a set of constraints, for example, the
share of complex questions per student must be below 20%.
Following this representation, we define multi-configuration as a specific
type of configuration task where multiple instances of the same type
are configured for a single user or a group of users.</p>
      <p>
        There are various example scenarios which can profit from
multiconfiguration. (1) When assigning presentation topics to students, the
goal could be to identify three different starting paper references per
student where, for example, each reference should be assigned to not
more than two students. (2) When planning room assignments for
larger user groups (e.g., for a soccer training camp), a configurator
could collect the preferences of individual group members and then
generate a room assignment that takes into account as much as
possible the preferences of the individual group members. (3) When
configuring project teams, a configurator could take care of the optimal
configuration of individual teams while keeping in mind the aspect
of fairness, i.e., none of the team configurations should be
”suboptimal”. (4) When designing an apartment/house complex,
neighborhood buildings must take into account rules such as the roof type
of all buildings should be the same or neighborhood buildings must
not reduce the amount of direct sunlight below a specific treshold.
Compared to the former ones, the latter scenario can be regarded as a
kind of industrial multi-configuration setting. Finally, the automated
generation of test cases [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], for example, in the context of regression
testing, can be regarded as a multi-configuration task.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Multi-Configuration</title>
      <p>
        In single user and group-based configuration scenarios, one
configuration is determined that supports the requirements of the user (or
a group of users). In multi-configuration scenarios, a set of
configurations is determined for one or a group of users. The following
discussions are based on a constraint-based configuration knowledge
representation [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. The following definition of a configuration task
(and solution) allows to represent collections of configurations (see
Definition 1 and Definition 2). A multi-configuration task can be
defined as a constraint satisfaction problem (CSP) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>Definition 1. A Multi-Configuration Task can be defined by a
tuple (V; D; REQ; C) where V = Sfvij g is a set of finite
domain variables (vij represents variable j of configuration instance
i), D = Sfdom(vij )g is a set of corresponding domain definitions,
REQ = Sfvij = valij g represents a set of user requirements, and
C = fc1; c2; ::; cmg is a set of constraints that restrict the way in
which individual variable values can be combined with each other.</p>
      <p>For simplicity, we assume that user requirements in REQ are
represented by simple variable value assignments (vij = valij ).
However, if needed, this assumption can be replaced by the more general
case of allowing users to specify more complex constraints where
each of those constraints is regarded as an individual requirement.
Furthermore, we decided not to differentiate between different
constraint types, for example, constraints referring to individual
configurations and constraints referring to a set of configurations. On
the basis of Definition 1, we can introduce the definition of a
multiconfiguration (see Definition 2).</p>
      <p>Definition 2. A multi-configuration for a multi-configuration task
(V; D; REQ; C) is a set of variable value assignments CON F =
Sfvij = valij g s.t. CON F [ C [ REQ is consistent.</p>
      <p>We now introduce an example multi-exam configuration scenario.3
3</p>
    </sec>
    <sec id="sec-3">
      <title>Example Multi-Configuration Scenario</title>
      <p>In multi-exam configuration, the overall goal is to determine an exam
instance for each examinee where a couple of constraints have to be
taken into account. The underlying idea is to provide variability
models for the purpose of being able to generate examinee-individual
exams and thus save time in exam preparation and also avoid cheating
due to exam diversity. Furthermore, this approach provides the
possibility of a deeper integration of examinees into exam-related decision
processes, i.e., students can be allowed to some extend to articulate
their preferences regarding an exam. Following Definition 1, we now
show how to represent the task of multi-exam configuration.</p>
      <p>V = fq11::qkl; q11:type::qkl:type; q11:level::qkl:levelg where
qij is question j posed to examinee i, qij :type denotes the
question type (category), qij :level is the question complexity, k the
number of examinees, and l the number of questions / examinee.
D = fdom(q11)::dom(qkl); dom(q11:type)::dom(qkl:type);
dom(q11:level)::dom(qkl:level)g, where dom(qij ) = f1::pg,
dom(qij :type) = f1::qg, and dom(qij :level) = f1::rg (p =
number of questions per examinee, q = number of question
categories, and r = number of question complexity levels).</p>
      <p>REQ = fr1::rug where r is a requirement identifier and u the
number of requirements (defined by examinees and instructors).
C = fc1::cvg where v is the number of constraints.</p>
      <p>In the following, we introduce a couple of example constraints that
could be defined in the context of an exam configuration task.</p>
      <p>Requirements. REQ includes a set of examinee- (and instructor-)
individual constraints – in the context of our example, REQ is a set
of examinee-specific constraints that have to be taken into account.
The motivation behind this is that we want to make exam generation
more flexible in terms of being able to include the preferences of
examinees as well as the preferences of instructors.</p>
      <p>First, we assume that examinee a prefers to have included 30%
of questions related to the categories f ; g (see Formula 1). This
way, we want to bring more flexibility into exam configuration,
however, students will not always get what they want, i.e., their
preferences have to be consistent with constraints defined by instructors.
In many scenarios, students will not be allowed to define such
constraints, i.e., only instructor requirements are relevant.</p>
      <p>r1 : jfqaj 2 V : qaj :type 2 f ; ggj
jfqaj 2 V gj
0:3</p>
      <p>Furthermore, we assume that examinee a prefers not to have
included questions related to question category (see Formula 2).
r2 : jfqaj 2 V : qaj :type =
gj = 0</p>
      <p>Question-level Constraints. These constraints define properties
related to the inclusion of specific questions. For example, we assume
that a specific question v must not be included in more than x exams
(see Formula 3), i.e., x = 0 would exclude v from any exam.
c1 : jfqij 2 V : qij = vgj
x</p>
      <p>Furthermore, we assume that each exam configuration includes
question u or question v (see Formula 4).
3 For exam configuration, we replace the term user with examinee/instructor.
(1)
(2)
(3)
c2 :
k(#examinees) l(#questions)
^ _
i=1
j=1
(qij = u _ qij = v)
We also assume that the minimum question complexity level is .</p>
      <p>c3 : 8qij 2 V : qij :level</p>
      <p>Global Constraints. We require that no question of type must be
included in the exam (see Formula 6). A simple reason for
formulating such constraints could be that the related topic has not been
discussed in detail within the scope of the course.</p>
      <p>c4 : jfqij 2 V : qij :type =
gj = 0</p>
      <p>We want to assure that at least three questions of type
included in each exam u (see Formula 7).
must be
c5 : 8u 2 f1::kg : jfquj 2 V : quj :type =
gj
3
Furthermore, the overall estimated duration of each exam must be
minutes (constraint formulated for examinee a) (see Formula 8).
c6 :
l(#questions)(qaj :duration) =
j=1</p>
      <p>We also want to assure that the share of complex questions
(level = ) per examinee must be between 16% and 18% (example
formulated for examinee a) (see Formula 9).</p>
      <p>c7 : 0:16
jfqaj 2 V : qaj :level =</p>
      <p>gj
jfqaj 2 V gj
0:18
(9)</p>
      <p>Further Constraints. In addition to the mentioned examples, there
are many further relevant constraints, for example, each examinee
should be asked a specific question only once and the question
overlap between each pair of students should be more than 90%.
(4)
(5)
(6)
(7)
(8)
4</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions and Future Work</title>
      <p>
        We have introduced the notion of multi-configuration which is a
specific approach focusing on scenarios where collections of
configurations are designed for user groups. In order to better
understand the discussed concepts, we have introduced a working
example from the domain of exam configuration. Future work will
include the analysis of the applicability of the presented concepts in
the exam configuration domain (e.g., we will identify a complete set
of typically relevant domain constraints) as well as in further
multiconfiguration scenarios. Furthermore, we will analyze new user
interfaces and interaction requirements triggered by the application
of multi-configuration concepts. The knowledge representation
concepts discussed within the context of our exam configuration scenario
are currently integrated into the KNOWLEDGECHECKR elearning
environment (www.knowledgecheckr.com) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Our major motivation
is to increase the flexibility of exam generation but also to
counteract cheating in online exams through an increased exam
variability. In cases where individual user requirements induce an
inconsistency with the exam model constraints, we propose the application of
model-based diagnosis concepts [
        <xref ref-type="bibr" rid="ref10 ref5 ref9">5, 9, 10</xref>
        ] which can help to
determine minimal conflict resolutions that also take into account aspects
such as fairness and representativeness of the remaining questions.
      </p>
    </sec>
    <sec id="sec-5">
      <title>ACKNOWLEDGEMENTS</title>
      <p>The presented work has been conducted in the PARXCEL project
funded by the Austrian Research Promotion Agency (880657).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          , '
          <article-title>AI Techniques for Software Requirements Prioritization'</article-title>
          ,
          <source>in Artificial Intelligence Methods</source>
          for Software Engineering, eds.,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kalech</surname>
          </string-name>
          ,
          <string-name>
            <surname>R</surname>
          </string-name>
          : Abreu, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Last</surname>
          </string-name>
          ,
          <volume>29</volume>
          -
          <fpage>47</fpage>
          ,
          <string-name>
            <surname>World</surname>
            <given-names>Scientific</given-names>
          </string-name>
          , (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Atas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Tran</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Stettinger</surname>
          </string-name>
          , '
          <article-title>Towards group-based configuration'</article-title>
          ,
          <source>in ConfWS'16</source>
          , pp.
          <fpage>69</fpage>
          -
          <lpage>72</lpage>
          , Toulouse, France, (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Boratto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Stettinger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Tkalcic</surname>
          </string-name>
          , Group Recommender Systems, Springer,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Hotz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bagley</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Tiihonen</surname>
          </string-name>
          ,
          <article-title>Knowledge-based Configuration -</article-title>
          From Research to Business Cases, Elsevier,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Schubert</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Zehentner</surname>
          </string-name>
          , '
          <article-title>An Efficient Diagnosis Algorithm for Inconsistent Constraint Sets'</article-title>
          ,
          <source>AI for Engineering Design, Analysis, and Manufacturing</source>
          ,
          <volume>26</volume>
          (
          <issue>1</issue>
          ),
          <fpage>53</fpage>
          -
          <lpage>62</lpage>
          , (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Fleischanderl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Friedrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Haselboeck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Schreiner</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Stumptner</surname>
          </string-name>
          , '
          <article-title>Configuring large systems using generative constraint satisfaction'</article-title>
          ,
          <source>IEEE Intelligent Systems</source>
          ,
          <volume>13</volume>
          (
          <issue>4</issue>
          ),
          <fpage>59</fpage>
          -
          <lpage>68</lpage>
          , (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Gotlieb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Botella</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Rueher</surname>
          </string-name>
          , '
          <article-title>Automatic Test Data Generation Using Constraint Solving Techniques'</article-title>
          ,
          <source>ACM SIGSOFT Software Engineering Notes</source>
          ,
          <volume>23</volume>
          (
          <issue>2</issue>
          ),
          <fpage>53</fpage>
          -
          <lpage>62</lpage>
          , (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Landahl</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Bergsjo¨ , and</article-title>
          <string-name>
            <given-names>H.</given-names>
            <surname>Johannesson</surname>
          </string-name>
          , '
          <article-title>Future Alternatives for Automotive Configuration Management'</article-title>
          ,
          <source>Procedia Computer Science</source>
          ,
          <volume>28</volume>
          ,
          <fpage>103</fpage>
          -
          <lpage>110</lpage>
          , (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>V.M.</given-names>
            <surname>Le</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Uta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Benavides</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Galindo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.N.T.</given-names>
            <surname>Tran</surname>
          </string-name>
          , '
          <source>DIRECTDEBUG: Automated Testing and Debugging of Feature Models', in 43rd Intl. Conference on Software Engineering (ICSE'21)</source>
          , pp.
          <fpage>81</fpage>
          -
          <lpage>85</lpage>
          , Virtual, (
          <year>2021</year>
          ). IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>R.</given-names>
            <surname>Reiter</surname>
          </string-name>
          , '
          <article-title>A theory of diagnosis from first principles'</article-title>
          ,
          <source>Artificial Intelligence</source>
          ,
          <volume>32</volume>
          (
          <issue>1</issue>
          ),
          <fpage>57</fpage>
          -
          <lpage>95</lpage>
          , (
          <year>1987</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Sabin</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Weigel</surname>
          </string-name>
          , '
          <article-title>Product Configuration Frameworks - A Survey'</article-title>
          ,
          <source>IEEE Intelligent Systems</source>
          ,
          <volume>13</volume>
          (
          <issue>4</issue>
          ),
          <fpage>42</fpage>
          -
          <lpage>49</lpage>
          , (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Sincero</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Schro</surname>
          </string-name>
          <article-title>¨ der-Preikschat, 'The Linux Kernel Configurator as a Feature Modeling Tool'</article-title>
          ,
          <source>in Workshop on Analyses of Software Product Lines</source>
          , pp.
          <fpage>257</fpage>
          -
          <lpage>260</lpage>
          , Limerick, Ireland, (
          <year>2008</year>
          ). ASPL.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Stettinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.N.T.</given-names>
            <surname>Tran</surname>
          </string-name>
          , I. Pribik,
          <string-name>
            <given-names>G.</given-names>
            <surname>Leitner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Samer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Atas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wundara</surname>
          </string-name>
          , 'KNOWLEDGECHECKR:
          <article-title>Intelligent Techniques for Counteracting Forgetting'</article-title>
          ,
          <source>in 24th European Conference on Artificial Intelligence (ECAI</source>
          <year>2020</year>
          ), eds., G. DeGiacomo,
          <string-name>
            <given-names>A.</given-names>
            <surname>Catala</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Dilkina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Milano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Barro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bugarin</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Lang</surname>
          </string-name>
          , volume
          <volume>325</volume>
          <source>of Frontiers in Artificial Intelligence and Applications</source>
          , pp.
          <fpage>3034</fpage>
          -
          <lpage>3039</lpage>
          , Santiago de Compostela, Spain, (
          <year>2020</year>
          ). IOS Press.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Stumptner</surname>
          </string-name>
          , '
          <article-title>An overview of knowledge-based configuration'</article-title>
          ,
          <source>AI Communications</source>
          ,
          <volume>10</volume>
          (
          <issue>2</issue>
          ),
          <fpage>111</fpage>
          -
          <lpage>125</lpage>
          , (
          <year>1997</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>E.</given-names>
            <surname>Tsang</surname>
          </string-name>
          , Foundations of Constraint Satisfaction, Academic Press,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>