<!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>Towards Requirements Variability in Agile Software Product Line Development</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oleh Tovstokorenko</string-name>
          <email>tovstokorenko@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rustam Gamzayev</string-name>
          <email>rustam.gamzayev@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>National Technical University “Kharkiv Polytechnic Institute”</institution>
          ,
          <addr-line>Kyrpychova str., 2, Kharkiv, 61002</addr-line>
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <fpage>87</fpage>
      <lpage>95</lpage>
      <abstract>
        <p>This article proposes an approach to support an agile development of software product lines (SPL) using requirements variability management within a Scrum methodology. The main aim is to classify all requirements in 3 types according to the typical SPLcomponents: core, variable and new ones, and in this way to reduce a sprint backlog for any Scrum iteration. An information base for this approach is structured, its role in common Scrum method is shown, and a conceptual scheme for requirements variability management is proposed.</p>
      </abstract>
      <kwd-group>
        <kwd>SPL</kwd>
        <kwd>agile</kwd>
        <kwd>requirement</kwd>
        <kwd>variability</kwd>
        <kwd>software</kwd>
        <kwd>traceability</kwd>
        <kwd>Scrum</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Key terms:
traceability
requirements
variability,
software
product
lines,
Modern software development systems are built with a number of services,
components and classes that could be reused. This is especially important during
development of the similar systems and requires establishing the requirements
similarity identification mechanism. Often such problems are poorly formalized and
require a program-analytical solution approach. The obtained solutions lead to a
certain degree of design structures similarity and it becomes possible to say that
differences arise due to variations in software artifacts. During SPL development,
variability management process is located between requirements elicitation and actual
components implementation[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In particular, during implementation of some projects
in SPL, it is necessary to determine similar requirements. As a result the initial
requirements catalog (RC) can be compiled. Having first versions of RC it becomes
possible to start development stage. All SPL components can be divided into 3 groups
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] (Fig. 1).
Each group differs based on an amount of reused code that has to be modified in
order to implement new requirement. If artifacts similarity value less that 25% - it can
be added to the group of new components, more than 25% - variable components and
without changes – reusable components [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. It is clear that the value of similarity
between requirements and implemented components (by these requirements) can be
different. Interdependence between these values allows to apply a variability
management approach during requirements analysis stage.
      </p>
      <p>
        In particular, in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] it is shown that due to presence of links between requirements and
artifacts, defined with advanced traceability matrix (ATM), it was possible to improve
the completeness and accuracy of requirements traceability in agile software
development by developing knowledge-oriented models and information
accumulation technology, analysis and management of data about user requirements.
However, the proposed in the [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] approach was applied for the single product
development activity and has no possibility to apply data between different projects.
Thus, the goal of this research is to elaborate a process for tracing requirements
during the SPL development to investigate a possible connection between value of
similarities between requirements and similarities between components implemented
by current requirements.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2 Related work</title>
      <p>
        The comparisons of Agile and SPL methods was done in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], where it was sum up
that both methods tailored to produce high quality software solutions, however there
are a number of differences and it was proposed to use Agile Software Product Line
Method. Variability management is considered as one of the main objectives in the
development of software product lines. It is gained its most extensive grows during
the SPL developing process in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] reported about new advantages of adoption of
Model Driven Engineering (MDE) paradigm in variability specification process. The
global picture is a sequence of models from requirements to features, and from both
of these to architecture (a UML model). In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] presented that a self-contained model
to explicitly represent the product-line variability in one central model, and further
enables the definition of variability in different requirements models. In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] the
authors describe techniques for generating requirements specifications with variability
from so-called requirements library. The research results described originate from a
process improvement initiative at DaimlerChrysler. The presented approaches are
therefore pragmatic and aimed at current industrial practice, but they are formally
based on a category-theoretical notation.
      </p>
      <p>From these papers and other sources that we have analyzed it becomes clear that SPL
development and Agile-methodology could be used together, but there is no precisely
define procedure for requirements variability in the Agile SPL development.</p>
    </sec>
    <sec id="sec-3">
      <title>3 The Proposed Variability Requirement Management Framework for Agile SPL Development</title>
      <sec id="sec-3-1">
        <title>3.1 Specific Features of SPL and their Impact on Requirements Variability</title>
      </sec>
      <sec id="sec-3-2">
        <title>Management</title>
        <p>
          SPL development usually consist of 2 phases. The first phase is responsible for a
domain engineering [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] and the second one provides application engineering. Domain
engineering plays one of the main roles to define different types of domain elements
and to assign it either to core elements that stay unchangeable or contain some degree
of commonality and assigned to group of variable elements. Even when variation
points are defined, it could be not straight – forward task to extract source code that is
required for variable requirement. In order to perform such operations, we should
think about building software architectures suitable for variability managements,
using some known design paradigms like aspect-oriented development [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] or some
development methodologies like domain-driven development [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. To make possible a
traceability between requirements and implemented components, it is necessary to
take into account additional information, which can be obtained both directly during
programmer’s work, by adding additional software solutions, and conducting
additional data analysis and identifying new knowledge. For example, we can get
information about the links of variability model elements, with sets of requirements
and artifacts. Such kind of information is possible to use as information basis for the
traceability model. Thus, to provide variability management for requirements
management stage in an effective and correct way the appropriate operating model
(OM) can be proposed [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. With the help of OM supposes to build traceability model
regarding to connect SPL requirements and implemented components. This OM uses
the appropriate methods and metrics which can be presented as a tuple:
  = &lt; , ℎ,  &gt; (1)
() – Operational model for requirements variability management in Agile
SPL.
        </p>
        <p>– Information basis consists of requirements, software artifacts,
information about project iterations and software developers roles.
ℎ – commonality analysis algorithms for software requirements and
requirements classification algorithms.</p>
        <p>
          – a set of metrics like Defect count, Technical Debt, Running Automated
Tests, etc [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] to estimate quality of the agile process.
        </p>
        <p>Thus, proposed OM should allow to determine formal process of requirements
variability management in Agile SPL, that will open a possibility to collect and
analyze information for SPL variability management, based on data from InfBase,
using commonality algorithms and Metrics.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.2 Information Basis for the Proposed Framework</title>
        <p>
          In the paper [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] it was shown, that information basis for the traceability model
could be represented like on (1). In this formula, InfBase is a data set, that contains
detailed description of artifacts from each SPL development stages, such as
requirements, software artifacts (e.g. product components).
        </p>
        <p>Then, using commonality analysis algorithms, based on data from InfBase should
become possible to distinguish and classify sets of requirements in connection to
implemented components. The result of this extracting and classification with the
Metrics data will become an input data for requirements variability management in
Agile SPL.</p>
        <p>= , , , ,  , (2)
where  = C ,  = 1, ,  = |D| is a set of software developers;
 = G ,  = 1, ,  = |R| is a set of requirements;
 = K ,  = 1, ,  = |K| is a set of software artifacts,
 = O ,  = 1, ,  = |S| is a set of project sessions (iterations);
 = S ,  = 1, ,  = |W| is a set of working profiles or developers
roles.</p>
        <p>This information is used only for a single legacy project developed, in order to
apply this approach for SPL development and variability in different components then
additional information should be considered. In this case, the information basis given
in (1) has to be extended and can be represented in the following way:
U∗ = , , , , ,  , (3)
where  = W ,  = 1, ,  = || is a set of commits into version control system
(SVN, GIT or Mercurial) connected with implemented requirement and software
artifacts changed during commit; Additional element C in the expression (3) is used to
define relationship between software artifacts implemented in different projects of the
SPL development and target requirement that could be represented as user story. We
are assuming that artifacts of the commit could be represented as a single feature that
could be reused in the future. Each requirement has relationship to one or many
commits and each commit has relationship to the one or more artifacts that were
changed.
 = [ ,  = 1, ,  = |P| is set of Projects in the SPL.
U∗ should be build for each Project , and used to analyze constant, variable
and similar components. Thus, by extending existing model, it becomes possible to
extract additional information that will be used to identify reusable artifacts or
elements of source code. The next part presents a conceptual diagram of the proposed
process.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.3 Conceptual Scheme for</title>
      </sec>
      <sec id="sec-3-5">
        <title>Methodology</title>
      </sec>
      <sec id="sec-3-6">
        <title>Agile</title>
      </sec>
      <sec id="sec-3-7">
        <title>Requirements Variability in Scrum</title>
        <p>
          Various agile software methodologies used to organize development and one of the
most commonly used is Scrum [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. It is organized in an iterative and incremental
way; there is a Product backlog (PB) that contains initial requirements and Sprint
backlog (SPB) that contains validated, verified and prioritized requirements.
        </p>
        <p>Scrum does not define the content criteria of requirements. This process assumes
the presence of a product backlog and sprint backlog. The product backlog consists of
users stories that most often represented in text form. Traditional Scrum cycle could
be extended taken into account a processes proposed in Section 3.2 and used in a
context of SPL development (Fig. 2).
According to the presented Agile SPL schema, new RCA process is responsible for
assessing the degree of requirements similarity that require either PB with represented
with user stories in the textual way or it could be provided additional step after PB is
prepared that will transform requirements to some model using UML or FODA
notation that should simplify RCA.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Classification</title>
    </sec>
    <sec id="sec-5">
      <title>Management</title>
    </sec>
    <sec id="sec-6">
      <title>Approach for</title>
    </sec>
    <sec id="sec-7">
      <title>Requirements</title>
    </sec>
    <sec id="sec-8">
      <title>Variability</title>
      <p>New process is called Requirements Classification Approach (RCA). This process
represents an algorithm in OM (1). It used to analyze input requirements from PB and
classify them to three predefined groups: “Core”, “Variable” and “New” described in
the Fig. 3.</p>
      <p>
        The proposed FODA model represents a hierarchy of properties (features) in the
domain “Agile SPL Requirements Variability” using the domain concepts and
subconcepts, which are represented with specific notation elements given in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ],
namely:
1) at the root of this hierarchy the main conceptual feature PB (R) is shown: this is a
      </p>
      <p>PB including a set of initial requirements R;
2) any PB (R) according to Scrum method must be represented as a sequence of
SB(R) at the 2nd hierarchy level, that is why this is a mandatory feature marked
with black bullet, and the appropriate multiplicity is given with 1…*, it means: at
least one SB(R) must be constructed from PB(R) in order to start a sprint session
within any Scrum project;
3) at the 3rd level the terminal nodes represent 3 possible alternative sub-concepts
included in any SB(R), they can be accordingly:
•
a mandatory feature Core (R). it means: any SB (R) includes at least 1
core requirement to be implemented in SPL;
• one or two optional features: Var (R) and / or New (R) both marked with
empty bullets.</p>
      <p>
        Presented separation depends on amount of changes for each requirement,
relatively to already implemented requirements during SPL development [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. For
now, classification rules are not defined in details. But in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] it was shown that
source code reusability metric could be calculated in order to perform this step. In
more details the process of classification described in the Fig. 4.
      </p>
      <p>We execute RCA for each requirement when it is extracted from PB. First, we need
to check if this requirement was implemented before (need to check in the
U∗ ). If commonality will found, then this requirement can be assigned to
“Core” group and reused later. In other case, we need to check if it is a new one and
add it to the SB. In other case it belongs to the the “Variable” group and appropriate
requirements will be extracted from repository. It should be adapted with respect to
previous implementations.</p>
      <p>Identifying requirements similarity can be done in several ways, most widely used
one is based on FODA notation. When requirement description similarity value will
be known, the result data will become a basis data for more complex analysis, that can
be done by analytics. The result of described RCA process is the Requirements
Variability Model, that will additionally include data about implemented source
artifacts by each requirement and data about quality of result implementation. It can
be done semiautomatic cause it based on source code analysis that can be automated.
Thus, proposed framework should provide opportunity to accumulate information
about implemented requirements, as a result, it will be possible to reuse components
on the requirements analysis stage.</p>
    </sec>
    <sec id="sec-9">
      <title>5 Conclusions and Future Work</title>
      <p>We have presented the approach to support a requirements variability management
which aims to reduce a sprint backlog size in agile SPL development. In future
dissertation research requirements classification process will be considered in more
details. This will require to inspect different notation of requirements specification
and metrics for commonality and similarity analysis. Additionally, it is necessary to
analyze how artifacts connected with given requirements are mapped to the feature
and what architecture, package and class structure required to successfully build SPL.
In addition, the possibilities to extend current process by quality analysis will be
observed. The results of quality analysis are going to become an additional parameter
for classification approach. Implementation of the proposed process should allow to
collect solutions with a certain quality level and to be reused basing on the
information retrieved during software development in SPL. We are planning to
implement a software prototype to improve the SPL development process based on
the proposed approach.</p>
    </sec>
    <sec id="sec-10">
      <title>6 References</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Miguel</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Laguna</surname>
          </string-name>
          , Bruno Gonzalez-Baixauli:
          <article-title>Requirements variability models: meta-model based transformations</article-title>
          .
          <source>Proceedings of the 2005 symposia on Metainformatics</source>
          , Esbjerg, Denmark (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Martinkus</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <article-title>Information technology for the development of software product lines based on methods and tools of domain modeling</article-title>
          .
          <source>- Manuscript. Dissertation for the candidate's degree on the speciality 05.13</source>
          .06 - information technologies. - National Technical University «Kharkiv Polytechnic Institute», Kharkiv,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Tkachuk</surname>
            <given-names>M. V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gamzayev</surname>
            ,
            <given-names>R.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mayr</surname>
            <given-names>H.C.</given-names>
          </string-name>
          et al.
          <source>Models and Tools for Effectiveness Increasing of Requirements Traceability in Agile Software Development // Problems of Programming. - Kiyv: Ukrainian Academy of Science. - 2012</source>
          .
          <article-title>- No. 2-3 (special issue)</article-title>
          . - p.
          <fpage>252</fpage>
          -
          <lpage>260</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Tian</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Cooper</surname>
          </string-name>
          ,
          <article-title>Agile and Software Product Line Methods: Are They So Different?</article-title>
          ,
          <source>in 1st International Workshop on Agile Product Line Engineering (APLE'06)</source>
          .
          <year>2006</year>
          , IEEE Computer Society: Baltimore, Maryland, USA.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bühne</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lauenroth</surname>
            <given-names>K</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pohl</surname>
            <given-names>K</given-names>
          </string-name>
          (
          <year>2004</year>
          )
          <article-title>Why is it not sufficient to model requirements variability with feature models</article-title>
          .
          <source>In Proceedings of the workshop: automotive requirements engineering (AURE04)</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Tavakoli Kolagari</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reiser</surname>
            <given-names>MO</given-names>
          </string-name>
          . (
          <year>2007</year>
          )
          <article-title>Reusing Requirements: The Need for Extended Variability Models</article-title>
          . In: Arbab F.,
          <string-name>
            <surname>Sirjani</surname>
            <given-names>M</given-names>
          </string-name>
          . (eds)
          <source>International Symposium on Fundamentals of Software Engineering. FSEN 2007. Lecture Notes in Computer Science</source>
          , vol
          <volume>4767</volume>
          . Springer, Berlin, Heidelberg
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Bosch</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Florijn</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Greefhorst</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuusela</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Obbink</surname>
            <given-names>J.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pohl</surname>
            <given-names>K.</given-names>
          </string-name>
          (
          <year>2002</year>
          )
          <article-title>Variability Issues in Software Product Lines</article-title>
          . In: van der Linden F. (
          <article-title>eds) Software Product-Family Engineering</article-title>
          .
          <source>PFE 2001. Lecture Notes in Computer Science</source>
          , vol
          <volume>2290</volume>
          . Springer, Berlin, Heidelberg
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Filman</surname>
            , R. and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Friedman</surname>
          </string-name>
          .
          <article-title>"Aspect-oriented programming is quantification and Obliviousness."</article-title>
          <source>Proceedings of the Workshop on Advanced Separation of Concerns</source>
          , in conjunction with OOPSLA'
          <volume>00</volume>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Evans</surname>
          </string-name>
          ,
          <string-name>
            <surname>Eric</surname>
          </string-name>
          (
          <year>2004</year>
          ).
          <article-title>Domain-Driven Design: Tackling Complexity in the Heart of Software</article-title>
          .
          <source>Addison-Wesley. ISBN 978-032-112521-7. Retrieved August 12</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>De Vries</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>A Method for Identifying Process Reuse Opportunities to Enhance the Operating Model / M. de</article-title>
          <string-name>
            <surname>Vries</surname>
            , A. van der Merve,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Kotze</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . Gerber // IEEE International Conference on Industrial Engineering and Engineering Management,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Johan</surname>
            <given-names>Gustaffson</given-names>
          </string-name>
          , Chalmers University of Technology. University of Gothenburg. Department of Computer Science and Engineering. Göteborg, Sweden,
          <year>June 2011</year>
          .
          <article-title>Model of Agile Software Measurement: A Case Study. Master of Science Thesis in the Programme Software engineering and</article-title>
          . Technology.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Gamzayev</surname>
            <given-names>R.A.</given-names>
          </string-name>
          <article-title>Models and information technology for requirements traceability in agilesoftware development</article-title>
          .
          <source>- Manuscript. Dissertation for the candidate's degree on the speciality 05.13</source>
          .06 - information technologies. - National Technical University «Kharkiv Polytechnic Institute», Kharkiv,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Ambler</surname>
            ,
            <given-names>S.W.:</given-names>
          </string-name>
          <article-title>The Agile System Development Lifecycle (SDLC) (</article-title>
          <year>2005</year>
          ).
          <source>Accessed on April 9</source>
          ,
          <year>2018</year>
          , http://www.ambysoft.com/essays/agileLifecycle.html
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Riebisch</surname>
            <given-names>M.</given-names>
          </string-name>
          , “
          <article-title>Towards a more precise definition of feature models”, Modelling Variability for Object-Oriented Product Lines</article-title>
          , ,
          <year>2003</year>
          , p.
          <fpage>64</fpage>
          -
          <lpage>76</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Paliwal</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shrivastava</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>An approach to find reusability of software using objet oriented metrics</article-title>
          .
          <source>International Journal of Innovative Research in Science, Engineering and Technology</source>
          <volume>3</volume>
          (
          <year>2014</year>
          )
          <article-title>8</article-title>
          .
          <string-name>
            <surname>Pohl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , B¨ockle, G.,
          <string-name>
            <surname>Linden</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Software product line engineering: Foundations, principles, and techniques</article-title>
          . Springer p.
          <volume>467</volume>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Tkachuk</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martinkus</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gamzayev</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tkachuk</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <article-title>An Integrated Approach to Evaluation of Domain Modeling Methods and Tools for Improvement of Code Reusability in</article-title>
          Software Development / ed. Heinrich C.
          <article-title>Mayr, Martin Pinzger</article-title>
          .
          <source>INFORMATIK 2016. Lecture Notes in Informatics (LNI)</source>
          . Vol. P-
          <volume>259</volume>
          : Kollen Druck+Verlag GmbH, Bonn,
          <year>2016</year>
          . pp.
          <fpage>143</fpage>
          -
          <lpage>156</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>