<!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>Visualizing Variability Models Using Hyperbolic Trees</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>R. Bashroush</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Al-Nemrat</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>M. Bachrouch</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>H. Jahankhani</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computing, IT and Engineering, University of East London</institution>
          ,
          <addr-line>London</addr-line>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
      </contrib-group>
      <fpage>113</fpage>
      <lpage>120</lpage>
      <abstract>
        <p>Software Product Line Engineering (SPLE) has emerged in recent years as a viable way to maximize reuse when designing a family of related products. One of the main tasks conducted during the SPLE process is Variability Management (VM). VM is about identifying commonality among the different products being developed while capturing and cataloging variability. In real-life projects, VM models tend to encompass a very large number of variants reaching in many projects the order of thousands. Visualizing these models has been a major challenge for tool developers. In this work, we present our MUSA CASE tool which uses hyperbolic trees for representing VM models and supports gesture based interaction (using multitouch interfaces). The tool has been successfully used to develop a large scale case study.</p>
      </abstract>
      <kwd-group>
        <kwd>Software Product Lines</kwd>
        <kwd>Variability Management</kwd>
        <kwd>Feature Modeling</kwd>
        <kwd>Hyperbolic Trees</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Software Product-line Engineering (SPLE) has emerged as a major strategy for
maximizing reuse when a family of related software systems is developed. In this
approach, commonality-variability analysis [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] (Variability Management - VM) of the
member products is a major phase of the process and plays an important role in its
success.
      </p>
      <p>One of the main challenges within VM is the handling and visualizing
“industrysize” models which usually comprise a large number of variability points along with
the dependency relationships that exist among them. The challenge comes from the
large amount of information captured within a model (business related, dependency
and relationships, etc.) as well as the current techniques and I/O devices used to
visualize the model which do not inherently scale [13].</p>
      <p>
        The MUSA CASE tool was designed to overcome these challenges [13], [14].
MUSA is based on our successful work on multiple-perspective based variability
management which provides a rich modeling framework while using the concept of
separation-of-concerns to alleviate the problem of information overloading. MUSA
implements this theory using a mind-mapping modeling approach, hyperbolic trees,
over the state-of-the-art in HCI, the multi-touch Microsoft Surface [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. This provides
a scalable solution that taps on the latest in Natural User Interface (NUI) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] design
providing an intuitive and large display for VM. In addition, the MUSA solution
provides interfaces over other multi-touch platforms including Windows 7 (using its
native multi-touch support).
      </p>
      <p>The theory behind MUSA is highlighted in section 2. An overview of the MUSA
CASE tool is then presented in section 3. Finally, section 4 ends with related work
and conclusion.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Technical Background</title>
      <p>
        The Four Views Model (4VM) forms the theoretical foundation upon which MUSA is
designed as a Proof-of-Concept. The original version of the 4VM can be found here
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and to appear here [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        It is generally agreed that different stakeholders have interest in considering
different views of the product line variability model [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ],[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. So, it is important for a
VM mechanism to be able to extract and present relevant information about the
family model in dedicated views for different groups of stakeholders (users, system
analysts, developers, etc.). This could considerably contribute to alleviating the
graphical overload when showing all the information in one view (as compared to
using multiple views). This is one of the core concepts behind 4VM.
      </p>
      <p>The 4VM proposes a four view presentation of the feature model which are
discussed below.</p>
      <sec id="sec-2-1">
        <title>2.1 Business View</title>
        <p>The Business View is aimed at the project business and management stakeholders. It
acts as a portal for inputting and presenting information related to:
- Feature implementation time: This indicates when a given feature is to be
implemented. Planning for future releases of products, the features to be
implemented in these products, and the timing, is a key step for the success
and sustainability of a product line
- Feature Cost/Benefit analysis: information related to the effort needed and
cost involved in realizing features as well as their foreseen benefit. This
provides valuable input to the overall project costing and the product
versioning process
- Open/Closed sets of features: it is rarely the case that the architect is
furnished with a system’s comprehensive and complete set of features
upfront. Rather, features are continuously added (and modified) to the initial
feature model over time. Designing a system around an open and changing
set of features is a very challenging task. To overcome this problem, some
industries designate some features as closed, meaning that they can’t be
changed (core features), while others are designated as open, meaning they
can be modified by developers.
- Negative features: these are the features that are not mean to be supported by
the system (e.g. for security reasons) as opposed to supported features.</p>
        <p>These properties are usually specified and used by the project managers to carry
out system-wide business analyses which support decision making such as when to
introduce features within a product line; what features are feasible from a business
perspective, etc.
2.2</p>
        <p>Hierarchical &amp; Behavioral View
The Hierarchical and Behavioral View is the view provided by most existing feature
modeling techniques. In this view, information related to the structure of the feature
model and the behavior of the features is captured. Among other potential users, this
view is mainly targeted at architects and developers.
2.3</p>
        <p>Dependency and Interaction View
Due to the size and complexity of feature dependency and interaction within real-life
systems, a separate view is created within the 4VM to model these relationships. The
Dependency and Interaction View is complementary to the Hierarchical and
Behavioral View. We define feature dependency and feature interaction as follows:
- Feature Dependency: a feature-to-feature dependency where the inclusion of
one or more features affects one or more features within the system.
- Feature Interaction: a feature-to-architecture dependency where the inclusion of
one or more features affects the architecture structure (different component sets
and/or configurations, etc.).</p>
        <p>In this view, logic design is proposed to capture the dependency and interaction
relationships. Once the relationships are modeled, standard logic algorithms (and SAT
solvers) can be used to simplify the models.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.4 Intermediate View</title>
        <p>Finally, the intermediate view has been introduced in an attempt to bridge the gap
between feature modeling and the architecture design. This gap exists between the
two domains due to the fact that the feature model is based on end-user and
stakeholder concerns while the architecture structure is designed to accommodate
technical concerns.</p>
        <p>To bridge this gap, the intermediate view proposed attempts at injecting design
decisions into the feature model to take it one step further towards the architecture
domain. As such, it may be regarded as an intermediate stage between feature model
and system architecture.</p>
        <p>3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Implementation</title>
      <p>MUSA was funded as a Proof-of-Concept project to demonstrate the theoretical
foundation provided in 4VM. The MUSA system provides an end-to-end variability
management solution as shown in Figure 1 below. MUSA provides a rich and
collaborative interface to elicit and manage requirements and variability from
stakeholders while allowing for appropriate access to the variability model to different
teams including: implementation, testing and deployment teams. In addition, MUSA
automates model verification (with the use of SAT solvers) and maintains consistency
among the different views with the help of a centralized Database (as shown in Figure
1). MUSA is considered among the very first CASE tools to move into the NUI space
in order to overcome scalability issues.</p>
      <sec id="sec-3-1">
        <title>Requirements Engineers &amp; Architects</title>
      </sec>
      <sec id="sec-3-2">
        <title>Development Team</title>
      </sec>
      <sec id="sec-3-3">
        <title>Stakeholders /</title>
      </sec>
      <sec id="sec-3-4">
        <title>Project Managers</title>
        <p>Surface
quiremeceinfitcsation
Re Sp
V
M
D
e
sin
g
&amp;
M
aintn
e
a
n
c
e
e
c
plian
m
o
C
M
V
pliance
om
VMC
VM Compliance</p>
      </sec>
      <sec id="sec-3-5">
        <title>Testing &amp; Evaluation</title>
      </sec>
      <sec id="sec-3-6">
        <title>Team</title>
      </sec>
      <sec id="sec-3-7">
        <title>Deployment Team</title>
        <p>For example, with MUSA, users can user different gestures such as: pinching (for
expanding nodes), panning (by moving two fingers on the screen to shift the model),
three finger gesture (to center the model at the root node), etc.</p>
        <p>
          In addition, one of the main advantages of MUSA over other CASE tools within
the domain of VM (see next section) is scalability. This is made possible with the
adoption of hyperbolic trees [
          <xref ref-type="bibr" rid="ref11">15</xref>
          ] to represent VM rather than normal trees and other
structures within the Euclidean space.
        </p>
        <p>Hyperbolic trees (a.k.a. hypertree) is a visualization method that maps graphs into
the hyperbolic geometry. The result effect is similar to a fish-eye lens view where
nodes in focus are placed in the center and given more room, while out-of-focus
nodes are compressed near the boundaries. Focusing on a different node brings it and
its children to the center of the screen, while compressing out of focus nodes.</p>
        <p>
          The advantage of this is that the standard tree suffers from visual clutter when the
number of child nodes grow exponentially (in the order of 2n for binary trees and
much quicker for other types of trees), thus, requiring an exponential amount of space
to be displayed appropriately. However, hyperbolic trees employ hyperbolic space
which provides more room compared with Euclidean space. This is because
increasing objects’ size in Euclidean space would cause objects to increase linearly in
size compared to hyperbolically in the hyperbolic space [
          <xref ref-type="bibr" rid="ref11">15</xref>
          ].
        </p>
        <p>Figure 2 (using the MS Surface) and figure 3 (using Windows 7) below show an
example VM of a case study developed with the MUSA toolset. In these figures, we
notice color coding is used to distinguish between optional (blue) and mandatory
features (yellow).</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Conclusion and Related Work</title>
      <p>Over the past few years, a number of VM approaches have been developed ranging
from research techniques to commercial products.</p>
      <p>
        On the research techniques front, Sinnema et al [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] introduced the COVAMOF
framework and toolset which uses the COVAMOF variability view (CVV) to
represent the view of variability for the product family artefacts. The graphical
notation used is based on a simple 2D, unidirectional tree that becomes cumbersome
to use as soon as the number of variants exceeds about the 50. The Feature Modelling
Tool [
        <xref ref-type="bibr" rid="ref12">16</xref>
        ] was created as a plugin to visual studio (Figure 4 below). Yet again, in
practice, the tool would be difficult to use and manage as soon as the number of
variants exceeds 60 or 70. Other tools include FeaturePlugin (an eclipse plugin) by
Antkiewicz and Czarnecki [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and Kubmang by Asikainen et al [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>The major challenge for most research techniques is scalability. The scalability
issue arises from the graphical modeling techniques traditionally adopted (e.g. trees)
and the I/O devices used (standard keyboard, mouse, and monitors). More recently,
virtual reality technologies have been reported as being explored as a potential
approach for VM. It is hard to see how such techniques could make their way to
commercial environments due to the difficulty involved in integrating such
approaches within existing industrial development settings.</p>
      <p>
        On the commercial products front, the main tools are from Pure-Systems [11] who
have introduced the pure::variants [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] solution and BigLever [12] who developed the
Gears toolset. Both are provided as part of a complete modeling framework. These
commercial products have managed scalability by largely moving away from
graphical representation of models. File system tree like structures and even text
listings (e.g. using MS Excel sheets) have been seen in use. Although such
approaches scale and are in industrial use, adopting NUI interfaces such as the one we
implemented in MUSA will increase productivity, time-to-market and allow for the
creation and management of larger and more complex product families.
Acknowledgments. The work on the MUSA project has been funded by the
European RD Fund through INI under the Proof of Concept funding scheme
[20082010]. It has also received further funding under the Challenge Fund scheme at the
University of East London [2010-2011]. We thank all the postgraduate students at the
CITE school at UEL who contributed to some of the testing and development of the
MUSA toolset as part of their thesis work.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>K. C. Kang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Lee</surname>
            , and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Donohoe</surname>
          </string-name>
          ,
          <article-title>"Feature-Oriented Product Line Engineering,"</article-title>
          <source>IEEE Software</source>
          , vol.
          <volume>19</volume>
          , pp.
          <fpage>58</fpage>
          -
          <lpage>65</lpage>
          , (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Microsoft</given-names>
            <surname>Surface</surname>
          </string-name>
          , http://www.microsoft.com/surface/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Natural</given-names>
            <surname>User</surname>
          </string-name>
          <string-name>
            <surname>Interfaces</surname>
          </string-name>
          , http://en.wikipedia.org/wiki/Natural_user_interface
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>R.</given-names>
            <surname>Bashroush</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Spence</surname>
          </string-name>
          , P. Kilpatrick, TJ Brown, and
          <string-name>
            <given-names>C.</given-names>
            <surname>Gillan</surname>
          </string-name>
          .
          <article-title>"A Multiple Views Model for Variability Management in Software Product Lines,"</article-title>
          <source>Proceedings of the Second International Workshop on Variability Modelling of Software-intensive Systems</source>
          . Essen, Germany, (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <source>US Patent Application No 12/349</source>
          ,797, Inventor: Rabih Bashroush, Title: “
          <article-title>Multiple Perspective Feature-based Variability Management”, (Patent Pending)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>B.</given-names>
            <surname>Nuseibeh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kramer</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Finkelstein</surname>
          </string-name>
          ,
          <article-title>"A Framework for Expressing the Relationships Between Multiple Views in Requirements Specification,"</article-title>
          <source>IEEE Transactions on Software Engineering</source>
          , vol.
          <volume>20</volume>
          (
          <issue>10</issue>
          ), pp.
          <fpage>760</fpage>
          -
          <lpage>773</lpage>
          , (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>M.</given-names>
            <surname>Sinnema</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Deelstra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Nijhuis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Bosch</surname>
          </string-name>
          ,
          <article-title>"COVAMOF: A Framework for Modeling Variability in Software Product Families."</article-title>
          <source>In proceedings of Third Software Product Line Conference</source>
          <year>2004</year>
          , Boston, (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>M.</given-names>
            <surname>Antkiewicz</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          ,
          <article-title>"FeaturePlugin: feature modeling plug-in for Eclipse."</article-title>
          <source>In proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange</source>
          , (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>T.</given-names>
            <surname>Asikainen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Männistö</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Soininen</surname>
          </string-name>
          ,
          <article-title>"Kumbang: A domain ontology for modelling variability in software product families," Advanced Engineering Informatics</article-title>
          , Elsevier Science Publishers B. V., vol.
          <volume>21</volume>
          , pp.
          <fpage>23</fpage>
          -
          <lpage>40</lpage>
          , (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>D.</given-names>
            <surname>Beuche</surname>
          </string-name>
          ,
          <article-title>"Variant Management with pure::variants," pure-systems GmbH (</article-title>
          <year>2003</year>
          )
          <article-title>11</article-title>
          .
          <string-name>
            <surname>Pure-Systems</surname>
            <given-names>Pure</given-names>
          </string-name>
          ::Variants, http://www.pure-systems.com/Variant_Management.
          <volume>49</volume>
          .0.html 12.
          <article-title>"BigLever Software Gears,"</article-title>
          http://www.biglever.com/solution/product.html 13.
          <string-name>
            <given-names>R.</given-names>
            <surname>Bashroush</surname>
          </string-name>
          .
          <article-title>"A NUI Based Multiple Perspective Variability Modelling CASE Tool," Muhammad Ali Babar</article-title>
          , Ian Gorton (Eds.):
          <source>ECSA 2010. Lecture Notes in Computer Science</source>
          , Volume (
          <volume>6285</volume>
          ), Springer-Verlag Berlin Heidelberg, ISBN 978-3-
          <fpage>642</fpage>
          -15113-2,
          <year>August 2010</year>
          14.
          <string-name>
            <given-names>R.</given-names>
            <surname>Bashroush</surname>
          </string-name>
          .
          <article-title>"A Scalable Multiple Perspective Variability Management CASE Tool"</article-title>
          .
          <source>Proceedings of the 14th International Software Product Line Conference (SPLC)</source>
          ,
          <source>South Korea. September</source>
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          15.
          <string-name>
            <surname>Lamping</surname>
          </string-name>
          , John; Rao, Ramana; Pirolli,
          <string-name>
            <surname>Peter</surname>
          </string-name>
          (
          <year>1995</year>
          ).
          <article-title>"A Focus+Context Technique Based on Hyperbolic Geometry for Visualizing Large Hierarchies"</article-title>
          .
          <source>Proc. ACM Conf. Human Factors in Computing Systems, CHI. ACM</source>
          . pp.
          <fpage>401</fpage>
          -
          <lpage>408</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          16.Grupo de Investigacion en
          <article-title>Reutilizacion y Orientacion a Objeto (GIRO) - Feature Modeling Tool</article-title>
          . Available from: http://www.giro.infor.uva.es/FeatureTool.html[last visited May 2011]
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>