<!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>Extending the SPES Modeling Framework for Supporting Role-specific Variant Management in the Engineering Process of Embedded Software</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tobias Kaufmann</string-name>
          <email>tobias.kaufmann@paluno.uni-due.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christian Manz</string-name>
          <email>christian.c.manz@daimler.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thorsten Weyer</string-name>
          <email>thorsten.weyer@paluno.uni-due.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Daimler AG Research and Development</institution>
          <addr-line>Wilhelm-Runge-Straße 11 89081 Ulm</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Duisburg-Essen paluno - The Ruhr Institute for Software Technology Gerlingstraße 16 45127 Essen</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>77</fpage>
      <lpage>86</lpage>
      <abstract>
        <p>* In many application domains embedded systems and the corresponding embedded software face an increase in sometimes mutually exclusive stakeholder needs like requests from different customers or national legal obligations. In order to meet these needs variability is explicitly designed into the embedded software. Nowadays, in the engineering process of embedded software the variability information is explicitly documented in a dedicated variability model. Hence, the variability model comprises multiple variability-related concerns that are specific to different roles in the lifecycle of embedded software. Each role (e.g. product manager, requirements engineer, architect, maintenance engineer) requires only a specific subset of the variability information that is documented in the variability model to fulfill their certain responsibility. As a consequence, mechanisms for structuring the variability model with respect to the specific role-based variabilityconcerns are needed. In this paper we present an extension of a well-known modelbased engineering framework for embedded software (the SPES Modeling Framework) in order to structure the overall variability model of the embedded software with respect to role-based variability-concerns.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>In many application domains (e.g. in the automotive domain) the management of
variants of embedded software becomes increasingly important to address the different
needs that are demanded from various stakeholders like customers, users or national
authorities for legislation. In order to cope with the manifold and sometimes mutual
* Copyright © 2014 for the individual papers by the papers' authors. Copying permitted for private
and academic purposes. This volume is published and copyrighted by its editors.
exclusive stakeholder needs, the variability of the embedded software is explicitly
considered with respect to the engineering artifacts that are created during the
engineering process (e.g. requirements, functional design, and technical architecture).
This requires an explicit and continuous management of the different variants of the
embedded software throughout the engineering process, or even better, throughout the
whole lifecycle of the corresponding embedded software.</p>
      <p>In recent years a consortium of 21 partners from academia and industry has developed
the SPES Modeling Framework (or short: SPES MF, cf. [Br12]) that aims at supporting
the seamless model-based engineering of embedded software. The SPES MF is built
upon two powerful software engineering principles: “separation of concerns” and
“divide and conquer” (cf. [GJM03]). The principle “separation of concerns” is
manifested by distinguishing between the four different viewpoints: requirements,
functional design, logical architecture and technical architecture. Each of these SPES
viewpoints focuses on a set of role-specific concerns in the engineering process of
embedded software. For instance, the requirements viewpoint addresses the concerns of
the role “requirements engineer” in the engineering process, since he/she is responsible
for the requirements specification of the embedded software. “Divide and conquer” is
realized by multiple layers of systems’ granularity. Typically, the granularity layers are
defined by systematically decomposing the embedded software into ever more
finegrained building blocks like subsystems, components and system elements. Therefore,
the coarse-grained engineering “problem” is stepwise decomposed into fine-grained
engineering problems that are regarded in distinct engineering processes. Each of those
engineering processes is in turn structured by the four SPES viewpoints (cf. [Br12]).
Originally, variability and variants were not considered in the SPES MF. Therefore, in
[HKW13] we proposed a general solution idea how to extend the SPES MF in order to
enable an explicit variant management throughout the engineering process of embedded
software. Since variability has a crosscutting nature with respect to the embedded
software we introduced the concept variability perspective that is orthogonal to the
viewpoints and granularity layers of the original SPES MF which is described in [Br12].
This variability perspective documents the variability information, which is related to the
SPES MF engineering artefacts. The different roles in the lifecycle of embedded
software require specific excerpts of the variability information to fulfill their
responsibilities. To take this into account appropriately, we extend the concept of the
variability perspective by suggesting an approach, which allows for a role-specific
tailoring of the variability information.</p>
      <p>The remainder of the paper is structured as follows: In Section 2, we present the
conceptual basis for our approach. Section 3 explains requirements and concerns for
structuring the variability perspective of the SPES MF. Then we introduce the concept
for structuring the variability perspective and explain its applicability by using a
variability model extract of an Advanced Driver Assistance System. We will then
discuss the effects of the proposed concept in Section 4. The related work will be
discussed in Section 5 and our conclusion will be presented in Section 6.</p>
    </sec>
    <sec id="sec-2">
      <title>Fundamentals</title>
      <p>The SPES MF is based on an architecture framework that is proposed in [III11]. In order
to describe the extension concept for addressing role-specific variability-concerns we
give some insights in the IEEE Std. 42010 and the SPES MF as well as in the general
idea of extending the SPES MF by a variability perspective that has already been
published in [HKW13].</p>
      <sec id="sec-2-1">
        <title>2.1. IEEE Std. 42010-based Viewpoint Specifications</title>
        <p>IEEE Std. 42010 [III11] provides a conceptual framework for defining viewpoints,
allowing separation of concerns in an architectural description. Viewpoints cover
multiple concerns of different stakeholders (e.g. the logical system architecture). A viewpoint
is a specification supporting the structured derivation of one view on a system under
development. Hence, multiple viewpoints are required to fully describe the architecture
of such systems. The viewpoints also specify how they are interrelated w.r.t. concerns
cutting across multiple viewpoints. IEEE Std. 42010 allows sharing architectural
artifacts across multiple views and hence considers crosscutting concerns. This concept
can be interpreted as one possible implementation of the concept perspective, which was
introduced by ROZANSKI and WOODS [RW12]. A perspective is defined as “[...] a
collection of architectural activities, tactics, and guidelines that are used to ensure that
a system exhibits its particular set of related properties that require consideration across
a number of the system’s architectural views” and allows the orthogonal consideration
of crosscutting concerns w.r.t. the viewpoints.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. The SPES Modeling Framework</title>
        <p>The SPES Modeling Framework (cf. [Br12]) consists of four viewpoints: The
Requirements Viewpoint addresses the structured documentation and analysis of requirements.
The Functional Viewpoint addresses the structured documentation and analysis of
system functions. The Logical Viewpoint addresses the structured documentation and
analysis of the logical solution, whereas the Technical Viewpoint addresses the structured
documentation and analysis of the technical solution. All four viewpoints cover multiple
layers of granularity, which can be individually defined (see Figure 1) according to the
needs of the engineering process. A new granularity layer is created, whenever a
coarsegrained engineering artifact is decomposed into multiple finer grained engineering
artifacts. For each of the engineering artifacts the four viewpoints are applied to ensure a
structured engineering path on the lower granularity layers. In addition, the SPES MF
explicitly considers crosscutting system properties (e.g. safety, real-time).</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Variability Modeling in the SPES Modeling Framework</title>
        <p>Variability is a first class concept and needs to be documented explicitly in a separate
variability model (cf. [CN02], [PBL05]). This paradigm originates from the software
product line community and is based on two ontological concepts: variability subject and
variability object. The variability subject is defined as a variable item of the real world
or a variable property of such an item, e.g. the paint of a car. The variability object is
defined as a particular instance of a variability subject, e.g. red paint (cf. [PBL05]). A
software-variant is constituted of a selected set of variability objects. These two concepts
are supported by multiple relationships between variability subjects and variability
objects. Dependencies are defined to express optional or mandatory variability objects and
alternative groups. Constraints between variability subjects and variability objects are
used to express requires- or excludes- relationships. Variability modeling is essential to
continuous variant management in the engineering of variable software for embedded
systems, because the variability cuts across the engineering process. Thus, all SPES
viewpoints and several roles participating in the engineering of such systems are
affected. In [HKW13] the SPES MF was extended by the variability perspective to
consider the crosscutting nature of variability. The variability perspective documents the
variability information orthogonally to the SPES viewpoints in one variability model.
This variability perspective can be understood as an instantiation of the concept
perspective proposed by ROZANSKI and WOODS [RW12] and defines the ontological concepts
for variability modeling in the SPES MF in accordance to [PBL05]. In consequence, the
variability perspective does not prescribe specific variability modeling languages, which
leaves the concept open to project or company specific instantiations.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Structuring the Variability Perspective</title>
      <p>In this Section we will elaborate on requirements for structuring the variability
perspective and present concerns related to specific roles in an engineering process.
Based on these requirements and concerns we propose an IEEE Std. 42010-compliant
approach to structure the variability perspective of the SPES MF. We demonstrate the
application of the approach by a simplified example from the automotive domain.</p>
      <sec id="sec-3-1">
        <title>3.1. Requirements and Concerns for Structuring the Variability Perspective</title>
        <p>ISO/IEC Std. 15504 (cf. [II06]) and domain specific derivations like automotive SPICE
require the definition of specific responsibilities and authorities in an engineering
process (cf. [Aut10]) to manage and develop engineering artifacts. Responsibilities are
represented by roles in an engineering process (cf. [So11]) and hence essential to each
engineering process. In the setting of variable software for embedded system, the
responsibility for an engineering artifact also covers its variability. Hence, this
responsibility causes e.g. the role EE-System Architect to retrieve a certain subset of the
variability information, resulting in role-based variability-concerns. Consequently, we
consider role-based variability-concerns as a key driver for structuring the variability
information and hence the variability model. Based on the experiences made in several
development projects of the automotive industry we derive the following requirements
for structuring the variability perspective:
(R1) Reduce the variability model complexity by neglecting irrelevant variability
information for a determined SPES viewpoint, granularity layer or role.
(R2) Define role-specific variability views to support the communication between
different roles (e.g. requirements engineers and software designers).</p>
        <p>These requirements address the required capabilities of an approach for structuring the
variability information. In other words R1 and R2 are necessary to realize a
variabilityrelated concern based structuring of the variability model. The structuring of the
variability model is based on role-specific variability-concerns, which we identified,
when working in projects that applied automotive SPICE.</p>
        <p>(C1) Which variability information is required by a specific role?
(C2) Which variability information is required by a specific role w.r.t. a specific
granularity layer e.g. of a subsystem?
(C3) Which variability information is the required by a specific role w.r.t. a specific</p>
        <p>SPES viewpoint?
The three concerns (C1 – C3) need detailing to support development, maintenance,
change impact analysis and software defect detection activities of an engineering
process. C1 is the most generic concern. Hence, we understand C2 and C3 as more
detailed concerns. C2 potentially covers the variability information of multiple SPES
viewpoints, whereas C3 potentially covers the variability information of multiple
granularity layers. From the requirements and concerns it follows that a comprehensive
view concept on variability models, is necessary (cf. [MSR13]).</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Structuring the Variability Perspective by Variability Viewpoints</title>
        <p>Views on instances of variability models focus on specific variability-related concerns,
which are documented in the model. Hence, views allow for analyzing a concern in
isolation to get a deep understanding of this concern (cf. [GJM03]). This notion led us to
introduce variability viewpoints based on the core concepts of IEEE Std. 42010:
stakeholder-specific concern and viewpoint as a specification for a view. A variability
view can be understood as a role-specific excerpt of information from the variability
perspective. A variability viewpoint that addresses a role-specific variability-concern
specifies which information of the variability perspective is needed by the corresponding
role to be able to fulfill its responsibilities. Typically, different variability viewpoints
share the same ontology for modeling variability information namely a variability model.
In accordance to the requirements R1 and R2, and the concerns C1 – C3 we propose
using role-based variability-concerns.</p>
        <p>These concerns are the conceptual fundament for specifying variability viewpoints.
Thus, we explicitly relate the concerns of roles to variability viewpoints and thereby
allow a role-based structuring of the variability perspective. This structure can be
independent from the structure, which is realized by the SPES viewpoints and their
corresponding concerns. In doing so, we provide a structuring mechanism for the
variability perspective. Essentially, the variability viewpoints provide role-based projections,
inspired by relational database theory (cf. [EN11]), on the relation of the variability
information VI (see Figure, 1 top layer circular elements).
For each role-based variability-concern rc the corresponding variability view is defined
as a projection on the variability information (VI) within the variability perspective:
In the expression above VP is defined as the set of all variation points (a variation point
is the manifestation of a variability subject), VA is defined as the set of all variants (a
variant is the manifestation of a variability object) and is the set of all
relationships between the elements of the sets A and B. The relation is defined
based on the set of different semantics of relationships between elements of the sets A
and B. Given n different semantics of the relationships between the elements of
A and B then is defined as:
3
)</p>
        <p>)</p>
        <p>Variability Artifact
rc4(VI)
Sub-Subsystem</p>
        <p>System</p>
        <p>1
Subsystem
Variability Viewpoints for role-specific structuring of the Variability Perspective</p>
        <sec id="sec-3-2-1">
          <title>1 Variability Viewpoints are Projections on the Variability Information</title>
        </sec>
        <sec id="sec-3-2-2">
          <title>2 Variability Artifacts are related across multiple</title>
          <p>Granularity Layers</p>
        </sec>
        <sec id="sec-3-2-3">
          <title>3 Variability Artifacts are related across</title>
          <p>multiple Variability Viewpoints
Variability Perspective</p>
          <p>2
rc2(VI)
rc1(VI)</p>
          <p>rc3(VI)</p>
          <p>SPES
Viewpoints
Here VI is defined as the set of all explicitly documented variability information within
the variability perspective:
For instance, let the requires-relation between a set VA of four optional variants va1,
va2, va3, va4 be defined as:
The relation above states that the variant va1 requires the variant va3 and variant va2
requires variant va4. Thus, va1 requires va3 means that when deciding upon the variant
(i.e. the binding of this variant) va1 also a corresponding decision concerning the variant
(i.e. the binding of this variant) va3 has to be made.</p>
          <p>⋃
V Mid-Size</p>
          <p>V</p>
        </sec>
        <sec id="sec-3-2-4">
          <title>Luxury requires V High-End</title>
          <p>V Low-End
V</p>
          <p>NAFTA
V
EU
V Adaptive V
Cruise Control
Cruise V
Control
Break
Assist
VP</p>
          <p>EEArchitecture</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Industrial Example</title>
        <p>The following example represents a small part of an Advanced Driver Assistant System
(or short: ADAS) variability model. The complete variability model comprises several
hundred features, which is a common size of variability models for automotive systems
like engine control or electric drive. The ADAS supports a car driver in usual traffic
scenarios to increase comfort and safety. Thus, it provides multiple functions (e.g.,
cruise control or brake assist, cf. Figure 2) with individual dependencies (e.g., adaptive
cruise control requires signals of the high-end EE-architecture). The ADAS is offered in
different vehicles classes (e.g., mid-size or luxury) and multiple markets (e.g. Europe or
NAFTA-North American Free Trade Agreement). Figure 2 visualizes the ADAS
variability information VI using the Orthogonal Variability Model variability modeling
language (cf. [PBL05]).</p>
        <p>s
e
d
u
l
c
x
e</p>
        <p>VP
Vehicle
Class</p>
        <p>VP
Market
1..1
1..1</p>
        <p>Variability Concepts legend
Core Concepts Relationships
Variation Point requires</p>
        <p>VP excludes
V
[name]
variant
[name]</p>
        <p>Dependencies
mandatory
alternative group</p>
        <p>m..n
Role-based Variability Viewpoints</p>
        <p>VEAEire-cswhyipsttoeecinmtt EngRienCDqeuouesmirtreoVemmiseteweicnrptosint
rc.Sys.Arch(VI) rc.CD.Re.Eng(VI)
Multiple roles are involved in the engineering process and marketing of the ADAS. Two
of them are the EE-System Architect (or short: Sys.Arch) and the Customer Domestic
Requirement Engineer (or short: CD.Re.Eng). The role Sys.Arch is responsible for
designing and maintaining the architecture of an EE-system and takes responsibility for the
internal characteristics and variability of an EE-system. The set of role-based
variabilityconcerns that is associated with the role Sys.Arch is named rc.Sys.Arch. The variability
viewpoint is denoted as ∏ ( ) in Figure 2. In contrast, the role CD.Re.Eng
manages the requirements of specific markets and defines the market individual
characteristic of an EE-System (e.g., in scope of after sales). The set of role-based
variabilityconcerns that is associated with the role CD.Re.Eng is named rc.CD.Re.Eng. The
variability viewpoint is denoted as ∏ ( ) in Figure 2. Constraints between
e.g. different variants spanning across multiple viewpoints (e.g. Luxury requires
HighEnd, cf. Figure 2) need to be maintained by the roles that are associated with the
viewpoints.</p>
        <p>According to IEEE Std. 42010, viewpoints are required to be documented explicitly.
Thus, based on the concerns of the roles Sys.Arch and CD.Re.Eng two different
variability viewpoints can be defined. Each has a unique name (e.g. vv.Sys.Arch and
vv.CD.Re.Eng) and focuses on role-specific concerns such as the technical variability of
the EE-System of the ADAS (vv.Sys.Arch) and the market specific variability in terms
of different functionality and behavior of the ADAS (vv.CD.Re.Eng). Thus, both
viewpoints use a role-specific subset of the variability information documented in the
variability model (e.g. Feature Model, Orthogonal Variability Model) and use the same
model for representing the variability information. These variability viewpoints can be
used to derive the views visualized in Figure 2.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Discussion</title>
      <p>The proposed approach (cf. Section 3) impacts the engineering artifacts. Thus, we
discuss possible impacts and challenges for a required evaluation.</p>
      <p>Relation to Engineering Artifacts: The proposed view concept for variability models
impacts the related engineering artifacts, because information documented by these
artifacts is automatically tailored according to the tailored variability view. This is due to
the relation of the variability model and the corresponding engineering artifacts. Today it
is not clear whether the tailoring of variability information can be transferred to the
engineering artifacts. Further research in this area is necessary.</p>
      <p>Evaluation: As our work is in an early stage, it requires evaluation. The effects of
overlapping viewpoints need to be studied in detail. One reason for overlapping
variability viewpoints is the overlap of responsibilities in an engineering process, which
can lead to discussions on the variability information of interest to multiple roles.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Related Work</title>
      <p>Regarding the realization of variability viewpoints annotative approaches augment
variability model elements with additional information, which are used to create views
on the variability model. In SCHROETER et al. [SLW12] feature models consist of
attributed features. Viewpoints are defined based on these attributes. In contrast to
annotative approaches, descriptive approaches specify sets of variability information and use
them to define which variability information is part of a view. The work of FEY et al.
[FFB02] proposes using feature sets to group features based on the needs on domain
experts. But this so called feature set plane disregards the dependencies between
features. In HUBAUX et al. [Hu13] a slicing operator based on sets of features for feature
models is proposed to create multiple different views on a feature model. The approach
focuses solely on feature-based configuration and proposed three different visualizations
of not accessible features. THOMPSON and HEIMDAHL [TH03] use a set based approach
to structure multi-dimensional product lines allowing for different views on the software
product line under development, but the approach is not explicitly related to role-specific
variability-concerns. CZARNECKI et al. [CHE05] propose a staged configuration
approach in which the three dimensions time (cf. engineering stages), targets (cf.
subsystems) and roles (cf. responsibilities) can be used to define successive configuration
stages. Moreover, this approach focuses solely on feature-based configuration. In
contrast to this approach, variability viewpoints do not necessarily cover specific
configuration stages. MUTHIG and SCHROETER [MS13] describe an approach, which uses
role-specific views to filter and manage access to feature information to support feature
life cycle management, which is concerned with the documentation and evolution of
features.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion and Future Work</title>
      <p>Variability information can be continuously documented in the variability perspective
(cf. [HKW13]). Therefore, we argued in Section 1 that only an excerpt of the variability
information is required by specific roles to fulfill their responsibilities within an
engineering process. We explained the conceptual foundations in Section 2 and
introduced an approach to structure the variability perspective based on role-based
variability-concerns. The applicability of this concept was demonstrated by an industrial
example (cf. Section 3). In Section 4, we discussed the impact of variability views on the
related engineering artifacts and discussed that additional studies are required to evaluate
the approach. In future work, we plan to examine existing view-building techniques and
evaluate the proposed approach in scenarios close to industrial practice to get deeper
insights into their benefits and shortcomings. Inconsistencies between overlapping
variability viewpoints (cf. [MSA09]) need to be also targeted by future work.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgement</title>
      <p>This paper was partially funded by the BMBF project SPES 2020_XTCore under grant
01IS12005C and the DFG project KOPI grant PO 607/4-1. We would like to thank
André Heuer and Vanessa Stricker for their fruitful comments regarding this paper.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [Aut10]
          <string-name>
            <surname>Automotive</surname>
            <given-names>SPICE</given-names>
          </string-name>
          ®
          <source>Process Assessment Model Version 2</source>
          .5,
          <string-name>
            <surname>The</surname>
            <given-names>SPICE</given-names>
          </string-name>
          User Group,
          <year>2010</year>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [Br12]
          <string-name>
            <surname>Broy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          et al.:
          <source>Model-Based Engineering of Embedded Systems - The SPES 2020 Methodology</source>
          , Springer, Berlin, Heidelberg,
          <year>2012</year>
          ; pp.
          <fpage>31</fpage>
          -
          <lpage>48</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [CHE05]
          <string-name>
            <surname>Czarnecki</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Helsen</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ; Eisenecker U.:
          <article-title>Staged configuration through specialization and multilevel configuration of feature models</article-title>
          . In (van Ommering,
          <string-name>
            <surname>R.</surname>
          </string-name>
          ; Weiss, D. Eds.):
          <source>Journal of Software Process: Improvement and Practice</source>
          ,
          <year>2005</year>
          ,
          <volume>10</volume>
          ; pp.
          <fpage>143</fpage>
          -
          <lpage>169</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [CN02]
          <string-name>
            <surname>Clements</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Northrop</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Software Product Lines - Practices and Patterns</article-title>
          . AddisonWesley, Boston,
          <year>2002</year>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [EN11]
          <string-name>
            <surname>Elmasri</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ; Navathe S.:
          <article-title>Fundamentals of database systems</article-title>
          . Boston: Addison-Wesley,
          <year>2011</year>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [FFB02]
          <string-name>
            <surname>Fey</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ; Fajta,
          <string-name>
            <given-names>R.</given-names>
            ;
            <surname>Boros</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Feature modeling: A meta-model to enhance usability and usefulness</article-title>
          . In (Chastek, G. J. Ed.)
          <source>: Proc. 2nd Software Product Lines Conference</source>
          , San Diego,
          <year>2002</year>
          . Springer, Lecture Notes in Computer Science,
          <year>2002</year>
          ; pp.
          <fpage>198</fpage>
          -
          <lpage>216</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [GJM03]
          <string-name>
            <surname>Ghezzi</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Jazayeri</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Mandrioli</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Fundamentals of software engineering</article-title>
          . Upper Saddle River,
          <string-name>
            <given-names>N.J: Prentice</given-names>
            <surname>Hall</surname>
          </string-name>
          .
          <year>2003</year>
          ; pp.
          <fpage>44</fpage>
          -
          <lpage>49</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [HHB08]
          <string-name>
            <surname>Hubaux</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Heymans</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Benavides</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Variability modeling challenges from the trenches of an open source product line re-engineering project</article-title>
          . In (Geppert,
          <string-name>
            <given-names>B.</given-names>
            ;
            <surname>Pohl</surname>
          </string-name>
          , K. Eds.):
          <source>Proc. 12th Software Product Lines Conference</source>
          , Limerick,
          <year>2008</year>
          . IEEE Computer Society,
          <year>2008</year>
          ; pp.
          <fpage>55</fpage>
          -
          <lpage>64</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [Hu13]
          <article-title>Hubaux A</article-title>
          . et al.:
          <article-title>Supporting multiple perspectives in feature-based configuration</article-title>
          . In (France, R.; Rumpe, B. Eds.):
          <source>Journal of Software &amp; Systems Modeling</source>
          , Volume
          <volume>12</volume>
          ,
          <string-name>
            <surname>Issue</surname>
            <given-names>3</given-names>
          </string-name>
          , Springer, New York,
          <year>2013</year>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [HKW13]
          <string-name>
            <surname>Heuer</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ; Kaufmann T.;
          <string-name>
            <surname>Weyer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Extending an IEEE 42010-compliant Viewpointbased Engineering-Framework for Embedded Systems to Support Variant Management</article-title>
          . In (Schirner,
          <string-name>
            <surname>G.</surname>
          </string-name>
          et al. Eds.):
          <source>Proc. 4th International Embedded Systems Symposium</source>
          , Paderborn,
          <year>2013</year>
          . Springer,
          <source>IFIP Advances in Information and Communication Technology</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <source>[II06] ISO/IEC International Standard Information Technology - Software Process Assessment, ISO/IEC TR Standard</source>
          <volume>15504</volume>
          :
          <year>2006</year>
          , 2006
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [III11]
          <article-title>ISO/IEC/IEEE Systems and Software Engineering - Architecture description</article-title>
          . ISO/IEC/IEEE Standard 42010:
          <year>2011</year>
          , 2011
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [Ka98]
          <string-name>
            <surname>Kang</surname>
            ,
            <given-names>K. C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>G. J.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Shin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>FORM: A feature-oriented reuse method with domain-specific reference architectures</article-title>
          . In (Frakes, W. Ed.):
          <source>Annals of Software Engineering</source>
          ,
          <volume>5</volume>
          , 1998; Springer, Berlin, Heidelberg,
          <year>1998</year>
          ; pp.
          <fpage>143</fpage>
          -
          <lpage>168</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [LKK04]
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kang</surname>
            ,
            <given-names>K. C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A feature-based approach to product line production planning</article-title>
          .
          <source>In (Nord</source>
          , R. L. Ed.)
          <source>: Proc. 3rd Software Product Lines Conference</source>
          , Boston,
          <year>2004</year>
          . Springer, Lecture Notes in Computer Science,
          <year>2004</year>
          ; pp.
          <fpage>183</fpage>
          -
          <lpage>196</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [MS13]
          <string-name>
            <surname>Muthig</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Schroeter</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A framework for role-based feature management in software product line organizations</article-title>
          . In (Kishi,
          <string-name>
            <given-names>T.</given-names>
            ;
            <surname>Jarzabek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ;
            <surname>Gnesi</surname>
          </string-name>
          , S. Eds.):
          <source>17th International Software Product Line Conference</source>
          , Tokyo,
          <year>2013</year>
          . ACM 2013; pp.
          <fpage>178</fpage>
          -
          <lpage>187</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [MSA09]
          <string-name>
            <surname>Mannion</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Savolainen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ; Asikainen,
          <string-name>
            <surname>T.</surname>
          </string-name>
          ;
          <article-title>Viewpoint-oriented variability modeling</article-title>
          . In (Ahamed,
          <string-name>
            <surname>S. I.</surname>
          </string-name>
          et al. Eds.):
          <source>Proc. 33rd Annual IEEE International Computer Software and Applications Conference</source>
          , Seattle,
          <year>2009</year>
          . IEEE Computer Society,
          <year>2009</year>
          ; pp.
          <fpage>67</fpage>
          -
          <lpage>72</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [MSR13]
          <string-name>
            <surname>Manz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Stupperich</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Reichert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <source>Towards Integrated Variant Management in Global Software Engineering: An Experience Report. In: Proc. 8th IEEE Int. Conf. on Global Software Engineering, Bari</source>
          ,
          <year>2013</year>
          ; IEEE 2013
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [PBL05]
          <string-name>
            <surname>Pohl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Böckle</surname>
          </string-name>
          , G.;
          <article-title>van der</article-title>
          <string-name>
            <surname>Linden</surname>
          </string-name>
          , F.:
          <source>Software Product Line Engineering: Foundations, Principles and Techniques</source>
          . Springer, Berlin, Heidelberg,
          <year>2005</year>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [RW12]
          <string-name>
            <surname>Rozanski</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Woods</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <source>Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives. 2nd edition</source>
          , Addison-Wesley,
          <source>Upper Saddle River</source>
          ,
          <year>2012</year>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <surname>[SLW12] Schroeter J.; Lochau</surname>
            <given-names>M.</given-names>
          </string-name>
          ; Winkelmann T.:
          <article-title>Multi-Perspectives on Feature Models</article-title>
          . In (
          <string-name>
            <surname>France R. B</surname>
          </string-name>
          . et al. Eds.):
          <source>Proc. 15th Model Driven Engineering Languages and Systems Conference</source>
          , Innsbruck,
          <year>2012</year>
          . Springer Berlin, Heidelberg,
          <year>2012</year>
          ; pp.
          <fpage>252</fpage>
          -
          <lpage>268</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [So11]
          <string-name>
            <surname>Sommerville</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Software engineering</article-title>
          . Boston: Pearson,
          <year>2011</year>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [TH03]
          <string-name>
            <surname>Thompson</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heimdahl</surname>
            <given-names>M.P.E.</given-names>
          </string-name>
          :
          <article-title>Structuring product family requirements for ndimensional and hierarchical product lines</article-title>
          . In (Loucopoulos,
          <string-name>
            <given-names>P.</given-names>
            ;
            <surname>Mylopoulos</surname>
          </string-name>
          , J. Eds.):
          <source>Requirements Engineering Journal</source>
          , Volume
          <volume>8</volume>
          ,
          <string-name>
            <surname>Issue</surname>
            <given-names>1</given-names>
          </string-name>
          , Springer, Berlin, Heidelberg,
          <year>2003</year>
          ; pp.
          <fpage>42</fpage>
          -
          <lpage>54</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [Yu08]
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          et al.:
          <article-title>From goals to high-variability software design</article-title>
          .
          <source>In (An A. et al. Eds.): Proc. 17th International Symposium Foundation of Intelligent System</source>
          , Toronto,
          <year>2008</year>
          . Springer, 2008 Lecture Notes in Computer Science; pp.
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>