<!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>Evaluation of the Effectiveness of Domain Modeling Methods in Terms of Model Complexity</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Alpen-Adria-Universität Klagenfurt</institution>
          ,
          <addr-line>Universitätsstraße 65-67, A-9020.</addr-line>
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Introduction: Problem Actuality and Research Aim</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>V.N. Karazin Kharkiv National University</institution>
          ,
          <addr-line>Majdan Svobody 4, Kharkiv, Ukraine 61077</addr-line>
        </aff>
      </contrib-group>
      <fpage>0000</fpage>
      <lpage>0003</lpage>
      <abstract>
        <p>Domain Modeling Methods (DMMs) are used to improve quality in the development of complex software systems such as product families. This paper examines how the effectiveness of such methods in combination with appropriate case tools (CTs) can be evaluated with regard to (1) the complexity of a model to be created and (2) the reusability of the developed source code. We formalize an effectiveness coefficient and its compulation using structured data resources and quantitative metrics. The proposed approach is illustrated by analyzing and comparing the DMMs JODA (Joint integrated Object oriented Domain Analysis) and ODM (Organizational Domain Modeling) as well as the CTs Actifsource and Eclipse Modeling Framework.</p>
      </abstract>
      <kwd-group>
        <kwd>domain modeling method</kwd>
        <kwd>software</kwd>
        <kwd>code reuse</kwd>
        <kwd>effectiveness</kwd>
        <kwd>metric</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        operations (methods). [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] presents simple metrics that allow, for a given DM, to
estimate the complexity of its interface, elements, and attributes, and suggests a
combination of these three values to obtain a total complexity index. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] proposes an advanced
approach to assessing DM complexity in terms of both, functionality and dynamic
aspects. But only a few studies address (e.g. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]) the relationship between DM complexity
and DMMs effectiveness, however, is rarely analyzed. We present an approach to
answering this question, which is essentially based on a special metric: “effectiveness
coefficient ratio (ECR)” that can be used to assess the effectiveness of alternative
DMMS and CTs in terms of DM complexity and code reusability.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>An Approach to Evaluation</title>
      <p>
        Within the last 10-15 years, a variety of DMMs have been developed, and one of their
possible classification is presented in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. We examined two of these methods in more
details: JODA and ODM. JODA (Joint Object oriented Domain Analysis) uses the
object-oriented approach to cover the domain analysis phase. ODM (Organizational
Domain Modeling) systematically supports the mapping of domain-specific artifacts into
project assets that can be reused in future software development activities.
      </p>
      <p>
        Obviously, any DMM without a supporting CT is only of limited use in software
development practice. There are many such CTs with very different capabilities, and
their comparative analyse is also shown in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. For the purpose of our research, such
CTs as Actifsource and Eclipse Modeling Framework were chosen.
      </p>
      <p>One of the aspects to be considered here is the question of whether one can select a
DMM, and a CT for a given DM in such a way that one obtains the most effective
solution possible. For this purpose, we introduce a collection of heuristics, denotations,
and definitions which we have taken from the literature or gained from our own
experience of DDD-oriented software development:
 We denote a certain domain modeling method by μi, a certain case tool by γi.
 We call a pair τij=(μi γi) a Domain Modeling Technique, if γi supports μi, and we
assume that a τij ensures consistency of any Model Mτij created using it.
 Furthermore, we assume that we can associate to each (consistent) Model Mτij a
code framework Φ(Mτij) using an appropriate generator.
 The Complexity Level DMC(Mτij) of a model and the Reusability Extent
CRE(Φ(Mτij)) of a code framework is expressed by a positive value. The algorithm
for calculating these values is presented in Section 3.2.</p>
      <p>Based here-on, we define the Effectiveness Coefficient E(Mτij) of using a technique τij
for creating a model Mτij by the quotient</p>
      <p>E(Mτij) = CRE(Φ(Mτij)) / DMC(Mτij) ,
(1)
and we define an Effectiveness Coefficient Ratio ECR of two techniques τa and τb for a
given domain model M with E(Mτa) &gt; E(Mτb) as the quotient:

 ,  ,  =
∆( ( τ ), E(   ))</p>
      <p>
        E(   )
(2)
The computation of the reusability extent CRE(Φ) utilizes the well-known software
structural complexity metrics [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]: WMC (Weighted Methods per Class), RFC
(Reponses for a Class), DIT (Depth of Inheritance Tree), NOC (Number of Children), CBO
(Coupling between Object). In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] the follows formula is constructed
      </p>
      <p>
        CRE  0,1198*WMC  0,0398* RFC  0,2801* DIT  0,3603* NOC  0,2000*CBO (3)
The calculation of the complexity level of a given model M supposes the calculation of
complexity values for each class included in this M, the complexity values of all
relationships between classes in M, and finally the overall complexity level value
DMC(M). The appropriate expression for this purpose is the follows [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]:
DMC = KC ∗ (#Class) ∗ CC + KRC ∗ RC; KC = 0.7; KRC = 0.3
(4)
where (#Class) is the number of DM classes, СС (ClassComplexity) is a value that
determines quantitatively the overall structural and functional class’s complexity, RC
as summarized value of relationships complexity, and the weight coefficients 0.7 and
0.3 have been defined with the appropriate expert-oriented procedure with usage of
Analytic Hierarchy Process [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
3
      </p>
      <p>
        Case Study: Experimental Results and Discussion
The framework for evaluating the proposed approach has been elaborated in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In this
context two use case DMs were developed for the Universe of Discourse «Students
Personal Data Processing in Education Management System» using the methods ODM
and JODA, and the CASE-tools EMF and Actifsource respectively. In this publication
we present the new experimental results to prove the proposed approach to assessment
of effectiveness coefficient ratio ECR.
      </p>
      <p>We have defined 8 test cases with different numbers of domain objects (see Table
1), and constructed the corresponding DMs using the both modeling technologies.
This led to the results presented in Table 2. They show that the applying the ODM/EMF
technology to all test cases provided more effective than the JODA/Actifsource
technology.</p>
      <p>Test 1
Test 2
Test 3
Test 4
Test 5
Test 6
Test 7
Test 8
To discuss this result briefly, we point out once again that the reusability extent CRE
of the source code depends more on the CASE-tool used to support a given DMM,
while the complexity level DMC depends more on an expertise of the modeler. To
analyze the latter impact factor we considered the relation between the DMC parameter
and the efficiency coefficient E (see Fig. 1) which proves that the effectiveness
coefficient E decreases substantially with an increasing DM complexity.
This fact indicates a sufficient validity of our proposed approach to determine the
effectiveness of different domain modeling techniques when applied to given domain
model. Moreover, the proposed evaluation approach ensures the selection of a domain
modeling technique with a favorable values of ECR (in 0.5-1.9 times in our tests).</p>
      <p>
        Finally, we investigate the ratio of how the ECR is dependent on the number of
domain objects (#DO) in the given DMs. Table 3 and it’s visualization in Fig. 2 show
that this ratio decreases, if the number of domain objects increases.
Finally, we note that the test data computation described above were performed using
a special tool [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] developed with the license-free Java and MySQL software.
4
      </p>
    </sec>
    <sec id="sec-3">
      <title>Conclusions and Future Work</title>
      <p>We have identified as a key variability driver for a given MDSD-project the choice of
the most effective combination of a domain modeling method and a supporting CASE
tool. In order to provide this selection, we have developed and presented suitable
metrics (Effectiveness Coefficient E and Effectiveness Coefficient Ratio ECR) that also
consider the aspect of reusability of the generated source code. For two alternative
domain modeling techniques: ODM/ JODA and EMF/Actifsource, we performed a series
of tests that proved the proposed approach.</p>
      <p>
        What interests us in future is how we can generalize this approach so that it provides
reliable results for all models created with a Domain Specific Modeling Languages
(DSMLs) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Therefore, the metrics would then have to reflect the properties of the
metamodels underlying the DSMLs considered, instead of the concrete domain model
properties.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Tune</surname>
          </string-name>
          , N.;
          <string-name>
            <surname>Millet</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : Patterns,
          <string-name>
            <given-names>Principles</given-names>
            <surname>And Practices Of</surname>
          </string-name>
          Domain-driven
          <string-name>
            <surname>Design</surname>
          </string-name>
          . 1st ed., John Wiley &amp; Sons (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Taibi</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Empirical Analysis of the Reusability of Object-Oriented Program Code in OpenSource Software</article-title>
          .
          <source>In: Int. Journal of Computer</source>
          , Electrical, Automation,
          <source>Control and Information Engineering</source>
          , Vol.
          <volume>8</volume>
          , No.
          <volume>1</volume>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Nandakumar</surname>
            ,
            <given-names>A.N.</given-names>
          </string-name>
          :
          <article-title>Constructing Relationship between Software Metrics and Code Reusability in Object Oriented Design</article-title>
          .
          <source>In: Int. Journal of Advanced Computer Science and Applications</source>
          , Vol.
          <volume>7</volume>
          , No.
          <volume>2</volume>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Tkachuk</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Martinkus</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ; Gamzayev,
          <string-name>
            <surname>R.</surname>
          </string-name>
          et al.:
          <article-title>An Integrated Approach to Evaluation of Domain Modeling Methods and Tools for Improvement of Code Reusability in Software Development</article-title>
          . In (Mayr,
          <string-name>
            <given-names>H.C.</given-names>
            ;
            <surname>Pinzger</surname>
          </string-name>
          , M. eds.):
          <source>INFORMATIK 2016, Lecture Notes in Informatics</source>
          , Vol. P-
          <volume>259</volume>
          : Köllen Verlag, Bonn, pp.
          <fpage>143</fpage>
          --
          <lpage>156</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Preschern</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kajtazovic</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kreiner</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Evaluation of Domain Modeling Decisions for two identical Domain Specific Languages</article-title>
          .
          <source>In: Lecture Notes on Software Engineering</source>
          , Vol.
          <volume>2</volume>
          , No. 1,
          <issue>February</issue>
          , pp.
          <fpage>37</fpage>
          --
          <lpage>41</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Leitner</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Weiss</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ; Kreiner C.
          <article-title>: Analyzing the Complexity of Domain Model Representations In: IEEE 19th International Conference and Workshops on Engineering of Computer-Based Systems</article-title>
          , Novi Sad,
          <string-name>
            <surname>Serbia</surname>
          </string-name>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Tkachuk</surname>
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Gamzaev R.; Martinkus</surname>
            <given-names>I.</given-names>
          </string-name>
          et al.:
          <article-title>Towards Effectiveness Assessment of Domain Modelling Methods and Tools in Software Product Lines Development</article-title>
          .
          <source>In: Enterprise Modelling and Information Systems Architectures, Int. J. of Conceptual Modelling</source>
          , Vol.
          <volume>13</volume>
          , pp.
          <fpage>190</fpage>
          --
          <lpage>206</lpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Nisa</surname>
            , H.; Khan,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Impact of Domain Modeling Techniques on the Quality of Domain Model: An Experiment</article-title>
          .
          <source>In: Int. J. of Advanced Computer Science and Applications</source>
          , Vol.
          <volume>7</volume>
          , No.
          <volume>11</volume>
          , pp.
          <fpage>454</fpage>
          --
          <lpage>462</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Saaty</surname>
            <given-names>T. L.</given-names>
          </string-name>
          :
          <article-title>Fundamentals of the Analytic Hierarchy Process</article-title>
          .
          <source>RWS Publishing</source>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Karagiannis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ; Mayr,
          <string-name>
            <given-names>H.C.</given-names>
            ;
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          :
          <source>Domain-Specific Conceptual Modeling: Concepts</source>
          ,
          <source>Methods and Tools</source>
          . Springer, Berlin (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>