<!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 Quality-Driven Model Transformations: A Replication Study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Emilio Insfran</string-name>
          <email>einsfran@dsic.upv.es</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>José Ángel Carsí</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Silvia Abrahão</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marcela Genero</string-name>
          <email>Marcela.Genero@uclm.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Isidro Ramos</string-name>
          <email>iramos@dsic.upv.es</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mario Piattini</string-name>
          <email>Mario.Piattini@uclm.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ALARCOS Group, Department of Information Systems and Technologies, University of Castilla-La-Mancha Paseo de la Universidad No 4</institution>
          ,
          <addr-line>13071, Ciudad Real</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>ISSI Group, Department of Information Systems and Computation Universidad Politécnica de Valencia Camino de Vera</institution>
          ,
          <addr-line>s/n, 46022, Valencia</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <fpage>51</fpage>
      <lpage>60</lpage>
      <abstract>
        <p>Commonly, there are several ways to transform a source model into a target model. These alternative target models may have the same functionality but can differ in their quality attributes. One of the key challenges of an automated transformation process is to identify the transformations that will produce a target model with the desired quality attributes. In this paper, we present a replica of a controlled experiment to investigate the selection of alternative transformations to obtain UML class models from a Requirements Model. This is a concrete instantiation of a wider domain-independent approach for quality-driven model transformation. Specifically, we focus on a set of transformations related to structural relationships between classes (association, aggregation and association class) and the understandability quality attribute. Although, some results could be foreseen even by a superficial analysis of the alternatives, the goal of this work is to use experimentation to gather empirical evidence about which alternative transformation produces the UML class model that is the easiest to understand. The empirical results support the original results showing that there is a tendency to favor the use of association relationships to drive these transformations when understandability is chosen.</p>
      </abstract>
      <kwd-group>
        <kwd>Model transformations</kwd>
        <kwd>MDA</kwd>
        <kwd>Software Quality</kwd>
        <kwd>Requirements</kwd>
        <kwd>UML class model</kwd>
        <kwd>Empirical Software Engineering</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>Model-Driven Architecture (MDA) is an emerging approach to software
development. It promotes the use of models and model transformations as the primary
artefacts to be built and maintained. In essence, an MDA development process
transforms a Platform-Independent Model (PIM) into one or more Platform-Specific
Models (PSM), which are then transformed into code (Code Model – CM). Therefore,
in this context, a model is no longer simply a means for describing software, but
rather an essential piece of the software development process. Consequently, the
quality of the models built throughout this process is of great significance since these
models will determine the quality of the software product that is finally deployed.</p>
      <p>Usually, in an MDA development process there are several ways to transform a
source model into a target model. Alternative target models may have the same
functionality but differ in their quality attributes. One of the key challenges for an
automated transformation process is to identify which transformations will produce a
target model with the desired quality attributes (e.g., understandability, modifiability).</p>
      <p>In the last few years, some approaches that deal with quality in Model-Driven
Engineering (MDE) have been proposed [15] [14] [12] [13] [8] [9]. One disadvantage
of these approaches is that the practical applicability of model transformations is often
reported based on the intuition of the researcher. As pointed out by Czarnecki and
Helsen [4], there is a lack of controlled experiments to fully validate the observations
made by the researchers in the field of MDE. Therefore, more systematic approaches
to ensure quality in MDE processes are needed.</p>
      <p>In this paper, we present a replica of a controlled experiment to investigate the
selection of alternative transformations to obtain UML class models from a
Requirements Model [5] [6]. This work is part of a project on quality-driven model
transformations whose overall goal is the definition of a quality metamodel to drive
the selection of alternative model transformations according to different quality
attributes.</p>
      <p>Specifically, we focus on a sub-set of transformations that are related to structural
relationships between classes (association, aggregation, and association class) and the
‘understandability’ quality attribute. These transformations have been selected
because the determination of structural relationships has a great impact on the UML
class model. Understandability has been selected since it is recognized as the main
quality attribute that influences maintainability. A UML class model must be
understood before any desired change to it can be identified, designed or
implemented.</p>
      <p>The goal of the experimentation is to gather empirical evidence about which
alternative transformation produces the UML class model that is the easiest to
understand. The empirical evaluation of the best transformation is particularly
important when the transformations are automatically applied, which is the main
reason for adopting MDA [11].</p>
      <p>This paper is organized as follows. Section 2 gives an overview of our approach to
transform a Requirements Model into UML class models. This section also shows the
analysis of alternative model transformations. Section 3 describes the design of the
original experiment and its replica to empirically validate the selection of alternative
transformations with regard to the understandability. Section 4 presents the data
analysis and the interpretation of the results. Finally, section 5 presents our
conclusions and future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Transforming Requirements into UML Class Models</title>
      <p>Following an MDA development approach, it is important to ensure quality in every
step of the development process. In this context, automated model transformation
plays a key role for success. We propose to empirically validate model
transformations with regard to quality attributes and use this information to drive the
selection of alternative transformations. A quality attribute is a measurable physical or
abstract property of an entity (e.g., conceptual model) [7].</p>
      <p>A model transformation is executed taking a transformation definition as input. A
transformation definition contains transformation rules that relate constructs in the
source model to constructs in the target model. We use another input for the
transformation process that is the definition of the quality attributes together with the
corresponding empirical evidence gathered from controlled experiments. This
information will feed the transformation process with the criteria to choose the
alternative transformation that maximizes the selected quality attribute. The rationale
of this approach is to be able to automatically select the alternative transformation that
an experienced software developer would select if the transformation process were
manually applied. In this section, we present a concrete application of the
qualitydriven model transformation approach to transform software requirements into UML
class models (see Fig. 1).</p>
      <p>The Requirements Model [5] [6] defines the structures and the process followed to
capture the software requirements following an MDA approach. It is composed of a
Functions Refinement Tree (FRT) to specify the hierarchical decomposition of the
system functionality, a Use Case Model to specify the system communication and
functionality, and Sequence Diagrams to specify the required object-interactions
necessary to realize each Use Case. This Requirements Model is supported by a
Requirements Engineering TOol – RETO (http://reto.dsic.upv.es). Once the
Requirements Model has been specified, a conceptual model including a UML class
model can be obtained by applying a set of transformations from the Transformation
Rules Catalog (TRC) [5]. These transformation rules establish traceability
relationships between the Requirements Model and the UML class models.</p>
      <p>The application of a Transformation Rule (TR) implies that a certain structural
pattern match in the Requirements Model and that a resultant structure in the UML
class model can be generated while establishing a traceability relationship between
them. Some transformations are easy to apply once the transformation pattern has
been matched (a one-to-one relation). For example, the generation of classes for the
UML class model is based on the analysis of participating classes in all the Sequence
Diagrams. However, other transformations are not easy to identify or apply for three
main reasons: the complexity of the transformation pattern, the non-disjoint condition
pattern of the transformation, and the multiple valid representation of a conceptual
model for a given requirement pattern.</p>
      <sec id="sec-2-1">
        <title>2.1 Analyzing Alternative Transformations</title>
        <p>Following, we explain with examples some transformations where multiple
alternatives arise because of non-disjoint condition patterns and multiple possible
representations of the same pattern. Fig. 2 shows the Sequence Diagram used to
specify the necessary object interactions to realize the Use Case Create Insurance of a
Car Rental system. This Use Case represents the creation of a car Insurance policy
that must be bought from an Insurance Company and assigned to the Car before using
the car for rentals. The actor Administrator initiates the interaction (message 1). After
introducing the necessary data and checking the existence of the corresponding car
(messages 2 to 4), a new Insurance object is created (message 5). In addition, an
Insurance Company object and a Car object must be connected to the newly created
Insurance policy object (messages 6 and 7).</p>
        <p>After analyzing the requirement specification provided by the previous Sequence
Diagram, the analyst of the system could possibly determine that the partial Class
Model that best represents this requirement is defined by two association relationships
that relate the newly created class Insurance (message 5) to the InsuranceCompany
and Car classes as shown in Fig. 3(a). This partial Class Model can be obtained by
applying twice the following transformation rule TR15 (Association) from the
Transformation Rule Catalog to the messages 6 and 7:</p>
        <p>TR15 (Association): For every message between two classes labeled with the stereotype
«connect», THEN an association relationship between these classes will be generated.
Pattern condition: Result:</p>
        <p>As an alternative solution to the same requirement specification, the analyst could
prefer a solution that uses an association class (named Insurance) to relate the Car
rented with the Insurance Company as shown in Fig. 3 (b). This partial Class Model
can be obtained by applying the transformation rule TR39 (AssociationClass) to the
messages 5, 6 and 7. Finally, another possibility is the definition of two aggregation
relationships, one between Insurance Company and Insurance classes and another
between Car and Insurance classes as shown in Fig. 3 (c). This partial Class Model
can be obtained by applying twice the transformation rule TR28b (Aggregation) to the
messages 6 and 7.</p>
        <p>a) Association
b) Association class
c) Aggregation</p>
        <p>An important issue derived from these examples is that different alternative
structural relationships can be derived from the analysis of the requirements
specifications described using Sequence Diagrams. And what is more important is the
fact that the part of the information used in the Sequence Diagrams for deriving these
structural relationships follows the same pattern: a message with the stereotype new,
followed by two messages with a stereotype connect.</p>
        <p>In the examples, we have shown that TR15, TR39, or TR28b transformation rules
could be applied, depending on the interpretation of the analyst if the transformation
process is performed manually. In an automated transformation process, the
information provided by the stereotyped Sequence Diagrams is not sufficient to
automatically determine which structural relationship of a Class Model best realizes
the specified requirement. Because these alternatives exist, it is the human analyst
who should decide which alternative better represent a solution in the corresponding
problem domain. In this work, considering that alternatives exist, we use controlled
experiments to discover which alternative transformation maximizes a given quality
attribute of the resulting target model (e.g., understandability).
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>A Controlled Experiment and its Replica</title>
      <p>In a previous work [1], we presented a controlled experiment to determine which of
the transformation rules for structural relationships: association (A1), aggregation
(A2), or association class (A3), obtained the easiest to understand UML class model.
The results show a slight tendency to favor the transformations related to associations
(A1). However, as Basili et al. [2] suggested relevant and credible results can only be
obtained by replicating the experiments. In other words, single studies rarely provide
definitive answers. Therefore, we carried out an internal strict replication (changing
only the subjects) to corroborate the findings. To provide an overall view of the
experimentation, we explain both the original experiment and the replica.</p>
      <sec id="sec-3-1">
        <title>3.1 Planning</title>
        <p>The participants in the original experiment were 39 fourth-year students in Computer
Science at the Universidad Politécnica de Valencia, who were taking part in the
second Software Engineering course. We took a “convenience sample” (i.e., all the
students in the class). The subjects had six month of experience in modeling with
UML and three years of experience in the OO paradigm. The subjects that
participated in the replica were a different group of 37 students from the same course.</p>
        <p>The independent variables for the experiments were the transformation rules for
structural relationships between classes (A1, A2 and A3). The dependent variable was
understandability. The experimental material and tasks consisted of:
• 9 Sequence Diagrams from three different case studies (a car rental system, a
hotel management system, and a singer contest system), with 3 UML class
models each. These were obtained by applying the alternative transformation
rules. The material used is available at: www.dsic.upv.es/~einsfran/experiment.
• Each Sequence Diagram had a questionnaire attached consisting of 6 Yes/No
questions to test the subjects’ understanding of the Sequence Diagrams. The
effectiveness of the subjects in answering the questionnaires (number of correct
answers by number of answers) was used to exclude those observations that did
not fulfill a minimum level of quality.
• Each of the three UML class models had a questionnaire attached (with 6
questions) for assessing which UML class model was best understood by the
subjects. In addition, the subjects had to write down the starting and ending times
for completing the questionnaires. For this purpose we used a wall clock. From
this understanding task, we obtained three measures for understandability:
Understandability Time, which reflects the time, in seconds, that the subjects
spent answering each questionnaire (calculated by the difference between the
ending time and the starting time). Each subject completed 4 questionnaires
detailing 3 alternatives (A1, A2 and A3). Three understandability time measures
(A1Time, A2Time and A3Time) were obtained.</p>
        <p>Effectiveness, which reflects the correctness of the answers (number of correct
answers by number of answers). Three understandability effectiveness measures
(A2Effec, A2Effec and A3Effec) were obtained.</p>
        <p>Efficiency, which reflects the correctness of the answers by time (number of
correct answers by understandability time). Three measures for understandability
efficiency (A2Effic, A2Effic and A3Effic) were obtained.
• The final task of each test asked the subjects which of the three alternative UML
class models best reflected the problem modeled in the Sequence Diagram. It is a
subjective measure (Alternative Selected) based on the subjects’ perception.</p>
        <p>The following hypotheses were formulated:
• H10: The use of different alternative transformations does not affect the</p>
        <p>Understandability Time (A1Time, A2Time and A3Time). H11=¬H10
• H20: The use of different alternative transformations does not affect the</p>
        <p>Understandability Effectiveness (A1Effec, A2Effec and A3Effec). H21=¬H20
• H30: The use of different alternative transformations does not affect the</p>
        <p>Understandability Efficiency (A1Effic, A2Effic and A3Effic). H31=¬H30
• H40: There is no correlation between the Alternative Selected and the means of
objective Understandability variables (Understandability Time, Effectiveness,
and Efficiency). H41= ¬H40</p>
        <p>We selected a balanced within-subject design, i.e., each subject received the same
experimental material.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Execution</title>
        <p>Both the original experiment and the replica started with an introductory session in
which we reviewed the main concepts of the Requirements Model (e.g., the notation
of Sequence Diagrams). The goal of the experiment was not disclosed to the subjects.
Then, we showed an example of the experimental material, which was similar to the
material they would use during the execution of the experiment.</p>
        <p>Each subject was assigned all the material, with the nine tests (balanced
withinsubject design). The models were assigned in different order to limit learning effects.
We showed them how to develop the experimental tasks, and they had a maximum of
two hours to complete all the tasks.</p>
        <p>After the experiment took place, we collected the experiment data, which consisted
of a table of 351 rows (9 models x 39 subjects) and 9 columns (A1Time, A2Time,
A3Time, A1Effec, A2Effec, A3Effec, A1Effic, A2Effec, A3Effec). The replica had
the same structure, but with 331 rows (9 models x 37 subjects). In both samples, we
performed a “data cleaning”, excluding the observations that were not complete
because the subjects had not written down the time or because the subjects did not
select the best alternative. All the questions were answered in each questionnaire,
thereby assuring the completeness of the performed tasks. We also excluded the
observations that had a value of effectiveness of 50% or less for each Sequence
Diagram. We considered that if the level of correct answers was low in relation to the
Sequence Diagram, the subjects had not really understood the model, and they would
probably not perform well in the following tasks, so we discarded them. Therefore,
the final data for testing the hypotheses were 325 observations for the original
experiment and 293 for the replica.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Data Analysis and Interpretation</title>
      <p>The following statistical analyses were performed to analyze the data: (1) a
descriptive study was done to characterize the variables Alternative Selected,
Understandability Time, Effectiveness, and Efficiency; (2) Hypotheses H1, H2, and
H3 were tested using an ANOVA test with repeated measures; (3) Hypothesis H4 was
tested using the Spearman correlation coefficient.</p>
      <p>We used SPSS to carry out the data analyses presented in this study. The
transformation most selected by the subjects was A1, i.e., the subjects believed that
the use of associations obtained the easiest to understand UML class model.
Association class (i.e., alternative A3) was the transformation that was least selected,
which reveals that it could be the least appropriate transformation.</p>
      <p>The descriptive statistics we carried out for Understandability Time, Effectiveness
and Efficiency suggest the following:
• Original Experiment. On average, the subjects spent less time performing the
tasks related to alternative A2; however, the difference with the others is not very
significant (≈ 8 seconds for A1 and A3). The subjects were more effective and
efficient performing the tasks related to alternative A1; however, the difference in
effectiveness with the other alternatives is not very significant.
• Replica. The measures related to A1 have the best values, which means that, on
average, the subjects spent less time and were more effective and more efficient
performing the tasks related to the class model that was obtained via associations.</p>
      <p>In summary, the descriptive statistics show a slight tendency in favor of A1, the
transformation based on associations. Surprisingly, the difference between the
minimum and maximum time values is significant. This may be due to the fact that
the subjects were novice modelers.</p>
      <p>To test the hypotheses presented in section 3.1, we carried out an ANOVA for
repeated measures, which is the appropriate statistical test for analyzing the collected
data [10]. Due to space constraints, we will briefly present the main findings obtained
through the ANOVA for each data sample:
• Original Experiment. We can reject hypotheses H10 (p = 0.0002), H20 (p =
0.0001), and H30 (p = 0.0005), with a significance level = 0.05. This means that
the use of different alternative transformations really affects understandability
time, effectiveness, and efficiency.
• Replica. We can reject H10 (p = 0.0028) and H20 (p = 0.0003), which means that
the use of one alternative or another does not affect efficiency but does affect
time and effectiveness when the subjects understand the class models.</p>
      <p>When planning the experiment, we designed it in such a way as to alleviate the
threats to the internal validity.</p>
      <p>One limitation to the external validity (i.e., the generalization of the findings) of
this study is the fact that the three alternative transformation rules cannot be applied
simultaneously to all modeling situations. For instance, to establish an association
class relationship (A3), at least one «service/new» message and two «connect»
messages are needed in the source model. The goal of this experimentation was to
gather empirical evidence for the specific case when the three alternative
transformations could be applied to obtain a relationship between classes. We are
aware that, more alternatives may be possible to represent structural relationships
between classes. More experimentation is needed to validate these other
combinations. Another limitation to the external validity might be the use of students
as experimental subjects. However, the students who participated in the experiment
can be considered to be representative of novice users of conceptual modeling
approaches. To increase external validity, the current study needs to be replicated
using experienced practitioners.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and Future Work</title>
      <p>This paper has presented an analysis of alternative model transformations and how
controlled experiments can be used to provide useful information to guide the
selection of transformations in an automated transformation process. In particular, we
presented the results of an experiment to gather evidence about which alternative
transformation produces the UML class model that is easiest to understand.</p>
      <p>The main findings obtained from the experimentation are the following: (a) the
transformation that was most selected in the original experiment and the replica was
the association transformation (A1); (b) the results of the replica confirm the results of
the original experiment for effectiveness. The subjects were more effective when they
understood the class models with association relationships; (c) the fact that the
hypothesis related to efficiency could not be confirmed in the replication has no great
impact on our approach since the transformations are automatically executed in a
Model Management framework (MOMENT) [3].</p>
      <p>These results show that there is a slight tendency to favor the use of association
relationships as part of an automated transformation process. A possible reason for
this could be that this relationship has less semantic strength than the other kinds of
relationships. When an aggregation relationship is chosen instead of an association
relationship, analysts know that they are defining a part-of relationship. In the case of
an association class, it is possible to represent almost the same relationship using two
association relationships. Although the results obtained can be quite obvious the
important point is the systematic approach presented to validate this ‘obvious’ results.
That the association relationship is more understandable than the aggregation
relationship or association classes is something that almost all the people can say but
until this moment no one has the data to confirm that result but merely by intuition.</p>
      <p>These preliminary results provided empirical evidence that can be further used to
define a domain-independent quality metamodel to drive the execution of model
transformations. Nevertheless, more replication is needed for building a body of
knowledge. We plan to replicate this experiment with practitioners. Future work also
includes the evaluation of the remaining transformations of the Transformation Rules
Catalog taking into account other quality attributes (e.g., usability, modifiability).
Acknowledgments. This research is part of the META project
TIN2006-15175-C0505, the MECENAS project PBI06-0024, and the IDONEO project PAC08-0160-6141.
10.
12.
13.
14.
15.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Abrahão</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Genero</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Insfran</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carsí</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramos</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Piattini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Quality-Driven Model</surname>
          </string-name>
          <article-title>Transformations: From Requirements to UML Class Diagrams</article-title>
          .
          <source>In: Model-Driven Software Development: Integrating Quality Assurance, IGI Publishing</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <source>In: IEEE Transactions on Software Engineering</source>
          ,
          <volume>25</volume>
          (
          <issue>4</issue>
          ):
          <fpage>435</fpage>
          -
          <lpage>437</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Boronat</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carsí</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramos</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Algebraic Specification of a Model Transformation Engine</article-title>
          . In: Fundamental Approaches to Software
          <source>Engineering (FASE'06)</source>
          . ETAPS'
          <volume>06</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Vienna</surname>
          </string-name>
          , Austria,
          <year>2006</year>
          , pp.
          <fpage>262</fpage>
          -
          <lpage>277</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <source>In: IBM Systems Journal</source>
          <volume>45</volume>
          (
          <issue>3</issue>
          ):
          <fpage>621</fpage>
          -
          <lpage>645</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Insfran</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>A Requirements Engineering Approach for Object-Oriented Conceptual Modeling</article-title>
          ,
          <source>PhD Thesis</source>
          , DSIC, Valencia University of Technology,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Insfran</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pastor</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wieringa</surname>
          </string-name>
          , R.:
          <article-title>Requirements Engineering-Based Conceptual Modelling</article-title>
          .
          <source>In: Journal of Requirements Engineering</source>
          <volume>7</volume>
          (
          <issue>2</issue>
          ):
          <fpage>61</fpage>
          -
          <lpage>72</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>ISO</surname>
          </string-name>
          , ISO/IEC 9126-1, (
          <year>2001</year>
          ).
          <article-title>Software Engineering - Product quality P1:Quality model</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Ivkovic</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kontogiannis</surname>
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>A Framework for Software Architecture Refactoring using Model Transformations and Semantic Annotations</article-title>
          .
          <source>In: Conf. on Software Maintenance and Reengineering</source>
          ,
          <year>2006</year>
          , pp.
          <fpage>135</fpage>
          -
          <lpage>144</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Kerhervé</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nguyen</surname>
            ,
            <given-names>K.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerbé</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jaumard</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A Framework for Quality-Driven Delivery in Distributed Multimedia Systems</article-title>
          .
          <source>In: AICT/ICIW</source>
          <year>2006</year>
          ,
          <year>2006</year>
          , pp.
          <fpage>195</fpage>
          -
          <lpage>205</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Kirk</surname>
            ,
            <given-names>R.E.</given-names>
          </string-name>
          :
          <article-title>Experimental design. Procedures for the behavioural sciences</article-title>
          . Brooks/Cole Publishing Company,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Kontio</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Architectural Manifesto: The MDA adoption manual</article-title>
          , (
          <year>2005</year>
          ), Accessible at http://www-128.ibm.com/ developerworks/wireless/library/wi-arch17.
          <article-title>html Kurtev, I.: Adaptability of Model Transformations</article-title>
          .
          <source>PhD Thesis</source>
          , Univ. of Twente,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Markovic</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baar</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Refactoring OCL Annotated UML Class Diagrams</article-title>
          .
          <source>In: 8th Int.</source>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <source>Conf. on Model Driven Engineering Languages and Systems</source>
          ,
          <year>2005</year>
          , pp.
          <fpage>280</fpage>
          -
          <lpage>294</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Merilinna</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A Tool for Quality-Driven Architecture Model Transformation</article-title>
          . In: Espoo, VTT Electronics,
          <source>VTT Publications</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Rottger</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zschaler</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Model-Driven Development for Non-functional Properties: Refinement Through Model Transformation</article-title>
          . In:
          <article-title>The Unified Modelling Language (UML) Conference</article-title>
          , LNCS Volume
          <volume>3273</volume>
          ,
          <year>2004</year>
          , pp.
          <fpage>275</fpage>
          -
          <lpage>289</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>