<!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>iCone: intelligent environment for the Development and Maintenance of Configuration Knowledge bases</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Franz Wotawa</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Florian Reinfrank</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gerald Ninaus</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Felfernig</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute for Software Technology Graz University of Technology Inffeldgasse 16b/II</institution>
          ,
          <addr-line>8010 Graz</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Constraint-based recommendation systems are used in many different domains like notebooks, cars, and mobile phones. Such systems describe product domains in sets of product and customer variables, their domains, and constraints which define the relationship between the variables. Maintenance is a crucial task in constraint-based recommendation systems, because it is timeconsuming and error-prone. We implemented a new application called 'iCone' (intelligent environment for the development and maintenance of configuration knowledge bases) to support knowledge engineers and their maintenance tasks. We present intelligent techniques like recommendation, anomaly management, dependency detection, and metrics to support knowledge engineers when maintaining constraint-based systems.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Many different product domains like, computers, cars, or
mobile phones use constraint-based recommendation systems as
a model for modern e-commerce services. The model can be
represented as a constraint satisfaction problem (CSP) and
consists of products, questions for the customer, and
constraints which are describing the relationships between
products and questions.</p>
      <p>In this paper we give an overview of the iCone interface
which is a web-tool for the development and maintenance of
constraint-based systems.2. This system can be used to create
and maintain constraint-based systems like knowledge-based
recommendation or knowledge-based configuration. The
advantage of this system is a strong intelligent support of
knowledge engineers when maintaining a constraint-based system
which will be described in this paper.
2 iCone
iCone is a java-based web-application with a SQLite data
base. SQL will be used to do consistency checks and to
1The authors are ordered in reverse alphabetical order.</p>
      <p>2http://ase-projects-studies.ist.tugraz.
at:8080/iCone/index.jsp
save and load the knowledge bases. The application has
four main packages called ’KnowledgeBase’ (with the main
class ’KnowledgeBase’), ’Algorithm’ (calculating
anomalies), ’Anomaly’ (e.g., explaining anomalies), and ’Solver’
(preparing consistency checks). For the visualization, the
users need to have a modern internet browser with active
JavaScript. All screens consists of login, navigation,
recommendation and notification, and main area. In the main area,
the user sees lists of knowledge bases, products, questions,
constraints, results of anomaly checks or a preview. Figure 1
shows a preview of the constraint-based recommendation
system for mobile phones. In the left area the user can answer
some questions. Based on constraints which are defining the
relationship between questions and products, the system
recommends a set of products for the user.</p>
      <p>The main object of iCone is the Knowledge base. It
contains all products, product variables, questions, and
constraints. Furthermore, iCone deals with the analysis package,
which detects anomalies in the knowledge base, generates
recommendations for knowledge engineers, approximates
dependencies between variables in the knowledge base and
generates metrics to evaluate the knowledge base. Next, we give
an overview about the four main supporting techniques.</p>
    </sec>
    <sec id="sec-2">
      <title>Recommendation</title>
      <p>We implemented four different recommendation techniques.3
user-independent recommendation techniques like most
viewed recommendation and recently added items.
user-dependent recommendation techniques like
collaborative filtering (find peer users) and content-based
filtering (find similar items)</p>
    </sec>
    <sec id="sec-3">
      <title>Anomaly management</title>
      <p>In our implementation we consider three different types of
anomalies:4
conflict: A conflict is a set of constraints which can not
be fulfilled. Conflicts can be resolved by sets of
diagnoses.
redundancy: A set of constraints can be denoted as
redundant, if the removal of this set does not change the
behavior of the knowledge base.</p>
      <sec id="sec-3-1">
        <title>3For a detailed description we refer the reader to [1; 2]. 4For a detailed description we refer the reader to [2].</title>
        <p>well-formedness violation: Well-formedness violations
don’t change the behavior of the knowledge base but
make it difficult to maintain a knowledge base.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Dependency detection</title>
      <p>In our implementation we have visualizations for constraint
dependencies and another one for variable dependencies.5</p>
    </sec>
    <sec id="sec-5">
      <title>Dependencies between constraints shows the relation</title>
      <p>ship between products, question, and constraints based
on content-based recommendation.</p>
    </sec>
    <sec id="sec-6">
      <title>Dependencies between variables will be either calcu</title>
      <p>lated (if possible) or approximated (in big knowledge
bases). For the approximation we use Gibb’s sampling.</p>
    </sec>
    <sec id="sec-7">
      <title>Metric calculation and evaluation</title>
      <p>To get an overview of the quality of the knowledge base, the
iCone interface offers an overview of several metrics.6
Goal question metrics (GQM): We indicated three
goals, five questions and 16 metrics.</p>
    </sec>
    <sec id="sec-8">
      <title>Function point analysis (FPA): We adapted the five</title>
      <p>input variables (from the software engineering to the
knowledge engineering domain) and present the results
for each knowledge base in our application.</p>
      <p>In this paper we presented recommendation techniques,
anomaly management, dependency detection, and metric
calculation, which are novel techniques for the maintenance of
constraint-based systems.</p>
      <sec id="sec-8-1">
        <title>5For a detailed description we refer the reader to [4]. 6For a detailed description we refer the reader to [3].</title>
        <p>3</p>
        <p>Summary
In this paper we gave an overview of our iCone system.
With iCone you can create constraint-based configuration,
knowledge-based recommendation, and MAUT-based
knowledge bases. You can create, read, update, and delete products,
product variables, questions, and constraints.</p>
        <p>Further enhancements are possible in the context of
supporting collaboration (e.g. when two or more knowledge
engineers are working on the same knowledge base) and in the
support of test case generation.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Dietmar</given-names>
            <surname>Jannach</surname>
          </string-name>
          , Markus Zanker, Alexander Felfernig, and
          <string-name>
            <given-names>Gerhard</given-names>
            <surname>Friedrich</surname>
          </string-name>
          .
          <source>Recommender Systems: An Introduction</source>
          , volume
          <volume>1</volume>
          . University Press, Cambridge,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Florian</given-names>
            <surname>Reinfrank</surname>
          </string-name>
          , Gerald Ninaus, and
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Felfernig</surname>
          </string-name>
          .
          <article-title>Intelligent techniques for the maintenance of constraint-based systems</article-title>
          .
          <source>Configuration Workshop</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Florian</given-names>
            <surname>Reinfrank</surname>
          </string-name>
          , Gerald Ninaus, Bernhard Peischl, and
          <string-name>
            <given-names>Franz</given-names>
            <surname>Wotawa</surname>
          </string-name>
          .
          <article-title>A goal-question-metrics model for configuration knowledge bases</article-title>
          .
          <source>Configuration Workshop</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Florian</given-names>
            <surname>Reinfrank</surname>
          </string-name>
          , Gerald Ninaus, Franz Wotawa, and
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Felfernig</surname>
          </string-name>
          .
          <article-title>Maintaining constraint-based configuration systems: Challenges ahead</article-title>
          .
          <source>Configuration Workshop</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>