<!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>Tested Approach for Variability Management Enhancing in Software Product Line</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrii Kolesnyk</string-name>
          <email>kolesnyk@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Olga Slabospitskaya</string-name>
          <email>slabospitskaya.olga@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Model</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Variability</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Software Systems of NAS</institution>
          ,
          <addr-line>Akedemika Glushkova st., 40, Kiev</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Key Terms: Model-based software system development: Method</institution>
          ,
          <addr-line>Model, Methodology, Process, Software System</addr-line>
        </aff>
      </contrib-group>
      <fpage>155</fpage>
      <lpage>162</lpage>
      <abstract>
        <p>The paper declares a novel approach for the process enhancing of managing Variability - the ability of a software system or artefact in Software Product Line (PL) to be extended, changed, customized or configured for use in a specific context - with the proper quality characteristics to mitigate its current limitations. New Variability Model and Management Functions to process its element are proposed as this process Core. The model consistently represents variabilities both in PL structure and artefacts across all PL development stages and stakeholders' viewpoints along with the dedicated assessment submodel. The functions compose separate actions as to variability into the single cycle like Doeming Plan-Do-Check-Act one where decisions should be rational. Presented successful Case Study purposes at the Core proposed testing along with the dedicated Configurator implemented in instrumental and technological complex just developed in the Institute of Software Systems of NAS.</p>
      </abstract>
      <kwd-group>
        <kwd>Software Product Line</kwd>
        <kwd>Management</kwd>
        <kwd>Reusable Asset</kwd>
        <kwd>Configuration</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Effective and efficient large, complex and multi-purposed software systems
composition from more simple reusable assets was one of the challenges being
addressed in the research project named “Theoretical Fundament of Generative
Programming and Means of its Support”(2007-2011, № 0107U002205) [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ] just
accomplished in the Institute of Software Systems of NAS of Ukraine. Over the
project Software Product Line (PL) Engineering [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] has proven to be the promising
paradigm to produce a diversity of high-quality similar-but-different products with
limited time and efforts.
      </p>
      <p>
        But it was at once well-recognized that the key success factor in PL Engineering is
а proper management of both the two kinds of variability disambiguated by Metzger
et al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The first, specific PL variability, describes properties and qualities that
should vary between the systems of the PL and that should not. In return, the second
one is single Software variability – i.e., the ability of a software system or artefact to
be extended, changed, customized or configured for use in a specific context.
      </p>
      <p>
        However, just now researchers’ efforts concentrate foremost on variability
modeling [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ] and implementing [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], while challengeable problems of its planning
and evolving less attention are paid. One of perspective frameworks to consistently
cope with them is COVAMOF [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] determining whether, when and how software
variability in PL should evolve with special meta-model and method for its
assessment.
      </p>
      <p>The paper pursues the same goal but for both the above kinds of variability. It
proposes dedicated Variability model and Management Functions based on its
estimates as the Core of an empirical approach for PL Variability Management
process defining that is enhanced with appropriate quality characteristics. The Core is
tested with the dedicated Configurator elaborated within the research project above.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Variability Issues in PL</title>
      <p>
        Variability items to be managed. Let fix, to use hereafter, the definitions of basic
Variability items that have to be manage over PL development and therefore need to
be explicitly modeled, following up the origins [
        <xref ref-type="bibr" rid="ref3 ref4 ref6">3, 4, 6</xref>
        ].
      </p>
      <p>
        The first such item is a variation point. It is an abstraction that identifies location in
software system or artifact at which a choice can be made between values or variants.
As Deelstra et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] note, it is not by-product of design and implementation of
variability, but answers the question, what does vary, being therefore identified as
central element in managing variability. Each variation point is associated with a
value, zero or more variants. Variation points are categorized to five basic types such
as: optional (zero or one variant out of 1,…, m associated variants), alternative (1 out
of 1,…, m ), optional variant (0,…, n out of 1,…, m ), variant (1,…, n out of 1,…, m ),
and value (a value that can be chosen within a predefined range).
      </p>
      <p>
        A variant is thus the second Variability item answering the question, how does
vary the variation point it is associated with [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        The third one is dependency [
        <xref ref-type="bibr" rid="ref3 ref6">3, 6</xref>
        ]. It specifies a function of how the choices at the
variation points in the PL influence a system property value, e.g. quality attribute, as
well as the valid range for this value. The last one, namely constraint, is a predicate
that defines possible interrelations between various variation points and variants.
Variability Levels in PL development. Thorough study of PL Development process
[
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ] experiences five possible types ( t ) of variation points and variants
corresponding their Lyfe Cycle over PL Development:
– Features, i.e. abstract concepts reflecting commonalities and variabilities of
software products in PL relevant for some Stakeholder that might represent a
technical function, a function group or a non-functional characteristics ( t = 1)
– Requirements as to Software Products ( t = 2)
– Аrchitecture сomponents ( t = 3)
– Database tables ( t = 4)
– Software artifacts ( t = 5).
Target characteristics for Variability Management enhancing. Based on the
experience and ideas formed during the above Institute of Software Systems of NAS
research project (№ 0107U002205) [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ], four Berg et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] essential quality
characteristics are chosen to adopt as a target for the Variability Management process
to be defined. These are consistency, scalability, traceability and visibility.
      </p>
      <p>Consistency means that Variability should be handled the same way at all above
levels of abstraction and across all PL development phases to reduce the ambiguities
that might occur when using different methods for managing variability at different
abstraction levels. Scalability prescribes that the methods used should be easily
applicable for both the single component and a large complex system. In turn,
traceability requires that Variability items at different levels of abstraction and across
development phases should be explicitly linked both upwards and downwards to
simplify PL evolution and maintenance. Lastly, visibility presupposes understandable
representations of all Variability items in appropriate and intellectual user interface.
3</p>
    </sec>
    <sec id="sec-3">
      <title>An Approach Proposed to enhance Variability Management</title>
      <p>An approach proposed is simply to define a Core of Enhanced (i.e. possessing the
above target characteristics) Variability Management process, then continuously test
it under various stressing conditions and refine accordingly to the lessons learnt.</p>
      <p>The Core is formally a tetrad of a sets open for expanding</p>
      <p>C  AS; FN;ENV;DM ; ENV  VM ;RP;VP;CP ,
(1)
where AS denotes a priori assumptions as to PL development organizing; FN is the
set of Generic Functions for PL Variability Management Process; ENV is the
environment for FN operation including dedicated Variability Model ( VM )
described hereafter, PL core assets Repository ( RP ) and profiles both for PL
variability with VM ( VP ) and for core assets reuse over PL development ( CP ); DM
is the set of Demands the Functions should meet to enable the target quality
characteristics be really attained.</p>
      <p>Initially AS in (1) assumes PL development to be the series of unified production
rounds interchanging with the rounds of PL environment actualization.</p>
      <p>
        In the FN set, four target Variability Management functions are elicited as generic
through comparative study of popular Variability Management process templates
[
        <xref ref-type="bibr" rid="ref6">24, 6</xref>
        ] within the perspective of Doeming’s PDCA Management Cycle [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. These are
informed and consistent Variability Planning, Implementing in PL artifacts, all-aspect
Controlling and Evolving up to both retrospective and current elements of VP and
CP . They serve due rationales for appropriate managerial decisions over FN
processing. All necessary technological prerequisites as well as initial VM and RP
are created with the fifth function of Variability Management Initiation.
      </p>
      <p>The DM set from (1) composes consistency, scalability, traceability and visibility
demands being inspired the title target characteristics and also the additional demand
of rationality for all decisions being made under the functions FN processing. To
meet this demand is the main purpose of VM and both the above variability kinds
assessment method with it that enables VP and, particularly, CP .
4</p>
    </sec>
    <sec id="sec-4">
      <title>Consistent and Traceable Variability Model</title>
      <p>
        Let’s particularize the above target characteristics and demands DM from (1) to fix
inspired demands the dedicated VM should meet to pursue its purpose in (1):
─ uniform, consistent and traceable representation for all the variety of variability
items and their interrelations over all the stages both for PL Domain and
Application Engineering processes [
        <xref ref-type="bibr" rid="ref2 ref3 ref4 ref5 ref6 ref8">2-6, 8</xref>
        ] as well as for all functional segments
from PL scope and also for all its stakeholders’ viewpoints
─ traceable notations usage for PL artefacts modelling appropriate to their types
─ explicit identification of commonalities and variabilities across all PL development
artefacts, stages and stakeholders’ viewpoints
─ sound, informed and consistent PL variability profile assessment.
      </p>
      <p>
        Relevant Variability Model is defined [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] to be a hybrid structured triple
      </p>
      <p>VM  SV ; AV ;EV ,
where: submodels SV and AV represent variability in PL structure and its artifact;
EV is an integrated submodel for informed and consistent variability assessment.</p>
      <p>
        The first submodel SV in (2) gives the formal representations of all the features
from PL scope, both commonalities and variabilities, artifacts to implement them and
their links on the base of feature modeling approaches [
        <xref ref-type="bibr" rid="ref2 ref3 ref4 ref6">2-4, 6</xref>
        ]. It is a structured tuple
SV  G ; Gt ,TRt ,t  2,3,4,5 ;CN ; DP ,
      </p>
      <p>1
where: Gt  Ft , LFt is the graph where unique identifiers of t-typed PL artefacts (i. e.
features, requirements, architecture modules, database tables, software components
and tests) are nodes sets ( Ft ) linked through obligatory and variant binding ( LFt );
TRt is bilateral traceability links between the nodes of Gt 1 and Gt graphs; CN and
DP are the predicates on t 1,...,5 Ft representing PL constraints and dependencies.</p>
      <p>In turn, the second submodel AV in (2) provides unified formal representations for
all PL software products currently located in repository, being developed or might be
developed eventually within current PL scope together with their development
products (requirements etc.). To explicit reflecting the elements of SV (2) model in
PL software products, any t -typed artefact is formally seen as cross-cutting
“fragment” of SV . It is bounded with continuous upwards – downwards traceability
links TRt from (3), which interrelates this artifact with the features it should
implement and the final software product. The model AV is a structured tuple
AV (idt ) g1; gu , tru ,u  2,..., t ;
pu , tru ,u  t  1,...,5 ;cn;dp;s ,
where: idt is the modeled artefact’s unique identifier; gu and pu are subgrafs of
Gu from (3) representing the artefacts that are implemented
with idt
and,
respectively, implement it over PL development; tru TRu are subsets of traceability
links between the nodes of gu1 and g u ; cn and dp are the limitations of CN and
DP on Cartesian product of gu ; and pu nodes sets and s is the artefact’s current
state (e.g. “core asset” etc.).</p>
      <p>Note that each of the five "horizontal" planes, implicitly defined with formulas (3),
(4), reflects the viewpoints both at PL and artefact variability by specific PL
Stakeholders group being represented over PL development with the proper-typed
artifacts – from the customers’ features at the first level ( G1, g1 ) downwards to the
programmers’ and testers software and tests at the fifth one ( G5 , g5 ).</p>
      <p>
        The third submodel of SV model expands Metzger’s Orthogonal Variability
Model [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] with a novel dimension of sound quantitative variability estimates vpVP
from (1). They quantify the level of PL variability adequacy within the perspectives
of both PL customers’ business needs in its products’ functions and PL developers’
requirements as to them. For the estimates’ plausibility and consistency to increase,
universal preferences model such as Bayesian Net, Analytical Hierarchy and Value
Tree should be configured up to the assessment situation [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. It is also a triple
EV  VL, VR ;VP;VAR ; VP VpR, VpA, VpE, VpB ; VAR VR, VA, VE, VB ,
(5)
where: VL and VR are subsubmodels both for integrated variability adequacy level
in a whole and, respectively, for its sublevels corresponding the artifacts’ types;
VpR, VpA, VpE, VpB are the sets of variation points in SV (3) model; VR, VA, VE, VB
are the sets of variants for these variation points.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>A Case Study to Test the Variability Management Core</title>
      <p>
        Here the probe implementation of PL artefact variability model AV (4) is considered
for simple domain of quadratic equations solving. While classical feature diagram [
        <xref ref-type="bibr" rid="ref4 ref6">4,
6</xref>
        ] clearly demonstrates the variety of variability items at the feature level, it’s quite
difficult to implement it in specific application in PL repository. Instead MS Visual
Studio Windows Workflow Foundation (WWF) enables more information about AV
with appropriate diagram (see Fig. 1).
      </p>
      <p>Let’s explain how such variability might be visualized and on-line managed with
that WWF diagram. Note that the letter A at the Fig. 1 connected with the “plus”
pictograms denotes the variation points that might be filled with the reusable assets as
their variants while the letter B denotes possible variants. In the case at hand the
"Discriminant" component contains simple code to find discriminant
( Db  b  4 a c ), implemented by the developer responsible for producing PL core
assets. Depending on its operating outcome, there are three scenarios (use case):
D 0; D0; D  0 and three corresponding assets for them: “TwoRoots”,
“ExactlyOneRoot”, “NoRoots“.</p>
      <p>When using WWF, Visual Studio environment don’t prohibit the developer from
binding any reusable assets and variation points. In other words, we need a dedicated
software tool that should support both the VM proposed (2)-(5) forming and
actualizing and application configurations changing based on VM and reusable assets.</p>
      <p>
        Trial prototype of such a tool, named Configurator, has been implemented within
instrumental and technological complex just developed in the Institute of Software
Systems of NAS [
        <xref ref-type="bibr" rid="ref10 ref2">2, 10</xref>
        ]. It purposes at configuring a diversity of similar-but-different
applications from reusable software components and also at expanding and modifying
applications with variation points and variants [
        <xref ref-type="bibr" rid="ref1 ref2 ref8">1, 2, 8</xref>
        ] based on WWF [
        <xref ref-type="bibr" rid="ref10 ref11 ref2">2, 10, 11</xref>
        ]. An
interim result of configuration process with the Configurator is XML file shown
beneath. It is an instruction for executable file compiling to create the target
application.
      </p>
      <p>&lt;SequentialWorkflowActivity&gt;
&lt;CodeActivity x:Name="Start"
ExecuteCode="codeActivity1_ExecuteCode" /&gt;
&lt;CodeActivity x:Name="Discriminant"
ExecuteCode="codeActivity1_ExecuteCode_1" /&gt;
&lt;IfElseActivity x:Name="ifElseActivity1"&gt;
&lt;IfElseBranchActivity x:Name="D_more_0"&gt;
&lt;IfElseBranchActivity.Condition&gt;</p>
      <p>&lt;CodeCondition Condition="WorkMeth1" /&gt;
&lt;/IfElseBranchActivity.Condition&gt;
&lt;CodeActivity x:Name="TwoRoots"
ExecuteCode="codeActivity1_ExecuteCode_2" /&gt;
&lt;/IfElseBranchActivity&gt;
&lt;IfElseBranchActivity x:Name="D_equal_0"&gt;
&lt;IfElseBranchActivity.Condition&gt;</p>
      <p>&lt;CodeCondition Condition="WorkMeth2" /&gt;
&lt;/IfElseBranchActivity.Condition&gt;
&lt;CodeActivity x:Name="ExactlyOneRoot"
ExecuteCode="codeActivity2_ExecuteCode" /&gt;
&lt;/IfElseBranchActivity&gt;
&lt;IfElseBranchActivity x:Name="D_less_0"&gt;
&lt;IfElseBranchActivity.Condition&gt;</p>
      <p>&lt;CodeCondition Condition="WorkMeth3" /&gt;
&lt;/IfElseBranchActivity.Condition&gt;
&lt;CodeActivity x:Name="NoRoots"
ExecuteCode="codeActivity3_ExecuteCode" /&gt;</p>
      <p>&lt;/IfElseBranchActivity&gt;
&lt;/IfElseActivity&gt;
&lt;DelayActivity TimeoutDuration="00:00:05"
x:Name="delayActivity1" /&gt;
&lt;/SequentialWorkflowActivity&gt;</p>
      <p>The configuration process producing this XML file is initiated through the special
chart processing with WWF tool in Visual Studio environment (see Fig. 2).</p>
      <p>Note that the application created is variable i.e. enables square equation solving
under various conditions prescribed.</p>
    </sec>
    <sec id="sec-6">
      <title>6 Conclusions</title>
      <p>A novel Variability Model and generic Functions are elaborated for its enhanced (i.e.
informed, consistent, scalable, traceable and capable to visualize the variability)
support whole over PL development. The Model uniformly and consistently
represents all Variability items across all the relevant stakeholders’ viewpoints and
over all abstraction levels both in PL structure and artifacts. It also includes dedicated
submodel for informed and consistent variability assessment. In turn, the Functions –
Variability Planning, Implementing in PL artifacts, all-aspect Controlling and
Evolving up to assessment results are serviced with Initiation one to initially create
the above Model.</p>
      <p>An approach is declared to construct Variability Management process being
enhanced in the above sense. It prescribes to couple the Model and the Functions as a
priori process Core, then continuously test and refine it up to the lessons learnt.</p>
      <p>To attempt such a testing, trial Workflow-based Configurator is implemented
within the instrumental and technological complex just developed in the Institute of
Software Systems of NAS to effectively produce complex systems from the assets.
Based on successful Case Study of sample product variant deriving, the authors now
update their approach to support all the Functions and fulfil an industrial Case Study.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Lavrischeva</surname>
          </string-name>
          , E.:
          <article-title>Generative Programming of Software Products and Their Families [in Ukrainian]</article-title>
          . In: Problems in Programming, vol.
          <volume>1</volume>
          , pp.
          <fpage>3</fpage>
          --
          <lpage>16</lpage>
          . Kiev (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Lavrischeva</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koval</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Babenko</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Slabospitska</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ignatenko</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>New Theoretical Foundations of Production Methods of Software Systems in Generative Programming Context [in Ukrainian]. Electronic monograph</article-title>
          ,
          <source>in: UK-2011</source>
          , vol.
          <volume>67</volume>
          .
          <string-name>
            <surname>Kiev</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. V. d. Linden,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Schmid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Rommes</surname>
          </string-name>
          , E.:
          <article-title>Software product lines in action: the best industrial practice in product line engineering</article-title>
          . Springer, Heidelberg (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Metzger</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heymans</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pohl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schobbens</surname>
          </string-name>
          , P.-Y.,
          <string-name>
            <surname>Saval</surname>
          </string-name>
          , G.:
          <article-title>Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis</article-title>
          .
          <source>In: 15th IEEE International Requirements Engineering Conference</source>
          , pp.
          <fpage>243</fpage>
          --
          <lpage>253</lpage>
          . IEEE Press, New York (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Berg</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bishop</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Muthig</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Tracing Software Product Line Variability - From Problem to Solution Space</article-title>
          .
          <source>In: Proc. of SAICSIT'2005</source>
          , pp.
          <fpage>111</fpage>
          --
          <lpage>120</lpage>
          . (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Deelstra</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sinnema</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bosch</surname>
          </string-name>
          , J.:
          <article-title>Variability assessment in software product families</article-title>
          .
          <source>In: Information and Software Technology</source>
          , vol.
          <volume>51</volume>
          , pp.
          <fpage>195</fpage>
          --
          <lpage>218</lpage>
          . Elsevier (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Walton</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The Deming Management method</article-title>
          . Dodd, Mead. New York (
          <year>1986</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Lavrischeva</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Slabospickaya</surname>
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolesnik</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          , Koval,
          <string-name>
            <surname>G.</surname>
          </string-name>
          :
          <article-title>The Theoretical View for Software Family Variability Management [in Ukrainian]</article-title>
          . In: Bulletin of University of Kiev. Series: Physics &amp; Mathematics, vol.
          <volume>1</volume>
          , pp.
          <fpage>151</fpage>
          --
          <lpage>158</lpage>
          . Kiev (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Lavrischeva</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Slabospitcka</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>An Approach for Expert Assessment in Software Engineering</article-title>
          .
          <source>In: Cybernetics and Systems Analysis</source>
          , vol.
          <volume>45</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>638</fpage>
          --
          <lpage>654</lpage>
          . SpringerLink (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Lavrischeva</surname>
          </string-name>
          , E.:
          <article-title>Instrumental and Technological Complex for Developing and Learning Aspects of Software System Development [in Ukrainian]</article-title>
          .
          <source>In: Bulletin of NAS of Ukraine</source>
          , vol.
          <volume>3</volume>
          , pp.
          <fpage>17</fpage>
          --
          <lpage>27</lpage>
          . Kiev (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Kolesnik</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Approaches to Configure Reusable Assets [in Ukrainian]</article-title>
          . In: Problems in Programming, vol.
          <volume>4</volume>
          , pp.
          <fpage>63</fpage>
          --
          <lpage>71</lpage>
          . Kiev (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>