<!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>Towards More Flexible Configuration Systems: Enabling Product Managers to Implement Configuration Logic</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Klaus Pilsl</string-name>
          <email>klaus.pilsl@combeenation.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Enzelsberger</string-name>
          <email>martin.enzelsberger@combeenation.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Patrick Ecker</string-name>
          <email>patrick.ecker@combeenation.com</email>
        </contrib>
      </contrib-group>
      <fpage>2</fpage>
      <lpage>5</lpage>
      <abstract>
        <p>1 Developing a configurator requires a deep understanding of the configurable product. The configuration logic must encompass the way product components may be combined and customized, as well as how the integrity of a configuration can be verified. When products evolve over time, the configurator must be adapted accordingly. Product Managers are intimately familiar with the features and capabilities of a product and drive its development. By enabling them to specify the configuration logic of a product, the time required to introduce new products or respond to changes in existing ones can be reduced significantly. In order to achieve this, an environment must be provided that facilitates the implementation of configuration logic in an efficient and intuitive manner. In this paper we try to identify the key aspects of such an environment and present our experiences in realizing a product configuration system based on our findings.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Creating and maintaining a product configurator is usually a
complex task [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The configurator database report 2014 [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] said,
that 14% of the 900 configurators running 2013 disappeared 2014.
Keeping a configurator running and up to date is often more time
consuming than expected.
      </p>
      <p>For reducing the creation and maintenance expenses for
configurators, it is the target to give product managers the tools to
create configurators themselves.</p>
      <p>This article focuses on the very practical problems product
managers face in building product configurators. Further on we
identify key elements of an optimal configuration system
environment. This leads to new approaches in the way the data is
being entered, calculated and presented through the web. Notable
findings will be presented in the last section.</p>
    </sec>
    <sec id="sec-2">
      <title>DRAWBACKS OF COMMON DATA</title>
    </sec>
    <sec id="sec-3">
      <title>STRUCTURES USED IN</title>
    </sec>
    <sec id="sec-4">
      <title>CONFIGURATION SYSTEMS</title>
      <p>
        As described in Ecker [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and Šormaz [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] there are different ways
of how the product data can be provided:
      </p>
      <sec id="sec-4-1">
        <title>1. Relational form</title>
        <p>2.1</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Relational form</title>
      <p>
        Relational data structures need to image the product data in tables.
These tables follow either a predefined [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] or a user generated
schema. It is obvious, that product managers have more flexibility
if they can define their own schema, which is necessary for certain
kinds of products [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ][
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], but it also demands a higher skill level
from the product managers, which most of them do not have.
      </p>
      <p>But even in predefined schemata the problem remains, that the
data of the product need to be squeezed in this predefined form.
The challenge here is, to find a way to maximize functionality and
readability which are adversary.</p>
      <p>Our experience has shown that the majority of the product
managers quickly lose sight on the complexity of the data
structures they develop.</p>
      <p>Problems:</p>
      <p>The product managers are forced to establish an extra
documentation layer to keep the system manageable.</p>
      <p>The complexity especially for rule driven visualizations
outruns many product managers’ capabilities.</p>
      <p>The chronology the system has to calculate the rule needs
to be defined by the product manager. This is discovered
as a major weak point in terms of error and debugging
expenses.
2.2</p>
    </sec>
    <sec id="sec-6">
      <title>Code / macros / scripts</title>
      <p>Code allows the product managers to transcript even most complex
rules. The product manager does not have to follow a predefined
schema at all.</p>
      <p>Problems:</p>
      <p>The period of vocational adjustment is very high.







</p>
      <p>This informal freedom, however, quickly leads to a lack
of lucidity, which makes this form of product data
unpopular for product managers who are not software
developers.</p>
      <p>It demands a high skill level in software development
from the product manager
Developing a configurator by coding is time consuming
and expensive
Future adapting and enhancements are also expensive and
time consuming
2.3</p>
    </sec>
    <sec id="sec-7">
      <title>Object oriented form</title>
      <p>Just like with the relational form there is a schema, but here they
are called classes. The product manager can define an individual
classes for every product. The main difference to the relational
form is that the rules create dependencies, not the entities of the
database.</p>
      <p>That gives the product manager the ability to freely transcript
the product rules into the system without the need of creating a
database structure or a schema fitting his requirements first.</p>
      <p>Problems:</p>
      <p>The period of vocational adjustment is moderate.</p>
      <p>This form demands a very sophisticated user interface to
guide the user properly.</p>
      <sec id="sec-7-1">
        <title>The advantages of this approach are:</title>
        <p>Because of the fact, that the class is individual for each
product, the system can create it, while the product
manager models the product.</p>
        <p>Classes can also be derived (inherited). So the product
manager can easily create variations of the product data.
3</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>KEY ASPECTS OF THE OPTIMAL</title>
    </sec>
    <sec id="sec-9">
      <title>ENVIRONMENT</title>
      <p>There are several key aspects which define an optimal product
configuration environment which support the product manager in
building the product configurator.</p>
      <p>
        As a result of our experience and findings we created a
configurator management system which fulfills the requirements
described in this paper. This system is call Combeenation[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>The Configurator Management System Combeenation from IndiValue GmbH.</p>
      <p>Showing the user interface designer of a front door configurator.
3.1</p>
    </sec>
    <sec id="sec-10">
      <title>Instant feedback</title>
      <p>The process of creating product data is usually defined by the
following steps:


</p>
      <sec id="sec-10-1">
        <title>Modeling the structure and rules</title>
      </sec>
      <sec id="sec-10-2">
        <title>Saving and compiling</title>
      </sec>
      <sec id="sec-10-3">
        <title>Testing</title>
        <p>
          This iteration is continuously repeated, until the product data is
finished for publishing. The described process is called
progressive evaluation [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ].
        </p>
        <p>Progressive evaluation can be very time consuming. Especially
testing (opening a test configuration, navigating through the
configurator to the point of interest, collecting the test data, closing
the test configuration) is very expensive.</p>
        <p>If a system would save the data instantly give instant feedback
even into every displayed data affected by the changes including an
always open test configurator, the time needed for modelling
product data would greatly be reduced.</p>
        <p>
          Leitner et al. [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] state that testing and adapting the layout of
the configurator interface plays a major role in developing a
suitable user interface for configurators. Rapid prototyping
processes can be implemented with Combeenation, an innovative
configuration environment that supports application development
on a graphical level and enables immediate user testing.
3.2
        </p>
      </sec>
    </sec>
    <sec id="sec-11">
      <title>Simple user interface structure</title>
      <p>Concerning the user interfaces of the configurator management
system many user interfaces are IT oriented. That means the
interface is built on the necessities of the system, the data structure
and the underlying technology that runs the configurator system.</p>
      <p>
        As described in Ko et. al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] most of the product managers are
experts in the field of their product, but aren’t very practiced in the
use of integrated development environments (IDEs) or other user
interfaces which are mainly designed for software developers.
      </p>
      <p>The key aspect in this area is to create a user interface for a
configurator management system that focuses on the product itself
instead of the technical system. The product in its actual visual
appearance should always be visible to give instant feedback of the
changes made. The components, the properties, the rules and the
controls the product manager has to work with needs to be
presented in a continuous and integrated way, regardless how these
items are used for. This reduces the times needed to jump between
screens, menus or pages.</p>
      <p>
        The user interface of a configurator plays a key role for both,
consumers and product managers. Leitner et al. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] identified five
key principles for developing user interfaces for configurators
which are suitable for both types of users.
      </p>
      <p>

</p>
      <p>Customize the customization process: Adaption of the
user interface depending on the type of customer.</p>
      <p>Provide starting points: Initial design from which the
customer can continue the configuration process.</p>
      <p>Support Incremental Refinement: Tradeoff analysis (i.e.
product comparison functionalities).</p>
      <p>
        Besides these key principles, the arrangement of user interface
elements of the configurator as well as the kind of process
navigation (i.e. handling, ease of use, guidance through the
configuration process) affects the customer’s satisfaction with the
configurator [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
3.3
      </p>
    </sec>
    <sec id="sec-12">
      <title>Separation of data and rules</title>
      <p>In mass production industries it is common to integrate values
(sizes, angles, weights, etc.) into the structure data (i.e. CAD
systems). That is okay as long as the products do not change much
after they are released to market.</p>
      <p>
        In mass customization [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], however, the product and with it its
values change continuously using product configurators. It is also
often needed to start configurations of a specific product via
different starting values (several presets for the same product).
      </p>
      <p>These requirements can be met by separating the configurable
values from the rules and structure data. This way different sets of
values can be easily combined with different versions of rules and
structure data.</p>
      <p>
        How difficult/easy it is to apply a small change in an established
structure with/without this separation will be defined by the
viscosity of the system [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], which describes the flexibility of the
system.
      </p>
      <p>To supply such a flexible system it is important to make this
separation. That also has to be taken care of in the user interface, so
that the product manager knows, which parts (values vs. rules) of
the product are stored where.
3.4</p>
    </sec>
    <sec id="sec-13">
      <title>Separation of product design and UI design environments</title>
      <p>We experienced, that product managers working with configurator
management tools, which do not separate the user interface
designer from the product designer, struggle with data duplication.</p>
      <p>Some applications need to be displayed on different devices
(desktop, tablets, smartphones), or on different channels (websites,
apps, social media channels …), or some of them need to be
refurbished to meet new requirements.</p>
      <p>In order to create several different user interfaces for the same
product, they have to also duplicate the product data. That leads to
more data, which greatly increases the workload of the product
manager, if this product data needs to be modified.</p>
      <p>By separating the product design from the user interface design
environment the product manager can address these requirements.
4</p>
    </sec>
    <sec id="sec-14">
      <title>IMPLEMENTATION OF A PRODUCT</title>
    </sec>
    <sec id="sec-15">
      <title>CONFIGURATOR SYSTEM</title>
      <p>To meet the needs described we developed a system for creating
product configurators. In order to make the use of the system for
the product managers as easy as possible, we have chosen to use
these standards and technologies:</p>
      <p>HTML5: For maximum acceptance and further
developments we have chosen to use HTML5 for
Visuals are crucial and the biggest part of the mission. Most users
valuate product primarily on its visual appearance. This applies for
consumers just as for product designers. We put a lot of effort into
providing a flexible system for the visual representation of the
product.</p>
      <p>Changes in the visual will be applied in real-time. Instead of
rasterized graphic formats we use scalable vector graphics (SVG)
for a better image quality. The visual editor is interactive and you
get what you see (WYSIWYG). After the configuration process is
ended by a user each scalable vector graphic can be converted to a
PNG or PDF file, making it easy for further processing or printing.</p>
      <p>
        The usage of SVG also allows us the enable custom fonts,
gradients, patterns, mask, filters and many other effects. For more
information about SVG see [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
4.2
      </p>
    </sec>
    <sec id="sec-16">
      <title>Quick response times</title>
      <p>
        Our system is built with low response times in mind, since
researches have shown that higher latency times have a negative
influence on the user acceptance, no matter if that is for consumers
or product managers [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>We experienced that latency times need to stay below 250ms
otherwise most users interact with the same UI element again (e.g.
clicking a button).</p>
      <p>This speed must be achieved with any representation of the
changes: simple values, results of complex chained calculations,
visuals, and so on.
4.3</p>
    </sec>
    <sec id="sec-17">
      <title>Calculation on server and client</title>
      <p>To achieve quick response times, it is necessary to split the
calculations on the server and client side. The product manager,
however, must not be confused. It always must be clear on where
the calculation will be done, because there are advantages and
disadvantages with either method:</p>
      <p>
        The advantages of server side computations [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]:


      </p>
      <p>Big data necessary for a calculation does not have to be
transmitted to the client
Product rules are knowhow of the company which needs
to be protected. Some product managers don’t want to
transmit this knowledge to the browser of the client. Our
system won’t transmit the company’s knowledge to the</p>
      <sec id="sec-17-1">
        <title>Disadvantage of server side computing:</title>
        <p>client at any time. Just the results are transmitted and
presented to the client.</p>
        <p>Virtual machines, which are hosted in a datacenter, offers
far more computation power than a client device.
Progress is always saved. If a user catches up later he
may continue where he left the configuration (also on
other devices).</p>
        <p>It would be possible that more users collaborate on the
same product.</p>
        <p>The system needs to be designed to scale up on demand.
This can be done through distributed computing with
automatically adding virtual servers if needed. This is
especially difficult to implement if the machines work
with stateful sessions.</p>
      </sec>
      <sec id="sec-17-2">
        <title>Advantages of client side computing:</title>
      </sec>
      <sec id="sec-17-3">
        <title>Quick responses are possible</title>
      </sec>
      <sec id="sec-17-4">
        <title>No network communication needed</title>
      </sec>
      <sec id="sec-17-5">
        <title>Disadvantage of client side computing: Only simple calculation should be done, because transmitting big raw data into the client browser can be ineffective</title>
        <p>To take a good mix of both advantages it is possible let the
system operates on server side calculation for the product design
rules and on client side calculation for the UI design rules.</p>
        <p>This way calculations of the product itself are done on the
server and calculations concerning the user interface (i.e. jumping
to a certain page based in input data) are done on the client.</p>
        <p>The separation of product design and UI design environments
(see 3.4) allows the system to intuitively distinguish between both
methods.
4.4</p>
      </sec>
    </sec>
    <sec id="sec-18">
      <title>One solution</title>
      <p>Most systems on the market cover one part of the mission. The
other parts are done by other software tools which needs to be
connected via interfaces.</p>
      <p>
        A common thing for instance is, to create a product configurator
by using an ERP-software [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and linking a CAD-software [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]
with it to create the visuals.
      </p>
      <p>That leads to this constellations: Both systems hold their own
product data. Many parts of these 2 data sets need to be redundant
on both systems. And there is a third set of data: the interface itself
hold data, too.</p>
      <p>Product managers struggle with the big amount of human
resources needed to keep these data sets up to date.</p>
      <p>
        It is less maintenance works if all the modules needed for
product configuration are handled by one system [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] with one
data set.
      </p>
      <p>All the modules of this single system run on this one set of data,
and any module of that system can directly and without conversion
access the data needed to fulfil its function. Combeenation
provides such a system.</p>
      <p>





</p>
    </sec>
    <sec id="sec-19">
      <title>CONCLUSION</title>
      <p>We have highlighted the problems and drawbacks of current
systems, which product managers use if they want to build a
product configurator. Further on we emphasized key aspects which
are needed for such a solution, including a responsive and easy to
understand user interface and a strict separation of data and rules.</p>
      <p>
        With these findings in mind we built the configurator
management system Combeenation [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], which addresses all those
problems and provide an all-in-one solution. This solution is
trimmed to rapidity, easy to use, flexible and is highly scalable.
First client projects are currently implemented with Combeenation
and all usability and performance issues in these projects are
monitored to provide further data for potential improvements.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>T.A.</given-names>
            <surname>Rogoll</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.T.</given-names>
            <surname>Piller</surname>
          </string-name>
          , Konfigurationssysteme für Mass Customization und Variantenproduktion,
          <source>ThinkConsult</source>
          .
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Blazek</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Partl</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Streichsbier</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2014</year>
          ):
          <source>Configurator Database Report</source>
          <year>2014</year>
          , Vienna
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ecker</surname>
          </string-name>
          ,
          <article-title>Sicherheitsaspekte bei der Entwicklung einer Software-asa-</article-title>
          <string-name>
            <surname>Service-Lösung</surname>
          </string-name>
          mit Windows Azure, University of Applied Sciences Upper Austria, Hagenberg,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>D.n. Šormaz,</surname>
          </string-name>
          <article-title>Distributed Agent-Based Integrative Model For Mass Customization Product Development</article-title>
          , Ohio University, Department of Industrial and Systems Engineering,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.M.</given-names>
            <surname>Ricardo</surname>
          </string-name>
          , Databases Illuminated, Jones &amp; Bartlett Publ.,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>ISS</given-names>
            <surname>+ from MoveIT</surname>
          </string-name>
          <string-name>
            <surname>GmbH</surname>
          </string-name>
          , Product Builder in Microsoft Dynamics NAV
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Front</given-names>
            <surname>Door</surname>
          </string-name>
          <article-title>Configurator from TOPIC GmbH</article-title>
          , Austria
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Window</given-names>
            <surname>Configurator from IFN Internorm</surname>
          </string-name>
          <string-name>
            <surname>AG</surname>
          </string-name>
          , Austria
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <article-title>[9] www</article-title>
          .combeenation.com
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>T.</given-names>
            <surname>Green</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Blackwell</surname>
          </string-name>
          ,
          <source>Cognitive Dimensions of Information Artefacts: a tutorial</source>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <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>P.</given-names>
            <surname>Blazek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Reinfrank</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Ninaus, User Interfaces for Configuration Environments</article-title>
          . In: A.
          <string-name>
            <surname>Felfernig</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Hotz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Bagley</surname>
          </string-name>
          , J. Tiihonen (eds.),
          <source>Knowledge-based Configuration:</source>
          From research to business cases,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.R.</given-names>
            <surname>Ko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Abraham</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Beckwith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Blackwell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Burnett</surname>
          </string-name>
          ,
          <string-name>
            <surname>S. Wiedenbeck,</surname>
          </string-name>
          <article-title>The state of the art in end-user software engineering</article-title>
          ,
          <source>ACM Computing Surveys</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>44</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>P.</given-names>
            <surname>Blazek</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Pilsl</surname>
          </string-name>
          ,
          <article-title>The Impact of the Arrangement of User Interface Elements on Customer Satisfaction in the Configuration Process</article-title>
          , In: T. D.
          <string-name>
            <surname>Brunoe</surname>
          </string-name>
          et al. (eds.),
          <source>Proceedings of the 7th World Conference on Masss Customization</source>
          , Personalization, and
          <source>CoCreation (MCPC</source>
          <year>2014</year>
          ), Aalbor, Denmark,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>F.T.</given-names>
            <surname>Piller</surname>
          </string-name>
          , Mass Customization - Ein wettbewerbsstrategisches Konzept im Informationszeitalter, Deutscher Universitäts-Verlag,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>T.</given-names>
            <surname>Green</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Petre</surname>
          </string-name>
          ,
          <article-title>Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions'</article-title>
          <source>Framework Journal of Visual Languages &amp; Computing</source>
          ,
          <fpage>131</fpage>
          -
          <lpage>174</lpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J.</given-names>
            <surname>Ferraiolo</surname>
          </string-name>
          ,
          <source>Scalable Vector Graphics (SVG) 1</source>
          .0 Specification, http://www.w3.org/TR/2001/REC-SVG-20010904/REC-SVG20010904.pdf,
          <year>September 2001</year>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>F.H.</given-names>
            <surname>Nah</surname>
          </string-name>
          ,
          <article-title>A study on tolerable waiting time: how long are Web users willing to wait? College of Business Administration</article-title>
          , University of Nebraska-Lincoln,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Enzelsberger</surname>
          </string-name>
          ,
          <article-title>Entwicklung von Hive, einer domänenspezifischen Sprache zur Spezifikation von Produktlogik durch NichtProgrammierer</article-title>
          , University of Applied Sciences Upper Austria, Hagenberg,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Internet</given-names>
            <surname>Pricing</surname>
          </string-name>
          and
          <article-title>Configurator from SAP AG (SAP IPC)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Inventor</surname>
          </string-name>
          from Autodesk,
          <source>SolidWorks from Dassault Systems</source>
          , etc.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>