<!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>Comprehension and Utilization of Core Assets Models in Software Product Line Engineering</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Iris Reinhartz-Berger</string-name>
          <email>iris@is.haifa.ac.il</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Arnon Sturm</string-name>
          <email>sturm@bgu.ac.il</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Arava Tsoury</string-name>
          <email>aravabt@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Information Systems Engineering, Ben-Gurion University of the Negev</institution>
          ,
          <addr-line>Beer Sheva 84105</addr-line>
          ,
          <country country="IL">Israel</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Information Systems, University of Haifa</institution>
          ,
          <addr-line>Haifa 31905</addr-line>
          ,
          <country country="IL">Israel</country>
        </aff>
      </contrib-group>
      <fpage>171</fpage>
      <lpage>178</lpage>
      <abstract>
        <p>In software product line engineering, core assets are reusable artifacts that are intended to be used by a family of software products in order to improve development productivity and quality of particular software products. In order to support the construction and maintenance of core assets, various modeling methods have been proposed. However, the assessment of these methods is still in an incubation stage. In fact, only several frameworks for comparing and evaluating these methods have been suggested. These mainly refer to lists of criteria whose examination is sometimes subjective and opinion-dependent. In this paper, we call for empirical evaluation of the comprehension and utilization of core assets and report the initial results of a series of studies we performed in this context.</p>
      </abstract>
      <kwd-group>
        <kwd>variability management</kwd>
        <kwd>software product line engineering</kwd>
        <kwd>domain analysis</kwd>
        <kwd>UML</kwd>
        <kwd>feature-orientation</kwd>
        <kwd>evaluation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        In Software Product Line Engineering (SPLE), a core asset is "a reusable artifact or
resource that is used in the production of more than one product" [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The
development of core assets intends to improve productivity, increase quality of
individual products, decrease development cost, decrease time to market or to launch
new products or versions, and enable moving into new markets in shorter times. Core
assets have different forms that may be useful in a software production process, one
of which is domain models. These models capture both existing commonality and
allowed variability of given product lines.
      </p>
      <p>
        Reviewing 97 papers that describe variability management approaches in SPLE,
reported from 1990s to 2007, Chen and Babar [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] conclude that the main corpus of
approaches focuses on variability modeling and utilizes feature models (33 works) or
UML and its extensions (25 works) for this purpose. Feature-oriented methods, such
as [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], and [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], support specifying domain models as sets of
characteristics relevant to some stakeholders and the relationships and dependencies
among them. Variability is specified in terms of mandatory vs. optional features,
alternatives, OR features, 'require' and 'exclude' dependencies among features, feature
groups, and composition rules. UML-based SPLE methods (e.g., [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ],
and [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]) usually suggest profiles for handling variability-related issues, including
specification of mandatory and optional elements, dependencies among elements,
variation points, and possible variants. Some UML-based methods suggest extending
UML or representing variability aspects orthogonally to "regular" UML models of the
product families, e.g., [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        As the number of suggested modeling methods increases, several evaluation
frameworks have been proposed for comparing methods, belonging to different
categories, e.g., [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], and [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], or within certain categories, e.g., [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
Matinlassi [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], for example, refers to four main comparison criteria: context, user,
contents, and validation. Haugen et al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] suggest examining the ways variability
and commonality are modeled, the support for iterative and incremental system
family development, and the production of individual systems. Djebbi and Salinesi [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
compare feature-oriented notations in terms of different criteria, including readability,
simplicity and expressiveness, adaptability, scalability, and others. Although the
various criteria may help understand the benefits and limitations of the different
methods, their usage in examining and comparing the methods is limited as they are
subjective and usually criticized as opinion-oriented [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        Despite their amenability to be empirically evaluated, relatively minor attention is
allocated for the empirical evaluation of SPLE methods in general and variability
management approaches in particular. These studies highlight different aspects in
SPLE, including product derivation [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], quality assurance [
        <xref ref-type="bibr" rid="ref2 ref7">2, 7</xref>
        ], and architecture
process activities [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In this paper we draw a general evaluation framework for
comparing core assets modeling methods. This framework, which refers to both
specification and utilization aids, is used for better understanding the sources of
difficulties of core assets modeling methods. In a series of three studies, we started
examining the specification aids of modeling methods to clearly describe common
and variable parts in core assets and the relevant utilization aids, which aim at guiding
the developer in generating, deriving, and building valid software products. We report
on some sources of difficulties we found in the comprehension and utilization of core
assets models using feature-oriented and UML-based methods.
      </p>
      <p>The remainder of this paper is organized as follows. Section 2 reviews the
suggested dimensions for evaluation, whereas Section 3 describes two core assets
modeling methods on which we conducted the evaluation so far and justifies their
selection. Section 4 elaborates on the empirical studies and reports our initial results.
Finally, Section 5 concludes and refers to future research directions.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Dimensions for Evaluating Core Assets Modeling Methods</title>
      <p>When evaluating core assets modeling methods, two important dimensions can be
identified: specification, which refers to the collection of aids required for specifying
both existing commonality and allowed variability in a software product line, and
utilization, which refers to the different means to use core assets in order to create
particular software product in the domain.</p>
      <p>The specification aids are further divided into commonality- and variability-related
ones. Commonality-related aids are used for specifying aspects that all (or most of)
the products in the line exhibit, while variability-related aids enable specifying added
values that not all the products in the family include in the same way.</p>
      <p>The utilization dimension refers to the aids needed in core assets modeling
methods in order to improve the effectiveness and efficiency of creating particular
product artifacts in certain domains. This includes guidance and validation. Guidance
refers to the ways in which core assets can be used for specific needs (i.e., in the
development or production of particular software products), while validation refers to
the mechanisms and tools that may be provided by the modeling methods for enabling
alignment of specific software products with the domain constraints and rules as
specified in core assets.</p>
      <p>Table 1 summarizes the main specification and utilization aids of feature-oriented
and UML-based methods. In order to define sources of difficulties in specifying and
modeling core assets in these categories, we used the suggested evaluation framework
and conducted three studies (the focus of each study is depicted in Table 1). Due to
the large number of methods in each category, we had to select specific methods for
evaluation. Explanations on the selected modeling methods, as well as the reasons for
their selection are provided next.</p>
    </sec>
    <sec id="sec-3">
      <title>The Selected Modeling Methods: CBFM and ADOM</title>
      <p>
        In feature-orientation, features are defined as end-user characteristics of systems, or
distinguishable characteristics of concepts that are relevant to some stakeholders of
the concepts [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Features can be composed and decomposed into trees, where the
edges represent dependencies between features. Some of the feature-oriented
methods, such as [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], concentrate on commonality specification and do not explicitly
specify variability. However, guidance is partially supported in these methods, mainly
via XOR and OR constructs or via explicit textual constraints and guidelines. Some
methods, e.g., [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], support representing variation points and variants via
feature groups and refer to guidance via OR and XOR constructs.
      </p>
      <p>
        Cardinality-Based Feature Modeling (CBFM) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] exceeds the expressiveness of
other feature-oriented methods by enabling usage of OCL for specifying different
dependencies and allowing definition of various cardinalities for better guiding the
development of particular software products. In particular, CBFM extends the
expressiveness of feature diagrams in FODA [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], the ancestor of most
featureoriented methods, with five main aspects: (1) cardinality, which denotes how many
clones of a feature can be included in a concrete product, (2) feature groups, which
enable organizing features and defining how many group members can be selected at
certain points, (3) attribute types, indicating that attribute values can be specified
during configuration, (4) feature model references, which enable splitting a feature
diagram into different diagrams, and (5) OCL constraints.
3.2
      </p>
      <sec id="sec-3-1">
        <title>UML-based Modeling Methods and ADOM</title>
        <p>Most UML-based methods model commonality-related aspects via dedicated
stereotypes for differentiating mandatory (sometimes called kernel) and optional
elements. Some works explicitly specify variability using both «variation point» and
«variant» stereotypes, while others specify only one of these concepts and the other is
implicitly specified from its relationships with the other concept.</p>
        <p>
          We selected the Application-based DOmain Modeling (ADOM) method [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] for
our evaluation, since it consistently integrate all the main stereotypes from other
methods in the UML-based SPLE category [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] and it explicitly refers to guidance
and validation of software products with respect to core assets, aspects which other
methods in this category tend to neglect. Furthermore, it enables explicit specification
of both variation points and variants and it allows specifying ranges of multiplicity.
        </p>
        <p>At the basis of ADOM there is a profile that includes the following six stereotypes:
(1) «multiplicity», specifying the range of product elements that can be classified as
the same core element, (2) «variation point», indicating locations where variability
may occur, including rules to realize the variability in these locations, (3) «variant»,
which refers to possible realizations of variability and is associated to the
corresponding variation points, (4) «requires» and (5) «excludes», which determine
dependencies between elements (and possibly between variation points and variants),
and (6) «reuse», which is used for guiding the developer about the possible usages of
the core asset element in specific products.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Empirical Evaluation of Core Assets Modeling Methods</title>
      <p>4.1</p>
      <sec id="sec-4-1">
        <title>Eval1: Comprehension and Utilization of ADOM's Models</title>
        <p>The first study was associated with two research questions: (1) Are the specification
aids of ADOM well understood and to what extent? (2) Are the specification aids of
ADOM well utilized and to what extent? The subjects of this study were 15 advanced
undergraduate and graduate students in an Information Systems program at the
University of Haifa, Israel, who took a seminar course named “Advanced Topics in
Software Engineering” in 2009. During the course, the students studied domain
engineering techniques, focusing on ADOM and its capabilities. The study took place
towards the end of the course as a class assignment. The students got a domain model
(in ADOM) and had to answer questions in three categories. In the first category of
questions, which referred to comprehension, the subjects had to answer 14 true/false
questions regarding the domain and explain their answers based on the given model.
The questions referred to both commonality and variability aspects. The second group
of questions, validation, required finding violations in a particular application, with
respect to the domain constraints as specified in the given model. For checking this
task, we prepared a list of 9 mistakes (or inaccuracies) in the application model and
measured the performance of the subjects in terms of precision, recall, and F-measure.
Finally, in the third part, guidance, the subjects were asked to model another
application in the domain based on a list of requirements and the given domain model
(in ADOM). In this part, we examined how the specification aids were utilized for
guiding the creation of particular models.</p>
        <p>The results of this study brought up the following main points. First, variant-related
aspects are better comprehended than variation point-related aspects. Our conjecture
regarding this observation is that variation points are more abstract, usually refer to
several elements (variants) and include information regarding the way to realize the
variability. Thus, their specification is more difficult to understand than that of
variants, which are more concrete and focus on particular elements. Second, errors
that referred to commonality-related aspects, including such that refer to optional
elements and not just to mandatory ones, are easier to find than errors that referred to
variability. Furthermore, variability-related errors that involved several different
model elements were the most difficult to detect (only two students found one such
error each). Third, the subjects had difficulties in mapping the particular application
elements to the domain elements as specified in the domain model. As this mapping
may reveal anchors for validation, these difficulties also prevent the subjects from
correctly identifying problems that are related to both commonality and variability
issues. Finally, we found a correlation between the success in applying a variation
point and the success to utilize its variants. However, it seems that the guidance
provided by variation points is less considered than the guidance provided by the
variants. A possible reason for this may be again the different abstraction levels of
variation points and variants.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Eval2: Specification and Guidance Aids in ADOM</title>
        <p>The second study addressed two research questions: (1) Do variability specification
and guidance aids help comprehend core assets and to what extent? (2) Do variability
specification and guidance aids help create or model correct products and to what
extent? The subjects of this study were 116 advanced undergraduate students in an
Information Systems Engineering program at Ben-Gurion University of the Negev,
Israel, who took a mandatory course named “Object-Oriented Analysis and Design”
in 2009. During the course, the students studied the ADOM method and the study
took place as part of the final exam in the course. The students were randomly divided
into four groups, each of which got a core asset model (in ADOM) and had to answer
15 comprehension questions regarding the given model and to model a particular
application in the domain. The model given to the first group included only
commonality-related stereotypes, namely «multiplicity», «requires», and «excludes».
The model given to the second group included guidance-related stereotypes (i.e.,
«reuse») besides the commonality-related stereotypes, while the model given to the
third group included, besides the commonality-related stereotypes, variability-related
stereotypes, namely «variation point» and «variant». The model given to the fourth
group included all six stereotypes. Despite the difference in the sets of stereotypes
provided to the four groups, the models included similar (equivalent) information
using UML expressiveness and associating textual notes when required.</p>
        <p>The following interesting points have risen from this study. First, the guidance
aids, which explicitly explain how to reuse a core asset element in a particular
software product, help comprehend aspects that refer to commonality and variability
issues, and not just to reusability. This was especially remarkable when referring to
variation points and their rules to select variants. Our conjecture is that explicit
specification of guidance required additional attention from the students, thus
resulting in better outcomes. Second, the existence of all stereotypes seemed to
complicate the core asset models and negatively affect comprehension. Finally, no
statistically significant differences were found among the particular models produced
by the various groups from the core asset. We believe that this is due to the clear and
unambiguous requirements of the requested system, a situation which is less realistic
in "real life", but required for a controlled experiment.
4.3</p>
      </sec>
      <sec id="sec-4-3">
        <title>Eval3: Comprehension of CBFM and ADOM Specification Aids</title>
        <p>The research question in the third study was: The specifications of which method, out
of CBFM and ADOM, are more comprehensible and to what extent? The subjects in
this study were 18 advanced graduate and undergraduate information systems
students at the University of Haifa, Israel who took the seminar course “Advanced
Topics in Software Engineering” in 2010. During the course, the students studied
various domain engineering techniques, focusing on CBFM and ADOM and their
ability to specify core assets. The study took place towards the end of the course as a
class assignment. The students were equally divided into two groups of 9 students
each according to their grades in relevant modeling courses, their academic and
industrial background, and their familiarity with the examined methods. The students
in the first group got a CBFM model of a domain and a dictionary of terms in that
domain, while the students in the second group got an ADOM model of the same
domain and the same dictionary of domain terms. The students in the two groups were
asked to answer 15 true/false comprehension questions and to provide full
explanations to their answers.</p>
        <p>
          The results showed that CBFM outperformed ADOM in commonality-related
questions, while ADOM outperformed CBFM in variability-related questions. This
outcome is reasonable, as feature-orientation concentrates on a common kernel and its
possible configurations, while ADOM treats software products and product lines as
belonging to two different abstraction levels and allows more variability among
products that belong to the same product line (e.g., via specialization and extension).
Nevertheless, a statistical analysis showed that there is significant difference only in
the variability specification and this is in favor of ADOM [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. In all other categories
no statistical significance was found. Still, according to the achieved averages, the
overall comprehensibility in ADOM was better than that in CBFM. This outcome
somehow questions the widespread opinion [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] that feature-orientation is simpler
and, thus, more comprehensible to different stakeholders involved in SPLE and worth
further investigation in the future.
5
        </p>
      </sec>
      <sec id="sec-4-4">
        <title>Summary and Future Work</title>
        <p>Different core assets modeling methods have been suggested. These methods are
usually evaluated and compared subjectively, using different lists of criteria that
highlight various aspects of core assets specification and utilization. We used a
different approach for comparing these methods: empirical evaluation of
comprehending and utilizing their resultant models. Based on a series of three studies,
we noticed that variability is comprehensible and utilizable to a limited extent and that
the main source of problem is in comprehending variation points. Yet, when
providing explicit guidelines, the comprehension of the domain model increases.</p>
        <p>
          The three conducted studies were relatively limited in their subjects' qualifications,
the numbers of participating subjects, required tasks, examined methods, and
provided models. Thus, in the future, we plan to replicate the empirical study on
larger classes of trained domain engineering students and software developers and to
use the suggested framework for comparing and evaluating core assets modeling
methods in other categories, such as in Domain-Specific Languages [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Ahmed</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Capretz</surname>
            ,
            <given-names>L. F.</given-names>
          </string-name>
          <article-title>The software product line architecture: An empirical investigation of key process activities</article-title>
          .
          <source>Information and Software Technology 50</source>
          , pp.
          <fpage>1098</fpage>
          -
          <lpage>1113</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bagheri</surname>
          </string-name>
          . E. and
          <string-name>
            <surname>Dasevic</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <article-title>Assessing the Maintainability of Software Product Line Feature Models using Structural Metrics</article-title>
          .
          <source>Software Quality Journal</source>
          , Springer, DOI: 10.1007/s11219-010
          <source>-9127-2</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Borba</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>A Comparison of Goal-Oriented Approaches to Model Software Product Line Variability</article-title>
          .
          <source>ER'2009 workshops. LNCS 5833</source>
          , pp.
          <fpage>244</fpage>
          -
          <lpage>253</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Babar</surname>
            ,
            <given-names>M. A.</given-names>
          </string-name>
          <article-title>A systematic review of evaluation of variability management approaches in software product lines</article-title>
          .
          <source>Information and Software Technology 53</source>
          , pp.
          <fpage>344</fpage>
          -
          <lpage>362</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Clements</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Northrop</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Software Product</surname>
          </string-name>
          <article-title>Lines: Practices and Patterns</article-title>
          .
          <source>AddisonWesley</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Czarnecki</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>C.H.P.</given-names>
          </string-name>
          <string-name>
            <surname>Cardinality-Based Feature</surname>
          </string-name>
          Modeling and
          <article-title>Constraints: A Progress Report</article-title>
          .
          <source>In Proceedings of the OOPSLA Workshop on Software Factories</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Denger</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Kolb</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Testing</surname>
          </string-name>
          and
          <article-title>Inspecting Reusable Product Line Components: First Empirical Results</article-title>
          .
          <source>Proceedings of the 2006 ACM/IEEE International Symposium on Empirical Software Engineering</source>
          , ACM, pp.
          <fpage>184</fpage>
          -
          <lpage>193</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Djebbi</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Salinesi</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Criteria for Comparing Requirements Variability Modeling Notations for Product Lines</article-title>
          .
          <source>The Fourth International Workshop on Comparative Evaluation in Requirements Engineering (CERE'06)</source>
          , in conjunction with RE'
          <volume>06</volume>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Frakes</surname>
          </string-name>
          , W.B. and
          <string-name>
            <surname>Kyo</surname>
          </string-name>
          ,
          <source>K. Software Reuse Research: Status and Future. IEEE Transactions on Software Engineering</source>
          ,
          <volume>31</volume>
          (
          <issue>7</issue>
          ), pp.
          <fpage>529</fpage>
          -
          <lpage>536</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Gomaa</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <article-title>Designing Software Product Lines with UML: From Use Cases to PatternBased Software Architectures</article-title>
          ,
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Halmans</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          and
          <article-title>Pohl, K. Communicating the Variability of a Software-Product Family to Customers</article-title>
          .
          <source>Software and Systems Modeling</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>15</fpage>
          -
          <lpage>36</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Haugen</surname>
          </string-name>
          , Ø.
          <string-name>
            <surname>Møller-Pedersen</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Oldevik</surname>
          </string-name>
          ,
          <source>J. Comparison of System Family Modeling Approaches. Software Product Lines Conference. LNCS 3714</source>
          , pp.
          <fpage>102</fpage>
          -
          <lpage>112</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Kang</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cohen</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hess</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Novak</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Peterson</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report</surname>
            <given-names>CMU</given-names>
          </string-name>
          /SEI-90
          <string-name>
            <surname>-</surname>
          </string-name>
          TR-
          <volume>21</volume>
          , Software Engineering Institute, Carnegie Mellon University,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Kyo</surname>
            ,
            <given-names>C. K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sajoong</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jaejoon</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kijoo</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Euiseob</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Moonhang</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <article-title>FORM: A feature oriented reuse method with domain-specific reference architectures</article-title>
          .
          <source>Annals of Software Engineering</source>
          <volume>5</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>143</fpage>
          -
          <lpage>168</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Matinlassi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Comparison of Software Product Line Architecture Design Methods: Comparison of Software Product Line Architecture Design Methods: COPA, FAST, FORM, KobrA and QADA</article-title>
          .
          <source>Proceedings of the 26th International Conference on Software Engineering (ICSE'04)</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Mernik</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heering</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Sloane</surname>
            ,
            <given-names>A. M.</given-names>
          </string-name>
          <string-name>
            <surname>When</surname>
          </string-name>
          and
          <article-title>How to Develop Domain-Specific Languages</article-title>
          .
          <source>ACM Computing Surveys (CSUR) 37 (4)</source>
          , pp.
          <fpage>316</fpage>
          -
          <lpage>344</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Ramesh</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Topi</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <article-title>Human Factors Research on Data Modeling: A Review of Prior Research, an Extended Framework</article-title>
          and Future Research Directions,
          <source>Journal of Database Management</source>
          , Vol.
          <volume>13</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>3</fpage>
          -
          <lpage>19</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Reinhartz-Berger</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Sturm</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Utilizing Domain Models for Application Design and Validation</article-title>
          .
          <source>Information and Software Technology</source>
          ,
          <volume>51</volume>
          (
          <issue>8</issue>
          ), pp.
          <fpage>1275</fpage>
          -
          <lpage>1289</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Reinhartz-Berger</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Tsoury</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Experimenting with the Comprehension of FeatureOriented and UML-Based Core Assets</article-title>
          .
          <source>Lecture Notes in Business Information Processing (LNBIP) 81</source>
          , pp.
          <fpage>468</fpage>
          -
          <lpage>482</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Robak</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franczyk</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Politowicz</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <article-title>Extending the UML for modeling variability for system families</article-title>
          .
          <source>International Journal of Applied Mathematics and Computer Science</source>
          <volume>12</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>285</fpage>
          -
          <lpage>298</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alencar</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Araújo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moreira</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castro</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>Tailoring an Aspectual GoalOriented Approach to Model Features</article-title>
          .
          <source>20th International Conference on Software Engineering and Knowledge</source>
          Engineering (SEKE'
          <year>2008</year>
          ), pp.
          <fpage>472</fpage>
          -
          <lpage>477</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Sinnema</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Deelstra</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>Industrial validation of COVAMOF</article-title>
          .
          <source>Journal of Systems and Software</source>
          <volume>81</volume>
          (
          <issue>4</issue>
          ), pp.
          <fpage>584</fpage>
          -
          <lpage>600</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Svahnberg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Van Gurp</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Bosch</surname>
          </string-name>
          ,
          <source>J. A Taxonomy of Variability Realization Techniques. Software - Practice &amp; Experience</source>
          <volume>35</volume>
          (
          <issue>8</issue>
          ), pp.
          <fpage>705</fpage>
          -
          <lpage>754</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Trigaux</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Heymans</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <article-title>Modeling variability requirements in Software Product Lines: A comparative survey</article-title>
          .
          <source>Technical report PLENTY project, Institut d'Informatique FUNDP</source>
          , Namur, Belgium,
          <year>November 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Webber</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Gomaa</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <article-title>Modeling variability in software product lines with variation point model</article-title>
          .
          <source>Science of Computer Programming</source>
          , Vol.
          <volume>53</volume>
          , pp.
          <fpage>305</fpage>
          -
          <lpage>331</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Ziadi</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hélouët</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Jézéquel</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          <string-name>
            <surname>Towards</surname>
          </string-name>
          <article-title>a UML Profile for Software Product Lines</article-title>
          . Software
          <string-name>
            <surname>Product-Family Engineering</surname>
          </string-name>
          (PFE'
          <year>2004</year>
          ),
          <source>LNCS 3014</source>
          , pp.
          <fpage>129</fpage>
          -
          <lpage>139</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>