<!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>Improving Awareness during Product Derivation in Multi-User Multi Product Line Environments</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Rick Rabiser Paul Grünbacher Gerald Holl</string-name>
          <email>rabiser@ase.jku.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Christian Doppler Laboratory for Automated Software Engineering Johannes Kepler University</institution>
          ,
          <addr-line>Linz</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2010</year>
      </pub-date>
      <volume>52</volume>
      <abstract>
        <p>-Existing product derivation approaches focus on support for single users resolving variability based on a single variability model. However, in practice multiple users perform product derivation of large-scale systems with system-ofsystems architectures in a distributed and asynchronous manner. It is infeasible to describe the variability of such multi product lines with one integrated model. Rather, several models are needed. Existing research mainly focuses on supporting modeling in multi product lines. The aim of our ongoing research is however to improve awareness for multiple users involved in product derivation in such environments, i.e., to make users configuring one subsystem aware of the relevant configuration decisions made for other subsystems. In this paper we describe an industrial scenario of a multi product line and derive requirements for awareness support. We present a preliminary approach based on the "publish/subscribe" pattern and a tool prototype that aims at improving awareness in product derivation by sharing decisions across different derivation projects.</p>
      </abstract>
      <kwd-group>
        <kwd>-multi product lines</kwd>
        <kwd>product derivation</kwd>
        <kwd>awareness</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION AND MOTIVATION</title>
      <p>
        The fundamental assumption of product line engineering
is that the investments required to set up a product line are
outweighed by accelerating product derivation. During
product derivation, diverse stakeholders resolve the variability of
the product line which is usually described in variability
models. Product derivation is a complex process and directly
affects the success of adopting product line
engineering [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ][
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In product derivation users make decisions on
different levels ranging from high-level decisions (e.g.,
leading to the inclusion of a particular subsystem) to fine-grained
adjustments (e.g., leading to the setting of parameters for
software components). The typical use case in existing
product derivation approaches and tools [3] is a single user
working on a single variability model of a product line. However,
in practical settings of large and ultra-large-scale systems
there is a strong trend towards multi product lines,
systemof-systems architectures, and software ecosystems [4]. A
multi product line represents a collection of smaller and
interdependent product lines which together form a
largescale system. In such environments, multiple models
represent different parts of a system and multiple users are
involved in product derivation. As a result multiple product
derivation projects occur concurrently to configure different
subsystems.
      </p>
      <p>
        Existing research has focused on establishing explicit
links among variability models [6][
        <xref ref-type="bibr" rid="ref5">7</xref>
        ] and on composing
variability models to build one integrated model [
        <xref ref-type="bibr" rid="ref6">8</xref>
        ] as the
basis for subsequent derivation. This is however often
unrealistic due to the size, heterogeneity, and complexity of
current systems. In our collaboration with Siemens VAI Metals
Technologies [
        <xref ref-type="bibr" rid="ref7">9</xref>
        ], the world's leading steel-plant building
company, we have learned that for large-scale
softwareintensive systems such explicit linking and merging is often
very difficult. Steel plant automation software comprises
different subsystems on different levels such as the
machineoriented level 1 for basic automation, the process-oriented
automation level 2, the enterprise resource planning level 3,
as well as maintenance and setup systems.
      </p>
      <p>When modeling the variability of such systems and
developing support for product derivation we observed that
while some decisions are relevant across several systems, it
is hard to identify these decisions already during domain
engineering and to establish and maintain explicit
dependencies. Also, different technologies used to develop different
subsystems make it infeasible to fully integrate variability
models during domain engineering as there is no modeling
language that could handle all these different cases uniformly
under one umbrella. To support such situations better, we
have thus been working on an approach for communicating
key derivation decisions in multiple concurrent derivation
projects without explicitly integrating the underlying
variability models. In this use case users are “loosely coupled”
and are only made aware about key decisions during product
derivation. We intentionally do not focus on the technical
implications of the configuration decisions (e.g., the actual
configuration of software artifacts) as part of this research.</p>
      <p>The approach presented in this position paper thus
emphasizes the improvement of awareness in product
derivation meaning that users configuring one system are informed
about the relevant decisions made for other systems. In
Section 2 we describe a motivating scenario based on an existing
multi product line and specify requirements for awareness
support. In Sections 3 and 4 we present a preliminary
approach and tool support. We discuss related work in
Section 5 and conclude the paper in Section 6.</p>
    </sec>
    <sec id="sec-2">
      <title>REQUIREMENTS FOR PRODUCT DERIVATION</title>
      <p>AWARENESS SUPPORT</p>
      <p>Our industry partner Siemens VAI offers complete
solutions for steel plants. Mini-mills for instance are multi
product line systems supporting the entire steel-making process
starting with melting the raw material to liquid steel,
continuing with casting liquid steel to slabs, and ending with rolling
cast steel slabs. Diverse software-intensive systems are part
of a mini-mill such as automation software for casting,
rolling, etc. on different levels of automation and granularity
(e.g., machine-oriented automation, process automation,
enterprise resource planning). These systems constitute a
multi product line that is defined in diverse variability
models representing the variability of heterogeneous subsystems.</p>
      <p>We present a simple scenario (cf. Figure 1) to analyze
and illustrate required awareness support in multi-user multi
product line derivation using the mini-mill example. We
assume that variability models of the subsystems already
exist. However, as these variability models describe
heterogeneous reusable assets they can be based on different
metamodels which makes their integration hard if not impossible.
The scenario has been developed based on discussions with
software architects, project managers, and researchers from
our industry partners Siemens VAI and Siemens CT. It is
also based on experiences with applying our DOPLER tool
suite to different industrial use cases.</p>
      <p>
        1) Each individual product derivation project starts when
the responsible stakeholder “instantiates” a variability model
describing a subsystem by preparing it for derivation [
        <xref ref-type="bibr" rid="ref8">10</xref>
        ].
This can happen in parallel or sequentially. For example, one
user could start deriving the level 2 automation software for
continuous casting (user 1) while another user starts deriving
the level 1 software for rolling (user 2).
      </p>
      <p>2) The involved users begin making decisions to resolve
variability. For instance, at some point user 2 realizes that
when deciding about the type of rolling required she needs to
know about pending decisions to be made by another user
concerning the number of strands in mini-mill caster.</p>
      <p>3) User 1 publishes decisions she regards as relevant for
others. For instance, user 1 might set the number of strands
of the caster (decision c in Figure 1) to two. This directly
affects the second user’s decisions as now rolling of steel
coming from two strands has to be supported. User 1 might
be unaware of the current derivation tasks of user 2 but she
knows the number of strands might be relevant to others.</p>
      <p>4) User 2 and all other users participating can query all
publicly shared decisions (like the number of strands) before
making the decisions for their own product line accordingly.</p>
      <p>5) If a shared decision is important for one user then the
change of its value by another user might have
consequences. Therefore, the user might be interested in
"subscribing" to certain decisions to be informed after changes. For
example, changes to the decision on the number of strands
(cf. decision c in Figure 1) need to be communicated to
user 2 as this affects rolling (cf. decision i in Figure 1).</p>
      <p>From the described scenario we derive several initial
requirements for awareness support in product derivation:</p>
      <p>Distributed and asynchronous derivation support. In
large-scale systems users and work groups need to be able to
derive and configure their subsystems largely independently
and in a distributed and asynchronous manner. It is however
important that there are well-defined communication
interfaces between the groups responsible for different
subsystems. In industrial settings work groups are often distributed
and teams collaborate on a world-wide scale (e.g., there are
regional sales offices that need to collaborate with technical
staff in the configuration process). Support for distributed
work is thus essential.</p>
      <p>Mechanisms for sharing decisions with other users.
Users need to be aware of decisions made by others that
possibly affect their own configuration tasks. They also need
support to inform others about their own decisions and to
unobtrusively share this information.</p>
      <p>Establishing mappings between shared and local
decisions. It should be possible for users to define traceability
between subscribed shared decisions and local decisions. If
then a shared decision is changed the trace link can be used
to notify the user about potentially affected local decisions.
This requirement is particularly important to incrementally
develop an understanding of the configuration dependencies
between different subsystems which are typically not
completely known in advance and subject to continuous change.</p>
      <p>Integration with existing derivation tools. Existing
support for product derivation shall not be replaced. Instead,
support for awareness in product derivation should be
seamlessly integrated in existing tools.</p>
      <p>III.</p>
    </sec>
    <sec id="sec-3">
      <title>APPROACH</title>
      <p>
        We have been developing such awareness support in
product derivation based on DOPLER, a decision-oriented
product line approach [
        <xref ref-type="bibr" rid="ref6">8</xref>
        ] which has successfully been
applied in different domains such as industrial
automation [
        <xref ref-type="bibr" rid="ref7">9</xref>
        ][
        <xref ref-type="bibr" rid="ref8">10</xref>
        ] or enterprise resource planning [
        <xref ref-type="bibr" rid="ref9">11</xref>
        ].
      </p>
      <sec id="sec-3-1">
        <title>A. Background: The DOPLER Approach</title>
        <p>DOPLER variability models contain Assets and
Decisions. Assets represent the reusable product line artifacts
(e.g., components, subsystems). Variation points are defined
and presented as decisions. Important attributes of decisions
are a unique id, a question that is asked to a user during
product derivation, and a decision type (Boolean,
enumeration, string, or number). Decisions can depend on each other
hierarchically (if a decision needs to be made before another
decision) or logically (if making a decision changes the
answer to another decision). The decision type describes the
range of possible answers which can be further constrained
with validity conditions. In DOPLER, assets are linked to
decisions via inclusion conditions defining when a particular
asset is included in a derived product. Asset attributes can
also depend on decisions to enable customization of assets.
Figure 1. The DecisionBoard enables awareness in product derivation in multi product lines. In the example two users perform product derivation for
two (sub-)systems defined by two variability models that are based on different meta-models. They make decisions locally and publish selected
decisions to the decision board. Users can consult the decision board about decisions shared by others. For instance, user 2 creates a mapping from
decision i (e.g., rolling mode in the mini-mill) to c (e.g., number of strands in the caster) to be notified after changes to the number of strands.</p>
        <p>Decisions in DOPLER can be private (default) or public.</p>
        <p>
          Originally this attribute has been introduced to support
integrating variability model fragments in domain
engineering (merging them to one integrated model). The DOPLER
model merging approach [
          <xref ref-type="bibr" rid="ref6">8</xref>
          ] allows defining model elements
such as decisions or assets as placeholders by only defining
their name and type. Later, the placeholders are resolved
with concrete public decisions and assets from other models
based on name and type matching. Merging models with this
approach works well for single product lines if all models to
be merged are based on the same meta-model. However, this
assumption does not hold in the multi product line scenario.
        </p>
        <p>For the approach outlined in this paper we benefit from
DOPLER’s concept of public and private model elements.</p>
        <p>Our focus however is not on merging models during domain
engineering. Instead, we aim at making users aware of public
decisions during derivation independent of the meta-models
or technical solution assets used in the different subsystems.</p>
        <p>We try to make our approach as simple as possible as it is
common that domain experts with no deep technical
knowledge in variability modeling are involved in derivation.</p>
      </sec>
      <sec id="sec-3-2">
        <title>B. DecisionBoard Approach</title>
        <p>We thus propose a decision board realized as a shared
repository that allows the participating users to publish their
decisions in the repository and to subscribe to decisions in
order to be aware about other projects. When users first
connect to the repository, decisions already set as public
during variability modeling are published automatically.
Users can however decide to publish additional decisions
during product derivation. Furthermore, users can define
links from their local private decisions to shared public
decisions. These links are used to notify users as soon as the
value of a shared relevant decision changes.</p>
        <p>Figure 1 depicts the basic idea of our approach in relation
to the scenario described in Section 2 and shows the
participating components of our approach (multi product line,
multiple users, decision board, shared and local decisions).</p>
        <p>IV.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>TOOL PROTOTYPE</title>
      <p>
        We have implemented the approach as an extension to
the existing DOPLER product derivation tool
ConfigurationWizard [
        <xref ref-type="bibr" rid="ref7">9</xref>
        ][
        <xref ref-type="bibr" rid="ref8">10</xref>
        ]. This tool enacts product line models and
is used during product derivation by domain experts and
engineers to interactively derive a concrete product from a
product line. The tool presents decisions to responsible users
in different views based on their roles and tasks.
Visualization and filtering capabilities allow working with large
product line models. The tool explains dependencies to ease
navigation in the model. As soon as users make decisions, the
ConfigurationWizard gives immediate visual feedback about
the consequences. The ConfigurationWizard provides
several extension points. For example, one extension point is for
integrating product configuration and documentation
generators. Using the Eclipse extension point mechanism,
additional views can be integrated in the ConfigurationWizard tool.
We have implemented our DecisionBoard by developing
such an additional view (cf. Figure 2). The decisions are
stored in a shared repository at an arbitrary URL. They are
organized and grouped by their originating variability
models of the involved subsystems.
      </p>
      <p>
        The approach presented in this paper is related to existing
work on coordinating complex configuration processes
during product derivation. For instance, Mendonca and
Cowan [
        <xref ref-type="bibr" rid="ref10">12</xref>
        ] propose a collaborative product configuration
approach that aims to support coordinating teamwork
decisionmaking in the context of product derivation. Our approach in
contrast follows the asynchronous concept of
publish/subscribe to coordinate teams. Czarnecki et al. [
        <xref ref-type="bibr" rid="ref11">13</xref>
        ],
present a staged approach based on the idea of stepwise
specialization of feature models. Our approach does not
specialize models over time but aims to enable sharing
decisions from multiple models. In [6], Reiser et al. address the
problem of feature modeling in large-scale embedded
systems and propose product sets and configuration links to
define dependencies between different feature models to be
evaluated at the time of their selection. This approach
requires to pre-define explicit links which we wanted to avoid
with our approach. Hubaux et al. [
        <xref ref-type="bibr" rid="ref12">14</xref>
        ] propose feature
configuration workflows (defined in a workflow language) as a
new formalism for supporting configuration of large-scale
systems based on feature models. We do not define such a
workflow but rather let the users decide when to share/use
which decision. The issue of derivation in multi product lines
is also addressed in our earlier work [
        <xref ref-type="bibr" rid="ref9">11</xref>
        ] where we
demonstrated how decision models can be used to support the
configuration of complex systems across multiple levels of
software vendor, customers, and end-users. In this earlier
work, we however assumed explicit dependencies among the
different levels. Elsner et al. [
        <xref ref-type="bibr" rid="ref13">15</xref>
        ] propose an approach for
product configuration that works across the boundaries of
multi product lines. Their framework converts meta-models
of the different product lines into a common meta-model
format (Eclipse EMF Ecore). It provides real-time constraint
checking in product configuration based on constraints
defined by domain experts for the different product lines. Our
approach does not require the meta-models to be converted
as it focuses on the configuration level only, i.e., sharing
decisions.
      </p>
      <p>
        Our work is also related to the field of collaborative
design. For instance, Wang et al. [
        <xref ref-type="bibr" rid="ref15">17</xref>
        ] evaluate different
approaches for collaborative design and conclude that
conventional approaches for sharing design decisions are
insufficient. They propose web-based or agent-based collaborative
design spaces to for publishing information needed during
collaboration in the design process. Pahng et al. [
        <xref ref-type="bibr" rid="ref14">16</xref>
        ] propose
a web-based collaborative design framework where
designers can model a system in a distributed way. It enables the
designer to see the remote effects of a local decision.
      </p>
      <p>CONCLUSIONS AND FUTURE WORK</p>
      <p>In multi product line environments it is important to
ensure knowledge transfer across multiple concurrent product
derivation projects with regard to different decisions made.
In this paper, we have thus presented an approach and initial
tool support for awareness in product derivation based on a
motivating scenario from a real-world multi product line.
Although the approach is intentionally simple we are
confident that it can improve awareness about important
configuration decisions in multi product line scenarios without the
need to explicitly integrate diverse variability models that are
hard, infeasible, or even impossible to integrate.</p>
      <p>In future work we will refine and validate the approach in
user studies. An important research issues is to explore the
trade-off between sharing information early and often (thus
risking information overload) vs following a more restrictive
policy. It is important to understand the balancing between
the early propagation and likelihood of the information
changing. We also expect that the user studies will contribute
to a deeper understanding of the high-level requirements
discussed in Section 2.</p>
      <p>
        Furthermore, we plan to address several issues related to
the tool prototype: it is important to avoid the deterioration
of the decision board after continuous updates and we will
develop filtering and search features for the decision board.
Another challenge lies in detecting inconsistencies in the
decision board (e.g., caused by different users publishing the
same decision from two copies of the same model). Finally,
we will investigate the integration of the decision board
approach with our model merging approach [
        <xref ref-type="bibr" rid="ref6">8</xref>
        ] (e.g., by
analyzing and exploiting mapping links set by users). We
plan to evaluate and improve the approach in case studies
with industrial users.
      </p>
    </sec>
    <sec id="sec-5">
      <title>ACKNOWLEDGMENT</title>
      <p>This work has been conducted in cooperation with
Siemens VAI Metals Technologies and Siemens Corporate
Technology and has been supported by the Christian Doppler
Forschungsgesellschaft, Austria.
[4] J. Bosch and P. Bosch-Sijtsema, "From integration to composition:
On the impact of software product lines, global development and
ecosystems," Journal of Systems and Software, vol. 83(1), pp. 67-76,
2010.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Deelstra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sinnema</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Bosch</surname>
          </string-name>
          ,
          <article-title>"Product derivation in software product families: a case study,"</article-title>
          <source>Journal of Systems and Software</source>
          , vol.
          <volume>74</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>173</fpage>
          -
          <lpage>194</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>P. O'Leary</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Rabiser</surname>
            ,
            <given-names>I. Richardson</given-names>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Thiel</surname>
          </string-name>
          ,
          <article-title>"Important Issues and Key Activities in Product Derivation: Experiences from Two Independent Research Projects, "</article-title>
          <source>Proc. of the 13th International Software Product Line Conference (SPLC</source>
          <year>2009</year>
          ), San Francisco, CA, USA,
          <string-name>
            <surname>ACM</surname>
            <given-names>ICPS</given-names>
          </string-name>
          , CarnegieMellon University,
          <year>2009</year>
          , pp.
          <fpage>121</fpage>
          -
          <lpage>130</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C. W.</given-names>
            <surname>Krueger</surname>
          </string-name>
          , “
          <article-title>New Methods in Software Product Line Development”</article-title>
          ,
          <source>Proc. of the 10th International Software Product Line Conference (SPLC</source>
          <year>2006</year>
          ), Baltimore, Maryland,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>M.-O. Reiser</surname>
            ,
            <given-names>R. T.</given-names>
          </string-name>
          <string-name>
            <surname>Kolagari</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Weber</surname>
          </string-name>
          ,
          <article-title>"Compositional Variability-Concepts and Patterns, "</article-title>
          <source>Proc. of the 42nd Hawaii International Conference on System Sciences (HICSS-42)</source>
          , Waikoloa, Hawaii, USA, IEEE Computer Society,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [7]
          <string-name>
            <surname>R. van Ommering</surname>
          </string-name>
          ,
          <article-title>"Software reuse in product populations,"</article-title>
          <source>IEEE Transactions on Software Engineering</source>
          , vol.
          <volume>31</volume>
          (
          <issue>7</issue>
          ), pp.
          <fpage>537</fpage>
          -
          <lpage>550</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D.</given-names>
            <surname>Dhungana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Grünbacher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rabiser</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Neumayer</surname>
          </string-name>
          ,
          <article-title>"Structuring the Modeling Space and Supporting Evolution in Software Product Line Engineering,"</article-title>
          <source>Journal of Systems and Software</source>
          , vol.
          <volume>83</volume>
          (
          <issue>7</issue>
          ), pp.
          <fpage>1108</fpage>
          -
          <lpage>1122</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>P.</given-names>
            <surname>Grünbacher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rabiser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Dhungana</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Lehofer</surname>
          </string-name>
          ,
          <article-title>"Modelbased Customization and Deployment of Eclipse-Based Tools: Industrial Experiences, "</article-title>
          <source>Proc. of the 24th IEEE/ACM International Conference on Automated Software Engineering (ASE</source>
          <year>2009</year>
          ), Auckland, New Zealand, IEEE/ACM,
          <year>2009</year>
          , pp.
          <fpage>247</fpage>
          -
          <lpage>256</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>R.</given-names>
            <surname>Rabiser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Grünbacher</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Dhungana</surname>
          </string-name>
          ,
          <article-title>"Supporting Product Derivation by Adapting and Augmenting Variability Models, "</article-title>
          <source>Proc. of the 11th International Software Product Line Conference (SPLC</source>
          <year>2007</year>
          ), Kyoto, Japan, IEEE Computer Society,
          <year>2007</year>
          , pp.
          <fpage>141</fpage>
          -
          <lpage>150</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R.</given-names>
            <surname>Rabiser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Wolfinger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Grünbacher</surname>
          </string-name>
          ,
          <article-title>"Three-level Customization of Software Products Using a Product Line Approach, "</article-title>
          <source>Proc. of the 42nd Annual Hawaii International Conference on System Sciences, Waikoloa</source>
          ,
          <string-name>
            <surname>HI</surname>
          </string-name>
          , USA, IEEE CS,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mendonca</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Cowan</surname>
          </string-name>
          ,
          <article-title>"Decision-making coordination and efficient reasoning techniques for feature-based configuration,"</article-title>
          <source>Science of Computer Programming</source>
          , vol.
          <volume>75</volume>
          (
          <issue>5</issue>
          ), pp.
          <fpage>311</fpage>
          -
          <lpage>332</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Helson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>U. W.</given-names>
            <surname>Eisenecker</surname>
          </string-name>
          ,
          <article-title>"Staged configuration using feature models, "</article-title>
          <source>Proc. of the 3rd International Software Product Line Conference (SPLC</source>
          <year>2004</year>
          ), Boston, MA, USA, Springer Berlin Heidelberg,
          <year>2004</year>
          , pp.
          <fpage>266</fpage>
          -
          <lpage>283</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [14]
          <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 configuration workflows, "</article-title>
          <source>Proc. of the 13th International Software Product Line Conference (SPLC</source>
          <year>2009</year>
          ), San Francisco, CA, USA, ACM International Conference Proceeding Series; Vol.
          <volume>446</volume>
          , CarnegieMellon University,
          <year>2009</year>
          , pp.
          <fpage>221</fpage>
          -
          <lpage>230</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>C.</given-names>
            <surname>Elsner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ulbrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lohmann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Schröder-Preikschat</surname>
          </string-name>
          ,
          <article-title>"Consistent Product Line Configuration Across File Type and Product Line Boundaries</article-title>
          .,
          <source>"Proc. of the 14th International Software Product Line Conference (SPLC</source>
          <year>2010</year>
          ), Jeju Island, South Korea,
          <year>2010</year>
          (to appear).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [16]
          <string-name>
            <surname>G.-D. Pahng</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Bae</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Wallace</surname>
          </string-name>
          , “
          <article-title>Web-based collaborative design modeling and decision support”</article-title>
          ,
          <source>Proc. of the ASME Design Engineering Technical Conferences (DETC</source>
          <year>1998</year>
          ), Atlanta, Georgia,
          <year>1998</year>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>L.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Shen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Xie</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Neelamkavil A</surname>
          </string-name>
          .Pardasani, “
          <article-title>Collaborative conceptual design-state of the art and future trends”</article-title>
          ,
          <source>Computer-Aided Design</source>
          , vol.
          <volume>34</volume>
          , pp.
          <fpage>981</fpage>
          -
          <lpage>996</lpage>
          ,
          <year>2002</year>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>