<!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>Describing the correlations between metamodels and transformations aspects</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Juri Di Rocco</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Davide Di Ruscio</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ludovico Iovino</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alfonso Pierantonio</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Information Engineering Computer Science and Mathematics University of LAquila</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Metamodels are a key concept in Model-Driven Engineering. Any artifact in a modeling ecosystem has to be de ned in accordance to a metamodel prescribing its main qualities. One of the most important artifact is model transformation that are considered to be the heart and soul of MDE and as such advanced techniques and tools are needed for supporting the development, quality assurance, maintenance, and evolution of model transformations. Several works propose the adoption of metrics to measure quality attributes of transformation without considering any metamodel aspects. In this paper, we present an approach to understand structural characteristics of metamodels and how the model transformations depend on corresponding input and target metamodels.</p>
      </abstract>
      <kwd-group>
        <kwd>Model Driven Engineering</kwd>
        <kwd>metamodeling</kwd>
        <kwd>metamodel metrics</kwd>
        <kwd>transformation metrics</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Metamodels are a key concept in Model-Driven Engineering [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. Almost any
artifact in a modeling ecosystem [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] has to be de ned in accordance to a
metamodel, which represents an ontological description of application domains [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
Metamodels are important because they formally de ne the modeling primitives
used in modeling activities and represent the trait-d'union among all constituent
components. One of this components are model transformations (MT), in fact
MT play a key role since they permit to bridge di erent abstraction levels by
automatically mapping source models to target ones. In [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] model transformations
are considered to be the \heart" and \soul" of MDE and as such they require to
be treated in a similar way as traditional software artifacts [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Understanding
common characteristics of metamodels, how they evolve over time, and what is
the impact of metamodel changes throughout the modeling ecosystem is key to
success. Several approaches have been already proposed to analyse models [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]
and transformations [
        <xref ref-type="bibr" rid="ref28 ref3">3,28</xref>
        ] with the aim of assessing quality attributes, such as
understandability, reusability, and extendibility [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Similarly, there is the need
for techniques to analyse metamodels as well in order to evalutate their structural
characteristics and the impact they might have during the whole metamodel
lifecycle especially in case of metamodel evolutions. To this end, some works propose
the adoption of metrics for analysing metamodels [
        <xref ref-type="bibr" rid="ref17 ref19">17,19</xref>
        ] and transformation [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]
as typically done in software development by means of object-oriented
measurements [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Starting from our previous work [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], we are interested in better
understanding metamodel characteristics and how metamodels and
transformations are correlated by investigating the correlations of di erent metrics applied
on a corpus of more than 450 metamodels and 90 transformations. On one hand
we propose an approach for a) measuring certain metamodeling aspects (e.g.,
abstraction, inheritance, and composition) that modelers typically use; and b)
for revealing what are the common characteristics in metamodeling that can
increase the complexity of metamodels hampering their adoption and evolution
in modeling ecosystems [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. On other hand we propose an approach for
identifying how the transformations are correlated to metamodels. The identi ed
correlations permit to draw interesting considerations e.g. how a model
transformation is typically structured depending on the considered metamodels, and
how does the complexity of metamodels has an impact on the overall model
transformations development. Such considerations can be preparatory to further
analysis that are very common in software development [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], e.g., estimating the
e ort required to develop model transformations by considering the structural
characteristics of the source and target metamodels.
      </p>
      <p>The paper is structured as follows: Section 2 describes the process we have
conceived and applied to analyze metamodels. Interesting correlations are
discussed in Section 3. Section 4 discusses related work and Section 5 concludes the
paper and draws some research perspectives.
2</p>
    </sec>
    <sec id="sec-2">
      <title>The correlation among metamodels and transformations</title>
      <p>
        Software metrics have been proposed to assess and predict software e ort and
quality [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and recent research has proposed the adoption of metrics to
measure transformations. In particular, metrics on transformations have been
investigated [
        <xref ref-type="bibr" rid="ref28 ref3">28,3</xref>
        ] to support the measurements of model transformations with the
aim of understanding transformations via quantitative evaluations. For instance,
in [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] speci c metrics have been conceived to measure ATL transformations, and
in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] authors de ne the meaning of several quality attributes in the context of
model transformations and align them to a set of metrics.
      </p>
      <p>
        The adoption of metrics to measure metamodels has been recently proposed
in [
        <xref ref-type="bibr" rid="ref12 ref17 ref19">17,19,12</xref>
        ]. In particular, in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] authors apply object-oriented measurements
to understand common structural characteristics of metamodels, whereas [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]
proposes a measuring mechanism for assessing the quality of metamodels. To the
best of our knowledge, none of the existing approaches calculate transformation
metrics with the aim of correlating them.
      </p>
      <p>Since it is reasonable to claim that the complexity of model transformations
is somehow related to that of the source and target metamodels, in our opinion in
order to have a complete measurement of model transformations, it is necessary
to identify also possible correlations between transformation and metamodel
metrics e.g., to gure out at what extent the number of matched rules of given
ATL transformation depends on the number of metaclasses in the source and/or
target metamodels.</p>
      <p>
        To this end, in this section the measurement process shown in Fig. 1 is
presented. In particular, the rst step of the process consists in applying a
number of metrics on a representative corpus of transformations and corresponding
metamodels. Afterwards the calculated metamodel and transformation metrics
are correlated among them by using statistical tools. Finally, the collected data
are analysed in order to cross/link structural characteristics of transformations
and metamodels, e.g., how the di erent kinds of ATL rules (i.e., matched, lazy,
and called) are typically used. It is important to remark that in the analysis
step, metamodel metrics are also considered in order to identify possible
correlations among transformation and metamodel metrics (e.g., how the number
of metaclasses in the target metamodel impacts the structural characteristics
of transformations in terms of number of matched rules, helpers, etc.). In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ],
we describe the process, shown in 1, we have applied to identify linked
structural characteristics and to understand how they might change depending on the
nature of metamodels. In this work we have extended this process in order to
calculate di erent set of metrics from di erent artifacts (metamodels and
transformations) and to understand how the model transformations are dependent
from corresponding input and target metamodels.
2.1
      </p>
      <sec id="sec-2-1">
        <title>The proposed measurement process</title>
        <p>
          The rst step of the proposed process consists of the application of metrics on
a data set of metamodels and transformations. Concerning the applied metrics
on metamodels we borrowed those in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] and added new ones by leading to
a set of 28 metrics. Due to space limitations, in the rest of the paper we
consider only the metrics shown in Tab. 1 for metamodels and shown in Tab. 2
form transformation. The corpus of the analyzed metamodels and
transformations has been obtained by retrieving artifacts from di erent repositories, i.e.,
EMFText Zoo [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], ATLZoo [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], Github, and GoogleCode. To perform such
analysis we have automatize the process for metrics calculation using a eterogenous
repository called MDEForge presented in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. The calculated data are exported
in CSV les encoding the values of all the calculated metrics. Generating CSV
les enables the adoption of statistical tools like IBM SPSS, Microsoft Excel, R
and Libreo ce Calc for subsequent analysis of the generated data.
2.2
        </p>
        <p>Calculation and selection of metrics correlations
Correlation is probably the most widely used statistical method to detect
crosslinks and assess potential relationships among observed data. There are di erent
techniques and indexes to discover and measure correlations. In the following we
overview the Pearson's and Spearman's coe cients that we have considered in
this paper to measure the correlations among calculated metamamodel metrics.</p>
        <p>The Pearson's correlation coe cient [18A] was deveBlopedC by Karl DPearson
from a related idea introduced by Francis Galton in the 1880s. It is widely used
in the sciences as a measure of the degree of linear dependence between two
variables. In particular, the Pearson correlation coe cient is appropriate when
it is possible to draw a regression line between the points of the available data
(e.g., see the diagrams A and B in Fig. 2).</p>
        <p>
          The Spearman's correlation coe cient [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] was used by Charles Spearman
in the 1900s in the psychology domain. This coe cient is better than Pearson
to manage situations when there is a monotonic relationship between the
considered variables. For instance, in the cases shown in the diagrams C and D in
Fig. 2, the Pearson coe cient would wrongly identify a very low correlations
among the considered data. This is due to the fact that the assumption of
linear relationships required by Pearson is not satis ed. Contrariwise, Spearman's
correlation index would perform better in cases of monotonic relationships as in
the diagrams C and D in Fig. 2
        </p>
        <p>
          It is also important to note that A B C D
the assumption of a monotonic
relateiaornsrheliaptiiosnlsehsispre(astnriactsisvuemtphtaionnatlhinat- Fig. 2. Examples of scattered plots
has to be met by the Pearson correlation). For this reason, we use Spearman
only for highlighting curvilinear correlations. Finally, both Pearson's and
Spearman's correlation indexes assume values in the range of -1.00 (perfect negative
correlation) and +1.00 (perfect positive correlation). A correlation with value 0
indicates that there is no correlation between two variables. In order to assess
the strength of correlations it is possible to consider the guide that Evans [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]
suggests for the absolute value of the correlation indexes, i.e., [0.0,0.19 ] very
weak, [0.20,0.39 ] weak, [0.40,0.59 ] moderate, [0.60,0.79 ] strong, and [0.80,1.0 ]
very strong.
        </p>
        <p>
          Metamodel metrics correlations Once the metamodel metrics have been
calculated, the most correlated ones are identi ed and selected. In particular,
we have calculated the Pearson's correlation indexes for all the values of the
metamodel metrics. The outcome of this operation is a correlation matrix as the
one shown in Fig 3. The discussion is based on the correlation matrix shown in
Fig 3 and by considering the most interesting correlations having value greater
than 0.60 (thus strong or even very strong). Because of lack of space it is not
possible to discuss all the identi ed correlations that include the metrics shown
in Table 1 and 2. However, interested readers can refer to the spreadsheet
available online1 containing all the obtained results. For instance, the number
of MC2 (number of metaclasses) is strongly correlated with the number of CMC
1 http://www.di.univaq.it/ludovico.iovino/data-mise2015.html
2 For the complete list of acronyms in the table we refer to [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]
(number of concrete metaclasses) as testi ed by their Pearson's correlation index
having value 0.997.
        </p>
        <p>#MC
#AMC
#CMC
#IFLMC
#SF
#ASF
#TCWS #MGHL #MHS</p>
        <p>LNS
#CMC
#SF
#ASF
#MGHL
#MHS
LNS
Model transformation and metamodel metric correlations The
interesting part of our analysis relies on correlating model transformation and
metamodel metrics. To this end a correlation matrix based on the Spearman's index
has been calculated and a fragment is shown in Fig 4. The matrix relates model
transformation metrics with metrics calculated on the corresponding source and
target metamodels. For instance, according to the calculated matrix, the number
of output patterns (OP) of a model transformation is strongly related with the
number of metaclasses (MC) contained in the output metamodel.
MC
AMC
CMC
SF
MC
AMC
CMC
SF</p>
        <p>B</p>
        <p>IP</p>
        <p>OP</p>
        <p>TR</p>
        <p>MR</p>
        <p>LR</p>
        <p>CR</p>
        <p>RWF</p>
        <p>RWD</p>
        <p>H</p>
        <p>HWC</p>
        <p>HNC</p>
        <p>CRT
about how the constructs of the ATL language are typically used by developers.
Moreover, by considering the correlations of both transformation and metamodel
metrics (see Section 3.2), further considerations can be drawn about how
structural characteristics of metamodels a ect the structure of the corresponding
model transformations.
3.1</p>
      </sec>
      <sec id="sec-2-2">
        <title>Metamodels correlation analysis</title>
        <p>In this section we brie y present the most representative metrics and correlations
we have discovered in this process. We present the metrics correlation discussing
the meaning and highlighting the results in the graphical representation.
How the number of metaclasses is related to the adoption of
abstraction constructs In this section we discuss how the size of metamodels expressed
in terms of number of metaclasses is related to the adoption of abstraction
constructs, i.e., abstract metaclasses, and supertypes.</p>
        <p>In particular, as shown in Fig. 5
the number of metaclasses (MC)
and the number of those with su- 100
per types (MCWS) are strongly
correlated (with Pearson index 0.99). 80
More speci cally, when the number of
metaclasses grows, typically also the MGHL 60
number of classes with supertypes in- MHS
creases. In other words, as expected,
the adoption of inheritance is propor- MCWS 40
tional to the size of metamodels
expressed in terms of number of meta- 20
classes. Interestingly, metamodel
delsceihgvineelsesr.isnTpsthreeiasfedirsottofeaasdtdiddiensdigblbniynegwFsihigni.ehr5aiertrchaharyt- lFevige.l 50.0 Analyz5Ni0unmgber omf meett1a0ac0lamsseos (dMCe)l 15a0bstrac2t0i0on
shows the values of the MHS (Max
Hierarchy Sibling) and MGHL (Max generalization hierarchical level) metrics.
Such conclusions are con rmed by the Pearson correlation indexes between MC
and MHS (0.70) and the one between MC and MGHL (0.66). Finally, Fig. 5
reveals that in metamodels with at most 50 metaclasses, i) the number of
supertypes in hierarchy is in between 0 and 20, ii) the number of siblings in a
hierarchy is in between 0 and 10, and iii) the maximum height of a hierarchy
is in between 0 and 5. These data represent a pattern charactering the typical
typical metamodel de nition.</p>
        <p>How structural features are used with hierarchies This section aims at
comprehend how structural features are used in presence of class hierarchies.
To this end, we can consider the average number of features (ASF) and the
total number of metaclasses with supertypes (MCWS) metrics. Even though
the correlation index of these two metrics is low, according to the matrix in
Fig 3, the Spearman approach permits to identify a greater correlation index.
As shown in Fig. 6 it is evident that ) 12
increasing the number of metaclasses FSA
cbwleaitrshsodfseusctprreeuarctstyeupsr.eaMsl, ofetrahetoeuvreaervs,earinnagiaentmenrueetmsat---    li(trsscaaaeenu 1860
ing statistical result obtained by con-  lfra
sidering the correlation between the ttrcuu 4
MC and ASF metrics is that by con-  rsgae 2
sidering metamodels having the num- veA 0
ber of metaclasses in the range be- 0 50Number 1o0f0 class wit1h5 0a super t2y0p0e (MCWS2)50 300
tween 1 and 50 , the average num- Fig. 6. Analyzing structural features
introber of features (excluding the inher- duction in hierarchies
ited ones) of a metaclass ranges
between 1 and 5.</p>
        <p>How the number of featureless metaclasses is related to hierarchies
height The correlation between the number of metaclasses with supertypes
(MCWS) and the number of concrete metaclasses without features (IFLMC) is
interesting for understanding how specializations of metaclasses can introduce or
reduce structural features in metamodels.
To this end, MCWS and 10
IFLMC are strongly
correlated as supported by the 8
r0Pe.e8laa9rt0si.oonnT'hsiseinsehdoeexwctnhoaifvnisnuFgcihgv.acl7our3e-.  I)(LLFgoCCM64
In particular, by increasing
the number of metaclasses 2
bweitrh osfupmeretatyclpaesss,esthweitnhuomut- 0 0 2 4 Log (MCWS) 6 8 10
attributes or references in- Fig. 7. Analyzing hierarchical height and featureless
creases too. This means that metaclasses
when hierarchies are introduced, usually existing features are subject to
refactoring operations. Usually, what is done is to move them to super classes and
to create leaves in the hierarchies inheriting features from the super types. This
is in line with the typical usage of hierarchies for factorizing common aspects in
superclasses.
3.2</p>
        <p>How metamodel characteristics a ect model transformations
By exploiting the matrix obtained by correlating transformation and metamodel
metrics, in this section we discuss how metamodels a ect the development of
3 This scattered plot diagram use date logarithmic scale for empathize the correlation
model transformations. The discussion is based on the correlation matrix shown
in Fig. 4 and by considering the most interesting correlations having value greater
than 0.65.</p>
        <p>How transformation rules are in uenced by target metamodels This
aspect can be investigated by considering the correlation between the number of
metaclasses in the target
metamodel (OUT MC) and
the number of TR
(Transformation Rules). Such two
values are correlated because
of the Spearman's index
having value 0.746. The graph in
Fig 84 represents how these
two values are in uenced by
each other in our corpus.
According to the graph it is
evident that increasing the num- Fig. 8. How TR are in uence by number of MC in
ber of the MC in the target target metamodel
metamodel the number of TR
increases too. This is generally true, since the transformation writing is
outputdriven when the developer tries to cover all the metaclasses of the target
metamodel. We can also state that the common concentration in the corpus is in
the range between 1 and 20 metaclasses and 1 and 15 transformation rules,
again con rming the declarative style of transformation as common choice of
the developers.</p>
        <p>How the structural features in the target metamodel in uence the
number of bindings According to the calculated Spearman correlation, the
structural features (SF) of the
target metamodel can in
uence the number of bindings
(B) written in the rules of the
transformations. The plot in
Fig 94 shows that increasing
the value of SF in the
output metamodel (OUT SF),
the number of binding grows
too. The distribution is
common for the number of SF
between 0 and 20 distributed for Fig. 9. How the SF in the target metamodel in
uthe value of B that goes from ence the number of B
1 to about 75.
4 The scattered plot diagram use date logarithmic scale for empathize the correlation
How the total number of output patterns are in uenced by the target
metamodels According to the calculated matrix the Spearman's
correlationindex between the value of OP
(Output Patterns) in the
rules and the number of
metaclasses in the target
metamodels has value 0.783. This
correlation occurring in our
corpus is depicted in Fig 104
where the value of OP in the
rules of our transformations
increases at the raising of the
value of MC in the target
metamodels. The most dense
concentration is in the range Fig. 10. How OP are in uenced by the target
metaof 1-10 output patterns and 1- models
10 metaclasses in output.</p>
        <p>How the total number of input pattern are in uenced by the source
metamodels As anticipated in the previous sections the IP (Input Pattern)
of the transformations are
related to the value of MC
in the source metamodel (IN
MC). This is con rmed by the
Spearman's correlation that
results 0.692. In the graph
in Fig 114 the distribution is
less clear than the previous
case but the trend is similar:
increasing the value of MC
in input, the value of IP
increases too. This again con- Fig. 11. How IP are in uenced by the source
metarms the use of declarative models
style as the preferred one in
our corpus.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>4 Related works</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] the authors introduces metrics to measure ATL transformations and
the adoption of metrics to measure quality attributes of transformation without
considering any metamodel aspects. In other approaches the main topic is the
quality attribute driven by the metric [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], for example making the quality of
model transformations measurable. In [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] the authors have focused on
transformation model measurements in order to better understand transformations
via a quantitative evaluation, like the declarative factor of modules and rules.
In [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] an analogous approach for measuring model repositories is shown,
simply considering models in the evaluation. The authors in [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] investigate factors
having impact on the execution performance of model transformations and they
extracted metrics for the analysis. Van Amstel et al. propose a set of six quality
attributes to evaluate the quality of model transformations [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. All cited works
propose the adoption of metrics to measure quality attributes of
transformation without considering any metamodel aspects. The authors of [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] worked
on how model transformations can improve the quality of models using metrics.
A similar approach for understanding structural characteristics of metamodels
and their relationships has been presented in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Williams et al. in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] is the
rst one to discuss metrics related to a large metamodel collection exposing how
metamodels are commonly structured, and how they evolve over time.
      </p>
    </sec>
    <sec id="sec-4">
      <title>5 Conclusions and future work</title>
      <p>In this paper, we proposed a number of metrics which can be used to acquire
objective, transparent, and reproducible measurements of metamodels and
transformations. The rst goal is to better understand the main characteristic of
metamodels, how they are coupled, and how they change depending on the metamodel
structure. We have also proposed an approach to analyze model transformations
by considering also the corresponding metamodels. The approach relies on the
correlation of di erent metrics and has been applied on a corpus of 450
metamodels and 90 transformations and permitted to draw interesting considerations
that we intend to extend in the future.
ASF
CMC</p>
      <sec id="sec-4-1">
        <title>IFLMC LNS MC</title>
      </sec>
      <sec id="sec-4-2">
        <title>MCWS</title>
      </sec>
      <sec id="sec-4-3">
        <title>MGHL MHS SF</title>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Appendix</title>
      <p>Name Description</p>
      <sec id="sec-5-1">
        <title>Number of abstract MetaClass Number of metaclasses that cannot be instantiated in models</title>
      </sec>
      <sec id="sec-5-2">
        <title>Average Structural Features Average number of attributes and references in a metaclass</title>
      </sec>
      <sec id="sec-5-3">
        <title>Number of concrete MetaClass Number of metaclasses that can be directly instantiated</title>
      </sec>
      <sec id="sec-5-4">
        <title>Number of concrete Immediately The number of concrete metaclasses that have no attributes</title>
      </sec>
      <sec id="sec-5-5">
        <title>Featureless MetaClass or references, but may inherit features from a superclass</title>
      </sec>
      <sec id="sec-5-6">
        <title>Isolated metaclasses It is the percentage of metaclasses that are not connected with any other one Number of total MetaClass Number of metaclasses in the metamodel (MC = AMC + CMC)</title>
      </sec>
      <sec id="sec-5-7">
        <title>Number of class with a super Number of metaclasses having at least one super type type</title>
      </sec>
      <sec id="sec-5-8">
        <title>Maximum generalization hierar- Maximum hierarchical depth in the metamodel chical level</title>
      </sec>
      <sec id="sec-5-9">
        <title>Max Hierarchy Sibling</title>
      </sec>
      <sec id="sec-5-10">
        <title>Maximun number of classes inheriting from a generic superclass</title>
      </sec>
      <sec id="sec-5-11">
        <title>Number of structural features Number of attributes and references in the metamodel</title>
        <p>Table 1. Some of the used metrics for measuring metamodels
Name Description</p>
      </sec>
      <sec id="sec-5-12">
        <title>Number of bindings Number of bindings in all output pattern</title>
      </sec>
      <sec id="sec-5-13">
        <title>Number of Input Pattern The metric number of input pattern elements measure the size of the input pattern of rules. Note that since called rules do not have an input pattern, the metric number of input model elements does not include called rules.</title>
      </sec>
      <sec id="sec-5-14">
        <title>Number of Output Pattern The metric number of output pattern elements measure the size of the output pattern of rules.</title>
      </sec>
      <sec id="sec-5-15">
        <title>Number of Transformation Rules A measure for the size of a model transformation is the number of transformation rules it encompasses. In ATL, there are di erent types of rules, viz., matched rules, lazy matched rules, unique lazy matched rules, and called rules.</title>
      </sec>
      <sec id="sec-5-16">
        <title>Number of Matched Rules (Ex- Number of matchad rule exzcluding lazy matched rule. If cluding Lazy Matched Rules) this matrics are equals to number of transformation rule the transformation are de ned completely declarative</title>
      </sec>
      <sec id="sec-5-17">
        <title>Number of Lazy Matched Rules Number of lazy rule including unique (Including Unique)</title>
      </sec>
      <sec id="sec-5-18">
        <title>Number of Called Rules Number of Called Rules</title>
      </sec>
      <sec id="sec-5-19">
        <title>Number of Rules with a Filter Number of rules with a lter condition on the input pattern.</title>
      </sec>
      <sec id="sec-5-20">
        <title>Condition on the Input Pattern The input pattern has a condition. This implies that not all model elements in the source model may be transformed.</title>
      </sec>
      <sec id="sec-5-21">
        <title>Number of Rules with a do Sec- ATL allows the de nition of imperative code in rules in a</title>
        <p>tion do block. This can be used to perform calculations that do
not t the preferred declarative style of programming. To
measure the use of imperative code in a transformation, we
de ned number of rules with a do section</p>
      </sec>
      <sec id="sec-5-22">
        <title>Number of Rules with a using ATL allows the de nition of local variable in a rule. This</title>
        <p>clause can be used to perform calculations that do not t the
preferred declarative style of programming. To measure the use
of imperative code in a transformation, we de ned number
of rules with a using clause</p>
      </sec>
      <sec id="sec-5-23">
        <title>Number of Helper Number of total helper in the transformation</title>
      </sec>
      <sec id="sec-5-24">
        <title>Number of Helpers with Context Number of helper with context in the transformation</title>
      </sec>
      <sec id="sec-5-25">
        <title>Number of Helpers without Con- Number of helper without context in the transformation text</title>
      </sec>
      <sec id="sec-5-26">
        <title>Number of Calls to resol- The resolveTemp() function is used to look-up references</title>
        <p>veTemp() to non-default output elements of other rules. Therefore, it
is to be expected that model transformations with a large
number of calls to the resolveTemp() function are harder to
understand.</p>
        <p>Table 2. Some of the used metrics for measuring transformations</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. van Amstel,
          <string-name>
            <given-names>M.F.</given-names>
            ,
            <surname>Lange</surname>
          </string-name>
          , C.F., van den Brand, M.G.:
          <article-title>Using metrics for assessing the quality of asf+ sdf model transformations</article-title>
          .
          <source>In: Theory and Practice of Model Transformations</source>
          , pp.
          <volume>239</volume>
          {
          <fpage>248</fpage>
          . Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. van Amstel, M., van den Brand, M.:
          <article-title>Model transformation analysis: Staying ahead of the maintenance nightmare</article-title>
          .
          <source>In: ICMT</source>
          <year>2011</year>
          ,
          <article-title>LNCS</article-title>
          , vol.
          <volume>6707</volume>
          , pp.
          <volume>108</volume>
          {
          <fpage>122</fpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. van Amstel, M., van den Brand, M.:
          <article-title>Quality assessment of atl model transformations using metrics</article-title>
          .
          <source>Proceedings of the 2nd International Workshop on Model Transformation with ATL (MtATL</source>
          <year>2010</year>
          ), Malaga, Spain (
          <year>June 2010</year>
          ) (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. van Amstel,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Lange</surname>
          </string-name>
          , C., van den Brand, M.:
          <article-title>Metrics for analyzing the quality of model transformations</article-title>
          .
          <source>Proceedings of the 12th ECOOP Workshop on Quantitative Approaches on Object Oriented Software</source>
          Engineering pp.
          <volume>41</volume>
          {
          <issue>51</issue>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. ATLAS Group:
          <article-title>ATL Transformations Zoo</article-title>
          . http://www.eclipse.org/m2m /atl/atlTransformations/
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. ATLAS Group:
          <article-title>EMFTEXT Concrete Syntaxes Zoo</article-title>
          . http://emftext.org/index. php/EMFText_Concrete_Syntax_Zoo$
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Bansiya</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davis</surname>
            ,
            <given-names>C.G.</given-names>
          </string-name>
          :
          <article-title>A hierarchical model for object-oriented design quality assessment</article-title>
          .
          <source>Software Engineering, IEEE Transactions on 28(1)</source>
          ,
          <volume>4</volume>
          {
          <fpage>17</fpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Basciani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Di</surname>
            <given-names>Rocco</given-names>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Di</given-names>
            <surname>Salle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Iovino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Pierantonio</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Mdeforge: an extensible web-based modeling platform</article-title>
          . pp.
          <volume>66</volume>
          {
          <issue>75</issue>
          (
          <year>2014</year>
          ), http: //ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1242</volume>
          /paper10.pdf
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Boehm</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abts</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chulani</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Software development cost estimation approaches a survey</article-title>
          .
          <source>Annals of Software Engineering</source>
          <volume>10</volume>
          (
          <issue>1-4</issue>
          ),
          <volume>177</volume>
          {
          <fpage>205</fpage>
          (
          <year>2000</year>
          ), http://dx.doi. org/10.1023/A%3A1018991717352
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Chandrasekaran</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Josephson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benjamins</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>What are ontologies, and why do we need them? Intelligent Systems and their Applications</article-title>
          , IEEE
          <volume>14</volume>
          (
          <issue>1</issue>
          ),
          <volume>20</volume>
          {
          <fpage>26</fpage>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>Di</given-names>
            <surname>Rocco</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Iovino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Pierantonio</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Mining metrics for understanding metamodel characteristics</article-title>
          .
          <source>In: Proceedings of the 6th International Workshop on Modeling in Software Engineering</source>
          . pp.
          <volume>55</volume>
          {
          <fpage>60</fpage>
          .
          <source>MiSE</source>
          <year>2014</year>
          , ACM, New York, NY, USA (
          <year>2014</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/2593770.2593774
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>Di</given-names>
            <surname>Rocco</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Iovino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Pierantonio</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Mining metrics for understanding metamodel characteristics</article-title>
          .
          <source>In: MiSE</source>
          . pp.
          <volume>55</volume>
          {
          <issue>60</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Iovino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Pierantonio</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Evolutionary togetherness: how to manage coupled evolution in metamodeling ecosystems</article-title>
          .
          <source>In: Intl. Conf. on Graph Transformations (ICGT</source>
          <year>2012</year>
          ). LNCS, vol.
          <volume>7562</volume>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Evans</surname>
            ,
            <given-names>J.S.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Over</surname>
            ,
            <given-names>D.E.</given-names>
          </string-name>
          :
          <article-title>Rationality and reasoning</article-title>
          . Psychology Press (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Fenton</surname>
            ,
            <given-names>N.E.</given-names>
          </string-name>
          , P eeger, S.L.:
          <article-title>Software Metrics: A Rigorous and Practical Approach</article-title>
          . PWS Publishing Co., Boston, MA, USA, 2nd edn. (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Harrison</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Counsell</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nithi</surname>
            ,
            <given-names>R.:</given-names>
          </string-name>
          <article-title>An evaluation of the mood set of objectoriented software metrics</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          <volume>24</volume>
          , 491{
          <fpage>496</fpage>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>James</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Athansios</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nicholas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Louis</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dimitios</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Richard</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fiona</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>What do metamodels really look like? Frontiers of Computer Science (</article-title>
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Lee</surname>
            <given-names>Rodgers</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Nicewander</surname>
          </string-name>
          ,
          <string-name>
            <surname>W.A.</surname>
          </string-name>
          :
          <article-title>Thirteen ways to look at the correlation coefcient</article-title>
          .
          <source>The American Statistician</source>
          <volume>42</volume>
          (
          <issue>1</issue>
          ),
          <volume>59</volume>
          {
          <fpage>66</fpage>
          (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Ma</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>He</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Assessing the quality of metamodels</article-title>
          .
          <source>Frontiers of Computer Science</source>
          <volume>7</volume>
          (
          <issue>4</issue>
          ),
          <volume>558</volume>
          {
          <fpage>570</fpage>
          (
          <year>2013</year>
          ), http://dx.doi.org/10.1007/s11704-013-1151-5
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Monperrus</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jezequel</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Champeau</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hoeltzener</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Model-Driven Software Development</article-title>
          .
          <source>IGI Global (Aug</source>
          <year>2008</year>
          ), http://www.igi-global.com/ chapter/measuring-models/26829/
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Saeki</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaiya</surname>
          </string-name>
          , H.:
          <article-title>Measuring model transformation in model driven development</article-title>
          .
          <source>In: CAiSE Forum</source>
          . vol.
          <volume>247</volume>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Guest Editor's Introduction: Model-Driven Engineering</article-title>
          .
          <source>Computer</source>
          <volume>39</volume>
          (
          <issue>2</issue>
          ),
          <volume>25</volume>
          {
          <fpage>31</fpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Sendall</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kozaczynski</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Model transformation: The heart and soul of modeldriven software development</article-title>
          .
          <source>IEEE Softw</source>
          .
          <volume>20</volume>
          (
          <issue>5</issue>
          ),
          <volume>42</volume>
          {45 (Sep
          <year>2003</year>
          ), http://dx. doi.org/10.1109/MS.
          <year>2003</year>
          .1231150
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Spearman</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>The proof and measurement of association between two things</article-title>
          .
          <source>The American journal of psychology 15(1)</source>
          ,
          <volume>72</volume>
          {
          <fpage>101</fpage>
          (
          <year>1904</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Tolosa</surname>
            ,
            <given-names>J.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sanjuan-Mart nez</surname>
          </string-name>
          , O.,
          <string-name>
            <surname>Garc</surname>
          </string-name>
          a-D
          <string-name>
            <surname>az</surname>
          </string-name>
          , V.,
          <string-name>
            <surname>Lovelle</surname>
            ,
            <given-names>J.M.C.</given-names>
          </string-name>
          , et al.:
          <article-title>Towards the systematic measurement of atl transformation models</article-title>
          .
          <source>Software: Practice and Experience</source>
          <volume>41</volume>
          (
          <issue>7</issue>
          ),
          <volume>789</volume>
          {
          <fpage>815</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Van Amstel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bosems</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kurtev</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pires</surname>
            ,
            <given-names>L.F.</given-names>
          </string-name>
          :
          <article-title>Performance in model transformations: experiments with atl and qvt</article-title>
          .
          <source>In: Procs. ICMT2011</source>
          , pp.
          <volume>198</volume>
          {
          <fpage>212</fpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Vepa</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bezivin</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bruneliere</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jouault</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Measuring model repositories</article-title>
          .
          <source>In: Proceedings of MSM06</source>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Vignaga</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Metrics for measuring atl model transformations</article-title>
          .
          <source>MaTE</source>
          , Department of Computer Science, Universidad de Chile,
          <source>Tech. Rep</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>