<!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>A Framework for Incorporating Usability into Model Transformations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Xulin Zhao</string-name>
          <email>4xz5@queensu.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ying Zou</string-name>
          <email>ying.zou@queensu.ca</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Queen's University, Department of Electrical and Computer Engineering, Queen's University</institution>
          ,
          <addr-line>Kingston, Ontario</addr-line>
          ,
          <country country="CA">Canada</country>
          ,
          <addr-line>K7L 3N6</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Queen's University, Department of Electrical and Computer Engineering, Queen's University</institution>
          ,
          <addr-line>Kingston, Ontario</addr-line>
          ,
          <country country="CA">Canada</country>
          ,
          <addr-line>K7L 3N6</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>The usability of user interfaces is crucial for the success of an application. Model driven user interface (UI) development speeds up the production of UIs and improves the maintainability of UIs. However, the usability evaluation of UIs is usually conducted by end-users or experts after UIs are generated. Such a user centric evaluation is usually time consuming and expensive, especially when the usability problems are detected in the last phase of the software development. In this paper, we propose a framework that incorporates the usability evaluation as an integral part of automatic processes for UI generation. To link the usability goal into the UI generation process, we model the usability using a goal graph for each intermediate UI model and associate the usability goals to the attributes of the models. Our proposed framework detects and addresses usability problems in the early phase of the software development.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        The user interface (UI) of an application provides an interactive
environment for a user to communicate with the system. The
usability of UIs directly affects users’ satisfaction of an
application. The success of an application depends on the
usability of its UIs [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Surveys [
        <xref ref-type="bibr" rid="ref2 ref3">2,3</xref>
        ] show that the UI with poor
usability is the major reason of frustration. However, the UI
development is time consuming and expensive. On average, 50%
of the development time is devoted to developing the UIs of an
application [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Approaches, such as UI management system
(UIMS) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and model based UI system [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], are proposed to
improve the development of UIs. A great deal of tools is
developed to assist the efficient development of UIs [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
However, studies [
        <xref ref-type="bibr" rid="ref4 ref8 ref9">4, 8, 9</xref>
        ] indicate that the evaluation of usability
is not well addressed due to the pressure of product deliverables
and limited budget. Usability evaluation techniques such as
heuristic evaluation, cognitive walkthrough, user testing and
metrics (e.g., success rate, and error rate [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]) can only be
conducted after the UIs are fully developed. Even though the
GOMS (goal, operator, method and select rules) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] approach
does not require UI prototypes, it can only perform the evaluation
on the detailed task specification which is often manually created.
      </p>
      <p>
        In our work, we aim to improve the usability of UIs using
model driven software development techniques. In our previous
work [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], we apply model driven development techniques to
automatically generate UIs from business process definitions.
Specifically, we use three declarative models, including task
models, dialog models and presentation models to incrementally
generate UIs. The task models are used to model the
functionalities performed by users, in order to accomplish the
business objectives specified in the business process definitions.
The dialog models define users’ interaction with the system. The
presentation models describe the visual appearance of UIs. We
define rules to accomplish the transformation between models of
different abstraction levels and generate UIs incrementally.
Moreover, we apply usability models to guide the
transformations. We interpret users’ usability goals to model
constraints and use these constraints to guide the selection of
transformation rules. Eventually, we generate UIs that conform to
users’ usability expectations.
      </p>
      <p>The rest of the paper is organized as follows. Section 2
introduces the related work. Section 3 provides an overview of the
proposed framework. Section 4 illustrates the proposed
framework using an example. Section 5 concludes the paper and
presents our plans for the future.</p>
    </sec>
    <sec id="sec-2">
      <title>2. RELATED WORK</title>
      <p>
        A lot of researchers have addressed the problem of optimal UI
generation. Gajos et al. presented an approach of rendering user
interfaces in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. In this approach, the UI render requires three
inputs, including a UI specification, a device model, and a user
model. A UI specification is composed of a set of UI elements
and a set of UI constraints. The device model contains available
widgets, constraints, and suitability evaluation functions of a
specific display device. The user model is defined by a set of user
events. A user event is comprised of a user element and their
value variations in response to users’ interactions. The rendering
algorithm generates UIs with the minimal user effort. This
approach treats UI generation as an optimization problem and can
easily generate UIs for different devices. The UI specifications
used in this approach are equivalent to abstract presentation
models. In our research, we incorporate usability into model
based UI design and automatically generate UI models and
prototypes from business processes. In our work, the proposed
framework can generate different UI alternatives according to
different user models and can be used as a preparation for the
approach in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        Sottet et al. have addressed the problem of preserving
usability during UI adaption [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. This paper stands for the use of
adviser tools and classifies model transformations into two types:
predictive models and descriptive models. Predictive models can
reform UI models without ambiguous (e.g. f(x)=x+2 [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]).
Descriptive models are qualifiers (e.g. f(x)&gt;x [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]). The reservation
of usability is achieved by well designed transformation models.
In our approach, we define our transformation models using
transformation rules. All transformation rules are predictive. In
addition, we leverage usability goal graphs to model users’
usability expectations. Different users and devices generally have
different usability requirements. Model constraints are mostly
descriptive and can be changed during the UI development
process. In the early stage of UI development, we generally are
not clear about users’ expectations. In this case, we can set the
boundaries of model constraints using empirical values. For
example, we can limit the number of widgets in a window to the
range from 3 to 20. As the development process advance, we will
make clear about users’ requirements. Then, we can set specific
values to model constraints.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. INCORPORATING USABILITY GOALS</title>
    </sec>
    <sec id="sec-4">
      <title>INTO MODEL TRANSFORMATIONS</title>
      <p>The goal of the proposed framework is to decrease the cost of
usability assessment of UI generation. The framework is depicted
in Figure 1. Functional requirements and usability goals are
modeled as constraints for the generated models. A set of
transformation rules is defined to generate models with different
levels of details and incrementally transform these models
towards the final code. We can select transformation rules that
conform to the constraints on models and generate the final UI
with high usability. The rule selection and model generation are
iterative process and continue till the usability goals are achieved.
In the following subsections, we illustrate the proposed
framework that uses usability goals to guide the selection of
transformation rules.</p>
    </sec>
    <sec id="sec-5">
      <title>3.1 Associating usability goals to the constraints of the models</title>
      <p>
        In our research, we use model constraints (e.g., the number of
widgets in a window is less than 20) to bridge the gap between the
usability goals and the transformation rules. We represent the
associations between quality goals and model constraints using
goal graphs and hierarchical quality models [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Generally, a
goal is an objective or a desired state that a system can achieve. In
the domain of software engineering, the goals are used to
elaborate functional and non-functional requirements [
        <xref ref-type="bibr" rid="ref13 ref8">8,13</xref>
        ]. A
goal is analyzed and decomposed into a set of sub-goals, which
have the AND- or OR-dependencies with the parent goal. We can
produce a dependency graph to represent the dependencies
between the goal and its sub-goals. As depicted in Figure 2, an
example usability goal graph is used to guide the generation of the
presentation models. As specified in ISO/IEC 9126 [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], a
usability can be achieved by a set of sub-goals, such as
memorability, learnability, and low error rate [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Each sub-goal
can be further broken down to lower level goals. For example,
learnability is affected by sub-goals, such as the complexity [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ],
consistency [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], and the structure of information grouping [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
For the usability goals, the leaves are a set of metrics used to
directly or indirectly measure the usability or its sub-goals [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
For example as shown in Figure 2, the complexity of a UI can be
directly measured by a set of metrics, such as the number of
widgets in a window. The result of the complexity metrics
indirectly indicates the usability of the UI.
      </p>
    </sec>
    <sec id="sec-6">
      <title>3.2 Rule selection</title>
      <p>Rules are designed to transform one or more properties of the
source models to a target model. From the usability point of view,
applying a transformation rule must have certain impact on the
usability of the target models. For example, verifying a shopping
cart and checking out are two UI distinct operations in an on-line
shopping application. The two operations use the same data as
inputs (i.e., shopping cart information). These operations can be
implemented into two separate windows which have their own
copy of the shopping cart information. In this case, the user has to
review the shopping car information twice when performing these
two operations. Alternatively, a transformation rule can be
defined to merge these two windows into one window if both
windows display the same information (e.g., shopping cart)
required for triggering two distinct operations (e.g., verify the
shopping cart and checkout). This merging transformation rule
reduces the number of windows in a UI, and consequently
improves the usability by removing the redundant interactions
between the user and the application. To decide the most proper
transformation rules to apply, we evaluate the impact on the
usability before applying a rule to the source model. More
specifically, we consider the following two heuristics for selecting
a transformation rule:
1)
2)</p>
      <p>If the usability attributes of a model cannot meet the
specified usability goals, we select the transformation rules
that can improve the usability of the model. For example, it
is more efficient for a user to complete a business process
through fewer window transitions. Therefore, we must apply
transformation rules that can produce the shortest path length
for fulfilling a task.</p>
      <p>
        The selected transformations have no conflicts with
previously applied transformations. The usability attributes
are defined within a desirable range. For example, the
number of widgets in a window generally needs to be less
than 20 widgets [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. If the application of a transformation
makes a usability attribute fall below the desired range, we
say that the transformation rule has conflicts with the
previously applied transformation rules. If a rule has no
negative impact on a usability attribute or if the negative
impact is within the acceptable range, we consider that the
transformation rule has no conflicts with the previously
applied transformations. For example, adding widgets (e.g.,
buttons or text fields) to a window will increase the number
of widgets in a window. If the total number of widgets is still
less than 20, this transformation is acceptable.
      </p>
    </sec>
    <sec id="sec-7">
      <title>4. AN EXAMPLE</title>
      <p>In this section, we use an example to demonstrate the steps that
generate the UI code from the presentation model in the proposed
framework. We develop a prototype tool that guides the UI
generation using the usability goal graph and evaluates the
major components needed for implementing a task (e.g.,
searching a product, and creating a shopping cart). For example,
usability of generated models (e.g., code). Each model has
constraints with the acceptable thresholds for the metrics (i.e.,
the leaves in the usability goal graph). For example, we set the
upper bound of the number of widgets per window to 20. We
measure the usability goals using a set of metrics, as shown in
Figure 3.</p>
      <p>To generate source code of the UI, we apply transformations
consecutively to move the initial business process definitions
towards the code. As a first step of generating code from the
presentation model, we want to ensure that the structure of the
generated UI can ease a user to navigate thought the UI. For
example, a window of high usability should have a navigational
widget and a contextual guidance widget to support a user to
fulfill business tasks. A navigational widget guides a user to
transit between the windows for fulfilling the business tasks. A
contextual guidance widget displays the relevant information to
assist a user in performing the current task. For example, a user
may purchase a book online. It is convenient for the user to
search for the book if we can display all the relevant books for
the user in a window (i.e., widget). In addition to the widgets
that are used for the user to complete the required tasks. The
additional widgets can be added to guide the navigation and the
task fulfillment in order to improve the user experience. In this
case, the lower bound of the number of widgets for each
window can be set to three widgets because a window should
have three widgets for the improved usability, including one
widget that allow a user performs the task, one navigational
widget, and one contextual guidance widget. By considering the
usability goals (e.g., providing more guidance to the user), an
appropriate transformation rule is selected to define the
navigational structure of the UI and the major components in
each window.</p>
      <p>To improve the usability of each window, we use the
welldesigned task patterns to implement the business tasks
performed in each window. The task patterns document the</p>
      <p>
        Figure 4 (a) is a browse task pattern [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] in the Concurrent Task
Tree [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] format. This pattern describes the major components
to implement a browsing functionality. The structure of the
browser task pattern can be broken down into more detailed
components, including a multiple value form that displays one
or more results, a scroll bar that allows a user to scroll down the
result list and view the results, and a selection widget that
enables a user to select the result of interest.
      </p>
      <p>Furthermore, we need to determine appropriate widgets to
implement the components defined in the browse pattern.
Multiple alternative widgets can be used to implement the
multivalue output pattern in the browse pattern. Different widgets
have different impact on the complexity of the generated
windows. In the simplest form, each output value can be
displayed using one label widget. The number of the output
values is dependent on a particular context of the application.
As the number of the output values increases, the more label
widgets are needed to display the output values. Consequently,
the complexity of the UI increases as the number of widgets
grows. To keep the UI simple, a transformation rule can be
defined to transform the multi-value patterns into a structured
widget with defined boundaries. Figure 4 (b) and Figure 4 (c)
are two possible implementations of the browse task pattern.
Figure 4 (b) implements the pattern using a tree widget and
Figure 4 (c) implements the browse pattern using a table widget.</p>
      <p>To ensure that the generated windows follow the consistent
look-and-feel for the same task the applications, the
transformations select the most appropriate widgets that
implement a task pattern and apply this selection throughout the
UI generation process. By comparing Figure 4 (b) with Figure 4
(c), we can observe that a table widget is more suitable to
implement the browse pattern than a tree widget, for the reason
that a user can read all output values at a glance in a table
widget. Therefore, all browse patterns are transformed to table
widgets patterns as a default transformation rule. A UI
developer can customize the default widgets of task patterns.</p>
      <p>The generated UI may not be able to achieve all of the
usability sub-goals. We generate alternative UIs based on
different selection of transformation rules. The prototype tool
automatically computes the usability metrics to estimate the
achievement of the goal for each UI alternative. For example as
shown in Figure 5, the UI for each business process can be
analyzed to estimate the level of conformance to the usability
goal.</p>
    </sec>
    <sec id="sec-8">
      <title>5. CONCLUSION AND FUTURE WORK</title>
      <p>In this paper, we present a framework for incorporating the
usability goals into the model transformations. We aim to
evaluate the usability in the early stage of model transformation
instead of deferring the usability evaluation when the UI is fully
developed. We develop a prototype to demonstrate the
feasibility of the proposed framework. An example is used to
illustrate the result of our prototype tool. We use a set of metrics
to evaluate the usability of the generated UI.</p>
      <p>In the future, we plan to conduct more case studies to refine
the proposed framework. We also want to recruit the users to
evaluate the usability of the generated UI. The feedback from
the users can help to refine the usability goal graphs and the
selection of transformation rules. We will improve the
customizability of the framework, so that users can integrate
their own UI widgets, UI patterns, usability criteria and metrics
into the UI generation process.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>. D.</given-names>
            <surname>Stone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Jarrett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Woodroffe</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Minocha</surname>
          </string-name>
          .
          <source>User Interface Design and Evaluation</source>
          , Morgan Kaufmann, Los Altos, CA, (
          <year>2005</year>
          ) ISBN 0-12-088436-4.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>. P.</given-names>
            <surname>Jackson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Favier</surname>
          </string-name>
          and
          <string-name>
            <given-names>I. Stagia. Segmenting</given-names>
            <surname>Europe's Mobile</surname>
          </string-name>
          <string-name>
            <surname>Consumers</surname>
          </string-name>
          ,
          <source>Forrester Research Technographics® Report</source>
          (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>. M.</given-names>
            <surname>Ramsay</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Nielsen</surname>
          </string-name>
          .
          <source>WAP Usability Report</source>
          , Nielsen Norman Group (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>[4]. BA. MYERS, and MB</article-title>
          . ROSSON.
          <article-title>Survey on user interface programming</article-title>
          .
          <source>In Human Factors in Computing Systems, In Proc. of SIGCHI ACM</source>
          , New York (
          <year>1992</year>
          ), pp.
          <fpage>195</fpage>
          -
          <lpage>202</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]. B.
          <string-name>
            <surname>Myers SE. Hudson</surname>
            , and
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Pausch</surname>
          </string-name>
          . Past, Present, and
          <article-title>Future of User Interface Software Tools</article-title>
          ,
          <string-name>
            <surname>ACM TOCHI</surname>
          </string-name>
          (
          <year>2000</year>
          ), no.
          <issue>1</issue>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>28</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <article-title>[6]. K. Gajos and DS</article-title>
          . Weld.
          <article-title>SUPPLE: Automatically Generating User Interfaces</article-title>
          .
          <source>In Proc. of IUI</source>
          (
          <year>2004</year>
          ), pp.
          <fpage>93</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]. JS. Sottet, G. Calvary, and JM. Favre.
          <article-title>Mapping Model: A First Step to Ensure Usability for sustaining User Interface Plasticity</article-title>
          .
          <source>2nd Int. Workshop on MDDAUI, CEUR Proceedings</source>
          (
          <year>2006</year>
          ), vol.
          <volume>214</volume>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8].
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zou</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Kontogiannis</surname>
          </string-name>
          .
          <article-title>Migration to Object Oriented Platforms: A State Transformation Approach</article-title>
          ,
          <source>In Proc. of the 19th IEEE Int. Conf. on Software Maintenance</source>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]. L. Bass, BE. John, N. Juristo, and MI.
          <string-name>
            <surname>Sanchez</surname>
          </string-name>
          . Usabilitysupporting Architectural Patterns,
          <source>In Proc. of 26th Int. Conf. on Software Engineering ICSE</source>
          (
          <year>2004</year>
          ), pp.
          <fpage>716</fpage>
          -
          <lpage>717</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10].
          <string-name>
            <given-names>J.</given-names>
            <surname>Nielsen</surname>
          </string-name>
          . Usability Engineering, Academic Press (
          <year>1993</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]. BE. John and DE. Kieras.
          <article-title>The GOMS family of analysis techniques: Comparison and contrast</article-title>
          ,
          <source>ACM TOCHI</source>
          (
          <year>1996</year>
          ), pp.
          <fpage>320</fpage>
          -
          <lpage>351</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12].
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hawkins</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Madapusi</surname>
          </string-name>
          .
          <article-title>A Business Process Driven Approach for Generating E-Commerce User Interfaces</article-title>
          ,
          <source>ACM/IEEE 10th Int. Conf. on Model Driven Engineering Languages and Systems</source>
          (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13
          <string-name>
            <given-names>]. P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Nicchiarelli</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Sebastiani1</surname>
          </string-name>
          .
          <article-title>Reasoning with Goal Models</article-title>
          ,
          <source>In Proc. of the 21st Int. Conf. on Conceptual Modeling</source>
          (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <source>[14]. ISO/IEC9126: Information Technology - Software Product Quality. Part</source>
          <volume>1</volume>
          :
          <string-name>
            <given-names>Quality</given-names>
            <surname>Model</surname>
          </string-name>
          (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]. MF. Bertoa, JM. Troya and
          <string-name>
            <given-names>A.</given-names>
            <surname>Vallecillo</surname>
          </string-name>
          .
          <article-title>Measuring the Usability of Software Components</article-title>
          ,
          <source>Journal of Systems and Software</source>
          (
          <year>2006</year>
          ), vol.
          <volume>79</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>427</fpage>
          -
          <lpage>439</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16].
          <string-name>
            <given-names>D.</given-names>
            <surname>Sinnig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Javahery</surname>
          </string-name>
          , P. Forbrig,,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Seffah</surname>
          </string-name>
          .
          <article-title>The Complicity of Model-Based Approaches and Patterns for UI Engineering</article-title>
          ,
          <source>In Proc. of BIR'03</source>
          (
          <year>2003</year>
          ), pp.
          <fpage>120</fpage>
          -
          <lpage>131</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17].
          <string-name>
            <given-names>S.</given-names>
            <surname>Abrahão</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Insfran</surname>
          </string-name>
          .
          <article-title>Early Usability Evaluation in Model Driven Architecture Environments</article-title>
          ,
          <source>Sixth Int. Conf. on Quality Software</source>
          (
          <year>2006</year>
          ), pp.
          <fpage>287</fpage>
          -
          <lpage>294</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]. M.
          <article-title>Elkoutbi and RK</article-title>
          . Keller.
          <article-title>User Interface Prototyping Based on UML Scenarios and High-Level Petri Nets</article-title>
          .
          <source>In Proc. of ICATPN</source>
          (
          <year>2000</year>
          ):
          <article-title>LNCS 1825</article-title>
          , Pages
          <fpage>166</fpage>
          -
          <lpage>186</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19].
          <string-name>
            <given-names>F.</given-names>
            <surname>Paternò</surname>
          </string-name>
          .
          <article-title>Model-Based Design and Evaluation of Interactive Applications</article-title>
          .
          <source>Springer Verlag, ISBN 1-85233- 155-0</source>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>