<!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>Multi-Perspective Modeling and Performance Analysis of Software Product Lines</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Matthias Kowal TU Braunschweig</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Software system are typically available in a rich set of variants nowadays to deal with differing customer or environmental requirements and application contexts. Managing such a software product line, gets even more difficult considering multiple involved engineering disciplines and long lifetimes, as typical for industrial systems of the automation domain. The thesis tackles this system diversity by modeling interdisciplinary system variability in both problem and solution space. Based on these models, we analyze the impact on performance properties during design time giving early feedback about the system behavior. The solution space is based on a model-driven approach with UML models, using notions of delta modeling to manage system variability and evolution enriched with information needed to automatically derive and analyze a performance model. Motivated by its widespread use in software engineering, we consider feature models for the problem space that are ultimately connected to the UML models. Our evaluation is based on a realworld automation system representing a long-living and variantrich software system.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Long-living software systems, as in the automation domain,
exist in many different variants at one point in time in order
to satisfy varying user requirements (anticipated variability in
space). Additionally, they evolve over time in order to adapt
to changing environmental conditions, such as functional,
technical or legal requirements (unanticipated variability in
time) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Furthermore, several disciplines are involved during
their development with mechanical, electric and software
engineering. As a result, product-line engineering for such systems
is extremely complex. A product line is typically divided
into problem and solution space. The problem space captures
domain knowledge in an abstract way, e.g., using feature or
decision models. The solution space consists of concrete
implementation artifacts such as source code fragments or
UMLdiagrams. Hence, we need an interdisciplinary variability
modeling concept on the problem space level spanning across
the three mentioned disciplines. For the solution space, we
need models with an appropriate level of abstraction to support
the individual developers following the separation of concerns
principle, so that, e.g., software architects and engineers can
focus on their specific task and unnecessary information stays
hidden. A fully integrated model-driven approach also calls for
the connection of both spaces to support developers as much as
possible and enable the generation of the configured variants in
the problem space with the respective solution space models.
In each part, we have to identify suitable methods to keep
the complexity as low as possible to achieve a high level of
usability.
      </p>
      <p>
        We propose a twofold modeling approach managing
problem and solution space as well as their mapping. Software
product lines are commonly modeled using feature models
in the problem space [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. There is already a widespread
number of extensions to feature models available in literature,
e.g., dealing with different versions over time [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], view-based
abstractions [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] or even combining multiple product lines [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
However, they all lack appropriate adaptations to deal with
interdisciplinary aspects, since they were originally designed for
software engineering and not mechanics and electronics [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
Nonetheless, we plan to use them as a foundation for our
approach and extend them where it is necessary.
      </p>
      <p>
        For the solution space, we propose a design-level
modeling approach using three levels of abstraction containing a
workflow describing the path of a job through the system, an
architecture and the actual behavior. In addition, we provide
a mapping between individual elements of each perspective.
Variability and evolution is managed using delta modeling [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
In delta modeling, we have a core model, which often is
the smallest possible variant of the system. The core can
be altered using the three basic operations of add, remove,
and modify. Deltas encapsulate these change operations and
therefore contain the required information to derive a specific
variant. However, the application of one or more deltas to
generate another variant of the system may lead to an
illformed system model. Hence, we have to validate that the
resulting variant is still consistent. In each space, we pursue
the established principle of separation of concerns to minimize
the complexity. The perspectives are realized with a subset of
UML in terms of diagrams with activity, architecture and state
charts.
      </p>
      <p>
        Predicting the system behavior of software product lines
during design time, in terms of performance, is a crucial yet
complex task. An automation system representing a product
line typically has several non-functional requirements. For
instance, it must produce or transport a specific number of
items in a given amount of time. Feedback concerning these
requirements would be beneficial at an early stage to prevent
disadvantageous design decisions. However, the analysis of
each variant in isolation, which is called product-based
performance analysis [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], is inefficient due to the possible large
number of variants in product lines. We need appropriate
methods to overcome this aspect. Family-based approaches
allow a more efficient analysis of a complete product line [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
We propose such a family-based analysis based on our solution
space models to provide early feedback giving developers the
chance to identify system bottlenecks during design time. As
performance properties, we consider throughput, utilization or
average queue length of the system.
      </p>
      <p>The essence of this thesis is to provide a scalable modeling
approach covering variability and evolution in both problem
and solution space across several disciplines while providing
efficient performance analyses techniques for product lines.
Research Questions. In detail, the thesis is supposed to
answer the following research questions:</p>
      <p>RQ1: How can we reuse and adapt existing feature model
extensions to deal with an interdisciplinary product line?</p>
      <p>RQ2: Can we sufficiently capture variability and evolution
of a real-world automation system in our models while
maintaining low complexity and high consistency?</p>
      <p>RQ3: To what extent is our family-based performance
analysis superior compared to existing techniques in terms of
runtime?</p>
    </sec>
    <sec id="sec-2">
      <title>II. RELATED WORK</title>
      <p>
        Most feature modeling approaches consider one large model
specifying the variability of a complete product line [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
This is not feasible considering multiple disciplines, since
each domain solely needs to focus on their specific features
and everything else would be unnecessary information.
Additionally, one large model is hard to visualize, maintain, and
analyze taking evolution into account. Different views onto
the feature model or the combination of two or more features
models, one for each domain, as in multi software product
lines possible, may solve some of the existing problems [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ],
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. There are numerous more feature model extensions and
similar approaches available. As for now, it is an open question
which methods can be applied to an interdisciplinary product
line.
      </p>
      <p>
        Considering the solution space, we face the same
problems with multiple disciplines such as software architects
or engineers. Hence, it is a common approach to follow
the principle of separation of concerns during development.
For instance, this is done in the SPES project in which an
embedded system is developed with model-driven engineering
and multiple viewpoints [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] or as in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Our approach is
quite similar, but also includes a variability modeling concept
with delta modeling. Delta modeling is part of the
transformational variability modeling concepts as is the Common
Variability Language [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Comparing both approaches yields
no significant benefit for either one, e.g. both are language
independent. We argue that both emerged in parallel and
we decided to use delta modeling. Other concepts are of
annotative or compositional nature. The former tend to have
unmanageable large models [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], while the latter can only add
functionality making removals impossible [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. The removal
of functionality can be compensated by selecting an
appropriate variant as starting point which is incrementally extended
through addition afterwards. In delta modeling this starting
point can be freely selected across all variants providing more
flexibility.
      </p>
      <p>
        Consistency checking for UML models with variability is
not yet largely considered. A brief survey of consistency
checking techniques can be found in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Some of the existing
techniques have to be further investigated in terms of
applicability to product lines [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Other approaches already detect
inconsistencies with variability [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], yet a mapping to our
general delta modeling concept has to be done. Additionally,
we aim at fixing the detected inconsistencies. A few of the
available techniques in literature already include methods for
fixing UML models in single software systems [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. However,
approaches for repairing product lines are still in the early
stages. A first research result in this direction can be found
in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. We plan to build upon this foundational work.
      </p>
      <p>
        The proposed family-based performance analysis is related
to a model checking approach of software product lines in
which annotated UML sequence diagrams are used [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. This
ultimately leads to a symbolic expression similar to ours.
However, we consider performance properties such as throughput
and do not focus energy related parameters. Another approach
translates UML-annotated software product line designs to
layered queueing networks and analyzes them in a
productbased way [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. Although this network-type is more expressive
than ours, an efficient family-based analysis is not available.
      </p>
    </sec>
    <sec id="sec-3">
      <title>III. INTEGRATED MODELING AND EFFICIENT</title>
      <p>PERFORMANCE ANALYSIS</p>
      <p>This section is divided into three parts and each part
represents a different contribution of the thesis. First, we
explain the interdisciplinary modeling of a product line in the
problem space. Second, we extend the approach to solution
space models. Third, a family-based performance analysis
technique is introduced. The overall approach is exemplarily
shown in Fig. 1.</p>
      <p>The first contribution: Interdisciplinary Modeling of
Variability in the Problem Space</p>
      <p>
        First contribution considers the interdisciplinary modeling
approach (cf. top-left corner of Fig. 1). We devise problem
space variability modeling concepts for long-living software
product lines involving multiple disciplines, as typical in the
automation domain. Classical feature models [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] lack
expressiveness to deal with interdisciplinary systems. Hence,
we develop a problem space variability modeling concept
capable to capture interdisciplinary variability dealing with
the following limitations of existing approaches (as recently
identified in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]): (i) complex dependencies and relations
between discipline-specific entities, (ii) several levels of
granularity (from actuators to complete software components), and
(iii) inclusion of multiple views for the individual domains
(mechanics, electronics and software).
      </p>
      <p>We apply existing feature model extensions to the
automation system product line. A possible extension is the usage
of different views onto the feature model based on individual
domains. Furthermore, the principle of multi software product
Automatic generation</p>
      <p>Backannotation</p>
      <p>Perf.</p>
      <p>Index
ODE</p>
      <p>Time</p>
      <p>QoS</p>
      <p>Consistency</p>
      <p>Time</p>
      <p>Solution Space
Workflow
Architecture
Behavior
lines can be applied to solve the granularity limitation, which
basically means having separate feature models for each
domain. In addition, extended cross-tree constraints are
available in multi software product lines to capture the complex
dependencies.</p>
      <p>
        Additionally, we must as well address evolution extending
the previously developed variability modeling concept with
feature versioning which is required for the case study. We
base our approach on Hyper Feature Models (HFMs) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] which
is devised in prior work. HFMs capture feature versions and
allow reasoning about dependencies of features in different
versions. As HFMs are also originally not designed to handle
interdisciplinary models, we adapt HFMs suitably to integrate
them with the previously mentioned interdisciplinary concepts.
A closer look to traceability approaches across several models
may also be beneficial here [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ].
      </p>
      <p>
        We can safely assume that during system development with
the described interconnected modeling approach, errors are a
steady companion for the developers. Hence, we have to devise
analyses techniques for reasoning about consistency to provide
a correct and reliable design [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. We analyze the feature model
for anomalies such as dead features meaning features that can
never be part a any variant due to constraints. In addition,
we have to ensure that the derivable set of product variants is
valid, an essential prerequisite for the configuration of software
systems. As we also consider the evolution of the feature
model itself, all analyses have to work incrementally in order
to allow for efficient re-analyses after evolutionary changes.
For evaluation purposes, we strive for a close cooperation
with automation engineers of the TU Munich, since they are
the domain experts for such systems and can give qualitative
feedback about the feasibility of our concepts.
      </p>
      <p>
        Preliminary Results: This contribution is the main task
for the remaining time of the thesis. The developed results
should answer RQ1 using an explorative study. A first result
about challenges here is given in [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ].
      </p>
      <p>The second contribution: Multi-Perspective Modeling of
Variability and Performance in the Solution Space</p>
      <p>Second contribution is all about solution space models
(cf. top-left corner of Fig. 1). The solution space is divided
into three perspectives following separation of concerns and
therefore minimizing the complexity for individual
developers: workflow, architecture, and behavior each represented
by a different UML model with activity, block-based, and
state chart diagrams. The workflow describes the path of
a workpiece throughout the system (e.g., a bottle on an
assembly line), while the architecture presumes the system
structure and the behavior provides the actual implementation.
In addition, elements can be mapped between the different
perspectives. We equipped each perspective with the delta
modeling approach to capture variability and evolution by the
same means. Since deltas can be applied to each perspective
in isolation, we provide a meta structure which we call
interdelta containing information about the required deltas to
derive a valid system variant. In order to map features to the
solution space, we define higher-order deltas operating on the
previously mentioned meta structure for connecting problem
and solution space models.</p>
      <p>
        A system in development is under constant change where
each modeling perspective may evolve independently, but
consistency between different perspectives, e.g., activities mapped
to suitable components in the architecture, must be maintained.
For instance, an inconsistency is an architectural component
without a connection to any state chart. Hence, we need to
develop a concept for incremental consistency checking to
support the developer when evolving a system within the
multi-perspective modeling approach. Again incrementality
is key here, as it minimizes the verification time as only
changed parts and parts possibly affected by the changes need
to be considered. As a conceptual idea for the incremental
consistency checking approach, we use previous work on
incrementally type checking of delta-oriented product lines
in Java and adapt it to our specific needs [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. Considering
tooling the Epsilon framework, which includes the Epsilon
Validation Language, may be a promising candidate for an
appropriate solution.
      </p>
      <p>We want to provide the developer not only with the
knowledge of existing errors (consistency checking), but devise a
concept for repair operations as well. Similar to IDE
functionality for repair operations in programming languages, e.g.
adding the import statement for a used function, we want
to provide repair operations for our models. For instance, a
component in the architecture has to be connected to a state
chart in the behavior perspective. If there is no such behavior,
a repair operation is to create a default state chart, if the
developer complies with the suggestion. The possible cases
for inconsistencies have to be explored and fixing operations
for these cases have to be provided.</p>
      <p>Overall we have models for both problem and solution space
with feature and UML models. Each concept must ensure a
certain level of consistency in isolation as well as in between
both sides resulting in three points that require consistency
concepts.</p>
      <p>
        Preliminary Results: As a first result, we already have
developed the design-level solution space modeling approach
based on UML diagrams [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]. In addition, we can
manage variability and evolution with delta modeling [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ],
[
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. Finally, we enriched the workflow perspective with
non-functional performance properties such as arrival and
service rates at the nodes and probabilities at the transitions.
This is a prerequisite for the third contribution and allows
us to do a performance analysis of the system and predict
measures such as utilization, throughput and average queue
lengths. As before, this also includes the full delta modeling
support to vary performance properties between variants [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ],
[
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]. The implementation is designed as an Eclipse plugin
using XText and EMF for the individual domain-specific
languages (DSLs) for the modeling perspectives. In total,
we have three DSLs for the perspectives and an additional
one for the combining meta-structure. Although, the textual
editor has comfort functions such as auto-completion, syntax
highlighting and basic syntactic consistency checks, we started
to develop concepts for graphical delta modeling editors using
the Graphical Editing Framework (GEF) for each perspective.
We were able to answer RQ2 as explored in three different
publications [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. Method of evaluation was the real
world automation system located at the AIS chair of the TU
Munich. However, the consistency concept including repair
operations is still an open point in this contribution.
The third contribution: Efficient Performance Analysis.
      </p>
      <p>
        Third part of the contribution is a scalable performance
analysis of the complete product line. The analysis is based
on the previously described solution space models, especially
the workflow. The workflow is interpreted as a
continuoustime Markov chain that underlies a Jackson-type queueing
network [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ]. Fig. 1 implies an automatic generation of such
performance models. A product-based analysis is
straightforward possible by solving the following equation for
(I
      </p>
      <p>
        P T ) = ;
(1)
where I is the identity matrix, P is the adjacency matrix and
are the arrival rates. We can easily compute the throughput,
utilization, average queue length or response time of the
system based on the solution [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ]. However, for systems
with a large variant space such as product lines, it is not
efficient to compute the solution for each variant in isolation
which is necessary since we cannot reuse any numerical
results [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ]. We propose a family-based analysis to overcome
this disadvantage and analyze the full product line at once.
Again, we benefit from the delta modeling principle for our
efficient analysis. We create a super-variant, also called
150%model, based on the core and all deltas so that the full
variability is concentrated in exactly one model. Each value
that is changed by a delta is represented by a symbol and
not a concrete value as in the product-based analysis. Again,
we can create the system of equations as in (1), but solve
it symbolically in our family-based approach. As a result,
we get a large symbolic expression in which we just have
to plug-in the values for a specific variant to calculate the
performance properties. The symbolic solving has to be done
once for the complete product line and not for each variant
over and over again. The gathered information about possible
system bottlenecks can influence modeling decisions at design
time again and we achieve a round-trip engineering concept
as depicted in Fig. 1. However, the underlying Jackson-type
queueing networks are quite limiting in terms of service time
distribution and supported model elements which is why we
extended this work to Coxian-distributed networks [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ].
      </p>
      <p>
        Preliminary Results: Main contribution here is the
proposed family-based performance analysis in [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]. Numerical
experiments demonstrated the superiority of the approach
against a product-based solution, especially in the case of
large-scale networks with high degree of variability. The
experiment shows speed-ups of up to 2000%. The analysis
is also evaluated with the automation case study [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. An
extension to Coxian-distributed networks is also available [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ].
However, the numerical results are not as good as before due to
more complex formulae. A product-based performance
analysis works for the workflow in our Eclipse plugin. The
familybased analysis is realized in Matlab. Each part of the tooling
was evaluated and applied to the automation case study. This
includes an actual code generation for an automation control
software [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. As a result, RQ3 is successfully answered.
      </p>
      <p>To conclude this section, we can safely assume that the
solution space concept is mostly finished except for advanced
consistency checks and repair operations. It is similar for the
performance analysis part. Main focus for the remaining thesis
time lies on interdisciplinary concepts and the connection of
problem and solution space models.</p>
    </sec>
    <sec id="sec-4">
      <title>IV. EVALUATION AND STATUS The following section reflects present and future achievements in a condensed form. In addition, we provide more details about the evaluation methods.</title>
      <p>A. Expected Contributions</p>
      <p>We expect the following contributions:</p>
      <p>Application of feature modeling to product lines
containing hardware and software.</p>
      <p>Management of variability, evolution and consistency in
the solution space.</p>
      <p>Performance analysis techniques for product lines.</p>
      <sec id="sec-4-1">
        <title>B. Case Study</title>
        <p>
          The proposed contributions are evaluated using a real-world
automation system called the Pick and Place Unit (PPU)
which is provided by the AIS chair of the TU Munich and
exists in 15 different variants [
          <xref ref-type="bibr" rid="ref34">34</xref>
          ]. For the first contribution,
we conduct an explorative study based on the PPU. Second
contribution includes modeling and analyzing the complete
PPU product line with our solution space models. Since
the PPU is still a lab demonstrator, we have to conduct
larger experiments for the third contribution concerning the
performance analysis part to investigate the behavior in
largescale product lines. Finally, we want to empirically compare
our textual DSL modeling concept against the graphical one to
validate the superiority of visual delta modeling e.g. in terms
of speed and understandability. A lab experiment with students
is planned in the future.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>C. Current Status</title>
        <p>
          Currently six publications have emerged during this thesis
tackling solution space models and the performance analysis.
Thus, answering RQ3 completely [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ], [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ], RQ2 in many
parts [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ], [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ], [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] except the advanced consistency and
repair operation concepts and RQ1 is still at the beginning [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ].
        </p>
        <p>The time line for completion is as follows:</p>
        <p>12/2015
Interdisciplinary Modeling Concept
for the Problem Space</p>
        <p>9/2016
Start writing Thesis</p>
        <p>7/2017
Written Thesis finished</p>
        <p>We have presented a twofold modeling approach for both
problem and solution space in product lines. The abstract
domain knowledge is captured with common feature models.
However, the challenge of multiple involved disciplines
demands several feature model extensions for which we explore
the applicability to an automation system or provide
necessary adaptations. The concrete system is modeled with three
different perspectives. Each perspective allows variability and
evolution through delta modeling. Both spaces are equipped
with analyses techniques and a consistency concept. The
feature modeling includes an analysis to detect anomalies and
validate the set of derivable variants. The UML models are
enriched with performance annotations to deduce a separate
performance model. This model can be analyzed with either
a product- or family-based performance analysis to provide
feedback about, e.g., bottlenecks. The complete approach is
evaluated using the PPU as a long-living product line.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>ACKNOWLEDGMENT</title>
      <p>The PhD thesis is supervised by Ina Schaefer and partially
supported by the DFG (German Research Foundation) under
the Priority Programme SPP1593: Design For Future —
Managed Software Evolution. The author would like to thank
Thomas Thu¨ m and Ina Schaefer for valuable feedback.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Braun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bartelt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Obermeier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rausch</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Vogel-Heuser</surname>
          </string-name>
          ,
          <article-title>“Requirements on evolution management of product lines in automation engineering</article-title>
          ,” in
          <source>Int. Conf. Math. Modelling</source>
          , Vienna, Austria,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>K. C.</given-names>
            <surname>Kang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. G.</given-names>
            <surname>Cohen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Hess</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. E.</given-names>
            <surname>Novak</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. P. A.</given-names>
            , “
            <surname>Feature-Oriented Domain Analysis (FODA) Feasibility</surname>
          </string-name>
          <string-name>
            <surname>Study</surname>
          </string-name>
          ,” Carnegie Mellon University, Tech. Rep.,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>C.</given-names>
            <surname>Seidl</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Schaefer</surname>
          </string-name>
          , and U. Aßmann, “
          <article-title>Integrated management of variability in space and time in software families</article-title>
          ,” in SPLC '
          <volume>14</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Hubaux</surname>
          </string-name>
          , T. T. Tun, and
          <string-name>
            <given-names>P.</given-names>
            <surname>Heymans</surname>
          </string-name>
          , “
          <article-title>Separation of Concerns in Feature Diagram Languages: A Systematic Survey,” ACM Computing Surveys</article-title>
          , vol.
          <volume>45</volume>
          , no.
          <issue>4</issue>
          , pp.
          <volume>51</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>51</lpage>
          :
          <fpage>23</fpage>
          ,
          <string-name>
            <surname>Aug</surname>
          </string-name>
          .
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>T.</given-names>
            <surname>Berger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rublack</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nair</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Atlee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Wasowski</surname>
          </string-name>
          , “
          <article-title>A Survey of Variability Modeling in Industrial Practice,” in VaMoS</article-title>
          . New York, NY, USA: ACM,
          <year>2013</year>
          , pp.
          <volume>7</volume>
          :
          <fpage>1</fpage>
          -
          <issue>7</issue>
          :
          <fpage>8</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Feldmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Legat</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Vogel-Heuser</surname>
          </string-name>
          , “
          <article-title>Engineering support in the machine and plant manufacturing domain through interdisciplinary product lines: An applicability analysis</article-title>
          ,
          <source>” in INCOM'15</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>I. Schaefer</surname>
          </string-name>
          , “
          <article-title>Variability modelling for model-driven development of software product lines</article-title>
          ,” in VaMoS,
          <year>2010</year>
          , pp.
          <fpage>85</fpage>
          -
          <lpage>92</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>W. J.</given-names>
            <surname>Stewart</surname>
          </string-name>
          , Probability, Markov Chains, Queues, and Simulation. Princeton University Press,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>von Rhein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Apel</surname>
          </string-name>
          , C. Ka¨stner, T. Thu¨m, and
          <string-name>
            <surname>I. Schaefer</surname>
          </string-name>
          , “
          <article-title>The PLA model: on the combination of product-line analyses</article-title>
          ,” in VaMoS,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>P.-Y. Schobbens</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Heymans</surname>
          </string-name>
          , and J.-C. Trigaux, “
          <article-title>Feature diagrams: A survey and a formal semantics</article-title>
          ,” in RE'
          <volume>06</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>K.</given-names>
            <surname>Pohl</surname>
          </string-name>
          , H. Ho¨nninger, R. Achatz, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Broy</surname>
          </string-name>
          ,
          <source>Model-Based Engineering of Embedded Systems</source>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Kienzle</surname>
          </string-name>
          , W. Al Abed,
          <article-title>and</article-title>
          <string-name>
            <given-names>J.</given-names>
            <surname>Klein</surname>
          </string-name>
          , “
          <article-title>Aspect-oriented multi-view modeling</article-title>
          ,” in AOSD'
          <volume>09</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>O.</given-names>
            <surname>Haugen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Møller-Pedersen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Oldevik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. K.</given-names>
            <surname>Olsen</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Svendsen</surname>
          </string-name>
          , “
          <article-title>Adding standardized variability to domain specific languages,” in</article-title>
          <string-name>
            <surname>SPLC</surname>
          </string-name>
          ,
          <year>2008</year>
          , pp.
          <fpage>139</fpage>
          -
          <lpage>148</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Ka¨stner and S. Apel, “Integrating compositional and annotative approaches for product line engineering</article-title>
          ,” in McGPLE,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>C.</given-names>
            <surname>Klein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Prehofer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Rumpe</surname>
          </string-name>
          , “
          <article-title>Feature specification and refinement with state transition diagrams,” in 4th IEEE WS on Feature Interactions in Telecommunications Networks</article-title>
          . IOS Press,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Usman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nadeem</surname>
          </string-name>
          , T. hoon
          <string-name>
            <surname>Kim</surname>
          </string-name>
          , and E. suk Cho, “
          <article-title>A survey of consistency checking techniques for uml models,” in ASEA 2008</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>A.</given-names>
            <surname>Egyed</surname>
          </string-name>
          , “
          <article-title>Instant consistency checking for the uml</article-title>
          ,” in ICSE '
          <volume>06</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>R. E.</given-names>
            <surname>Lopez-Herrejon</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Egyed</surname>
          </string-name>
          , “
          <article-title>Detecting inconsistencies in multiview models with variability,” in ECMFA'10.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>A.</given-names>
            <surname>Egyed</surname>
          </string-name>
          , “
          <article-title>Fixing inconsistencies in uml design models</article-title>
          ,” in ICSE'
          <volume>07</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>R. E.</given-names>
            <surname>Lopez-Herrejon</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Egyed</surname>
          </string-name>
          , “
          <article-title>Towards fixing inconsistencies in models with variability</article-title>
          ,” in VaMoS'
          <volume>12</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>C.</given-names>
            <surname>Ghezzi</surname>
          </string-name>
          and
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Sharifloo</surname>
          </string-name>
          , “
          <article-title>Verifying non-functional properties of software product lines: Towards an efficient approach using parametric model checking</article-title>
          ,” in SPLC,
          <year>2011</year>
          , pp.
          <fpage>170</fpage>
          -
          <lpage>174</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>R.</given-names>
            <surname>Tawhid</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Petriu</surname>
          </string-name>
          , “
          <article-title>Automatic derivation of a product performance model from a software product line model</article-title>
          ,” in SPLC,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Ulrich</surname>
          </string-name>
          , Generative Programming: Methods, Tools, and
          <article-title>Applications: Methods, Techniques and Applications</article-title>
          . AddisonWesleyLongman,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>I.</given-names>
            <surname>Galvao</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Goknil</surname>
          </string-name>
          , “
          <article-title>Survey of traceability approaches in modeldriven engineering</article-title>
          ,” in EDOC,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>B.</given-names>
            <surname>Vogel-Heuser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Folmer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kowal</surname>
          </string-name>
          , I. Schaefer,
          <string-name>
            <given-names>S.</given-names>
            <surname>Lity</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Lamersdorf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kehrer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Tichy</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Beckert</surname>
          </string-name>
          , “
          <article-title>Selected challenges of software evolution for automated production systems</article-title>
          ,” in Industrial Informatics,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bettini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Damiani</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Schaefer</surname>
          </string-name>
          , “
          <article-title>Compositional type checking of delta-oriented software product lines</article-title>
          ,
          <source>” Acta Informatica</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kowal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Prehofer</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Schaefer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Tribastone</surname>
          </string-name>
          , “
          <article-title>Model-based development and performance analysis for evolving manufacturing systems</article-title>
          ,” at - Automatisierungstechnik, vol.
          <volume>62</volume>
          , pp.
          <fpage>794</fpage>
          -
          <lpage>802</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kowal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Legat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lorefice</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Prehofer</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Schaefer</surname>
          </string-name>
          , and
          <string-name>
            <surname>B. VogelHeuser</surname>
          </string-name>
          , “
          <article-title>Delta Modeling for Variant-rich and Evolving Manufacturing Systems</article-title>
          ,” in MoSEMInA,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>B.</given-names>
            <surname>Vogel-Heuser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mund</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kowal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Legat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Folmer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Teufl</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Schaefer</surname>
          </string-name>
          , “
          <article-title>Towards interdisciplinary variability modeling for automated production systems</article-title>
          ,” in Industrial Informatics,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kowal</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Schaefer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Tribastone</surname>
          </string-name>
          , “
          <article-title>Family-Based Performance Analysis of Variant-Rich Software Systems</article-title>
          ,” in FASE,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>G.</given-names>
            <surname>Bolch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Greiner</surname>
          </string-name>
          , H. de Meer, and
          <string-name>
            <given-names>K.</given-names>
            <surname>Trivedi</surname>
          </string-name>
          ,
          <article-title>Queueing networks and Markov chains: modeling and performance evaluation with computer science applications</article-title>
          . Wiley,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>T.</given-names>
            <surname>Thu</surname>
          </string-name>
          <article-title>¨m, S</article-title>
          . Apel, C. Ka¨stner, I. Schaefer, and G. Saake, “
          <article-title>A Classification and Survey of Analysis Strategies for Software Product Lines,” ACM Computing Surveys</article-title>
          , vol.
          <volume>47</volume>
          , no.
          <issue>1</issue>
          , pp.
          <volume>6</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          :
          <fpage>45</fpage>
          ,
          <string-name>
            <surname>Jun</surname>
          </string-name>
          .
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kowal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Tschaikowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Tribastone</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Schaefer</surname>
          </string-name>
          , “
          <article-title>Scaling Size and Parameter Spaces in Variability-aware Software Performance Models</article-title>
          ,” in ASE,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>C.</given-names>
            <surname>Legat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Folmer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Vogel-Heuser</surname>
          </string-name>
          , “
          <article-title>Evolution in industrial plant automation: A case study,” in</article-title>
          <string-name>
            <surname>IECON</surname>
          </string-name>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>