=Paper= {{Paper |id=Vol-297/paper-8 |storemode=property |title=A Framework for Incorporating Usability into Model Transformations |pdfUrl=https://ceur-ws.org/Vol-297/paper8.pdf |volume=Vol-297 |dblpUrl=https://dblp.org/rec/conf/models/ZhaoZ07 }} ==A Framework for Incorporating Usability into Model Transformations== https://ceur-ws.org/Vol-297/paper8.pdf
         A Framework for Incorporating Usability into Model
                         Transformations
                          Xulin Zhao                                                              Ying Zou
                 Queen’s University                                                     Queen’s University
  Department of Electrical and Computer Engineering                      Department of Electrical and Computer Engineering
                 Queen’s University                                                     Queen’s University
        Kingston, Ontario, Canada, K7L 3N6                                     Kingston, Ontario, Canada, K7L 3N6
                    4xz5@queensu.ca                                                     ying.zou@queensu.ca

ABSTRACT                                                               business objectives specified in the business process definitions.
The usability of user interfaces is crucial for the success of an      The dialog models define users’ interaction with the system. The
application. Model driven user interface (UI) development speeds       presentation models describe the visual appearance of UIs. We
up the production of UIs and improves the maintainability of UIs.      define rules to accomplish the transformation between models of
However, the usability evaluation of UIs is usually conducted by       different abstraction levels and generate UIs incrementally.
end-users or experts after UIs are generated. Such a user centric      Moreover, we apply usability models to guide the
evaluation is usually time consuming and expensive, especially         transformations. We interpret users’ usability goals to model
when the usability problems are detected in the last phase of the      constraints and use these constraints to guide the selection of
software development. In this paper, we propose a framework that       transformation rules. Eventually, we generate UIs that conform to
incorporates the usability evaluation as an integral part of           users’ usability expectations.
automatic processes for UI generation. To link the usability goal          The rest of the paper is organized as follows. Section 2
into the UI generation process, we model the usability using a         introduces the related work. Section 3 provides an overview of the
goal graph for each intermediate UI model and associate the            proposed framework. Section 4 illustrates the proposed
usability goals to the attributes of the models. Our proposed          framework using an example. Section 5 concludes the paper and
framework detects and addresses usability problems in the early        presents our plans for the future.
phase of the software development.
                                                                       2. RELATED WORK
1. INTRODUCTION                                                        A lot of researchers have addressed the problem of optimal UI
The user interface (UI) of an application provides an interactive      generation. Gajos et al. presented an approach of rendering user
environment for a user to communicate with the system. The             interfaces in [6]. In this approach, the UI render requires three
usability of UIs directly affects users’ satisfaction of an            inputs, including a UI specification, a device model, and a user
application. The success of an application depends on the              model. A UI specification is composed of a set of UI elements
usability of its UIs [1]. Surveys [2,3] show that the UI with poor     and a set of UI constraints. The device model contains available
usability is the major reason of frustration. However, the UI          widgets, constraints, and suitability evaluation functions of a
development is time consuming and expensive. On average, 50%           specific display device. The user model is defined by a set of user
of the development time is devoted to developing the UIs of an         events. A user event is comprised of a user element and their
application [4]. Approaches, such as UI management system              value variations in response to users’ interactions. The rendering
(UIMS) [5] and model based UI system [5], are proposed to              algorithm generates UIs with the minimal user effort. This
improve the development of UIs. A great deal of tools is               approach treats UI generation as an optimization problem and can
developed to assist the efficient development of UIs [5].              easily generate UIs for different devices. The UI specifications
However, studies [4, 8, 9] indicate that the evaluation of usability   used in this approach are equivalent to abstract presentation
is not well addressed due to the pressure of product deliverables      models. In our research, we incorporate usability into model
and limited budget. Usability evaluation techniques such as            based UI design and automatically generate UI models and
heuristic evaluation, cognitive walkthrough, user testing and          prototypes from business processes. In our work, the proposed
metrics (e.g., success rate, and error rate [10]) can only be          framework can generate different UI alternatives according to
conducted after the UIs are fully developed. Even though the           different user models and can be used as a preparation for the
GOMS (goal, operator, method and select rules) [11] approach           approach in [6].
does not require UI prototypes, it can only perform the evaluation         Sottet et al. have addressed the problem of preserving
on the detailed task specification which is often manually created.    usability during UI adaption [7]. This paper stands for the use of
    In our work, we aim to improve the usability of UIs using          adviser tools and classifies model transformations into two types:
model driven software development techniques. In our previous          predictive models and descriptive models. Predictive models can
work [12], we apply model driven development techniques to             reform UI models without ambiguous (e.g. f(x)=x+2 [7]).
automatically generate UIs from business process definitions.          Descriptive models are qualifiers (e.g. f(x)>x [7]). The reservation
Specifically, we use three declarative models, including task          of usability is achieved by well designed transformation models.
models, dialog models and presentation models to incrementally         In our approach, we define our transformation models using
generate UIs. The task models are used to model the                    transformation rules. All transformation rules are predictive. In
functionalities performed by users, in order to accomplish the         addition, we leverage usability goal graphs to model users’
usability expectations. Different users and devices generally have      learnability is affected by sub-goals, such as the complexity [15],
different usability requirements. Model constraints are mostly          consistency [17], and the structure of information grouping [17].
descriptive and can be changed during the UI development                For the usability goals, the leaves are a set of metrics used to
process. In the early stage of UI development, we generally are         directly or indirectly measure the usability or its sub-goals [8].
not clear about users’ expectations. In this case, we can set the       For example as shown in Figure 2, the complexity of a UI can be
boundaries of model constraints using empirical values. For             directly measured by a set of metrics, such as the number of
example, we can limit the number of widgets in a window to the          widgets in a window. The result of the complexity metrics
range from 3 to 20. As the development process advance, we will         indirectly indicates the usability of the UI.
make clear about users’ requirements. Then, we can set specific
values to model constraints.                                            3.2 Rule selection
                                                                        Rules are designed to transform one or more properties of the
3. INCORPORATING USABILITY GOALS                                        source models to a target model. From the usability point of view,
                                                                        applying a transformation rule must have certain impact on the
INTO MODEL TRANSFORMATIONS                                              usability of the target models. For example, verifying a shopping
The goal of the proposed framework is to decrease the cost of           cart and checking out are two UI distinct operations in an on-line
usability assessment of UI generation. The framework is depicted        shopping application. The two operations use the same data as
in Figure 1. Functional requirements and usability goals are            inputs (i.e., shopping cart information). These operations can be
modeled as constraints for the generated models. A set of               implemented into two separate windows which have their own
transformation rules is defined to generate models with different       copy of the shopping cart information. In this case, the user has to
levels of details and incrementally transform these models              review the shopping car information twice when performing these
towards the final code. We can select transformation rules that         two operations. Alternatively, a transformation rule can be
conform to the constraints on models and generate the final UI          defined to merge these two windows into one window if both
with high usability. The rule selection and model generation are        windows display the same information (e.g., shopping cart)
iterative process and continue till the usability goals are achieved.   required for triggering two distinct operations (e.g., verify the
In the following subsections, we illustrate the proposed                shopping cart and checkout). This merging transformation rule
framework that uses usability goals to guide the selection of           reduces the number of windows in a UI, and consequently
transformation rules.                                                   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)   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.
 Figure 1: A Framework for Incorporating Usability Goals into
                  Model Transformations                                 2)   The selected transformations have no conflicts with
                                                                             previously applied transformations. The usability attributes
3.1 Associating usability goals to the                                       are defined within a desirable range. For example, the
                                                                             number of widgets in a window generally needs to be less
constraints of the models                                                    than 20 widgets [18]. If the application of a transformation
In our research, we use model constraints (e.g., the number of
                                                                             makes a usability attribute fall below the desired range, we
widgets in a window is less than 20) to bridge the gap between the
                                                                             say that the transformation rule has conflicts with the
usability goals and the transformation rules. We represent the
                                                                             previously applied transformation rules. If a rule has no
associations between quality goals and model constraints using
                                                                             negative impact on a usability attribute or if the negative
goal graphs and hierarchical quality models [14]. Generally, a
                                                                             impact is within the acceptable range, we consider that the
goal is an objective or a desired state that a system can achieve. In
                                                                             transformation rule has no conflicts with the previously
the domain of software engineering, the goals are used to
                                                                             applied transformations. For example, adding widgets (e.g.,
elaborate functional and non-functional requirements [8,13]. A
                                                                             buttons or text fields) to a window will increase the number
goal is analyzed and decomposed into a set of sub-goals, which
                                                                             of widgets in a window. If the total number of widgets is still
have the AND- or OR-dependencies with the parent goal. We can
                                                                             less than 20, this transformation is acceptable.
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     4. AN EXAMPLE
presentation models. As specified in ISO/IEC 9126 [14], a               In this section, we use an example to demonstrate the steps that
usability can be achieved by a set of sub-goals, such as                generate the UI code from the presentation model in the proposed
memorability, learnability, and low error rate [10]. Each sub-goal      framework. We develop a prototype tool that guides the UI
can be further broken down to lower level goals. For example,           generation using the usability goal graph and evaluates the
                                                   Figure 2: An Example Usability Goal Graph
                                                                          major components needed for implementing a task (e.g.,
                                                                          searching a product, and creating a shopping cart). For example,




                Figure 3: Translated constraints
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.
    To generate source code of the UI, we apply transformations
                                                                                Figure 4: (a). The structure of a browse task pattern,
consecutively to move the initial business process definitions
                                                                                  (b). the tree implementation of the browse pattern,
towards the code. As a first step of generating code from the
                                                                                 (c). the table implementation of the browse pattern.
presentation model, we want to ensure that the structure of the
generated UI can ease a user to navigate thought the UI. For              Figure 4 (a) is a browse task pattern [16] in the Concurrent Task
example, a window of high usability should have a navigational            Tree [19] format. This pattern describes the major components
widget and a contextual guidance widget to support a user to              to implement a browsing functionality. The structure of the
fulfill business tasks. A navigational widget guides a user to            browser task pattern can be broken down into more detailed
transit between the windows for fulfilling the business tasks. A          components, including a multiple value form that displays one
contextual guidance widget displays the relevant information to           or more results, a scroll bar that allows a user to scroll down the
assist a user in performing the current task. For example, a user         result list and view the results, and a selection widget that
may purchase a book online. It is convenient for the user to              enables a user to select the result of interest.
search for the book if we can display all the relevant books for              Furthermore, we need to determine appropriate widgets to
the user in a window (i.e., widget). In addition to the widgets           implement the components defined in the browse pattern.
that are used for the user to complete the required tasks. The            Multiple alternative widgets can be used to implement the multi-
additional widgets can be added to guide the navigation and the           value output pattern in the browse pattern. Different widgets
task fulfillment in order to improve the user experience. In this         have different impact on the complexity of the generated
case, the lower bound of the number of widgets for each                   windows. In the simplest form, each output value can be
window can be set to three widgets because a window should                displayed using one label widget. The number of the output
have three widgets for the improved usability, including one              values is dependent on a particular context of the application.
widget that allow a user performs the task, one navigational              As the number of the output values increases, the more label
widget, and one contextual guidance widget. By considering the            widgets are needed to display the output values. Consequently,
usability goals (e.g., providing more guidance to the user), an           the complexity of the UI increases as the number of widgets
appropriate transformation rule is selected to define the                 grows. To keep the UI simple, a transformation rule can be
navigational structure of the UI and the major components in              defined to transform the multi-value patterns into a structured
each window.                                                              widget with defined boundaries. Figure 4 (b) and Figure 4 (c)
    To improve the usability of each window, we use the well-             are two possible implementations of the browse task pattern.
designed task patterns to implement the business tasks                    Figure 4 (b) implements the pattern using a tree widget and
performed in each window. The task patterns document the                  Figure 4 (c) implements the browse pattern using a table widget.
    To ensure that the generated windows follow the consistent         [4]. BA. MYERS, and MB. ROSSON. Survey on user interface
look-and-feel for the same task the applications, the                       programming. In Human Factors in Computing Systems, In
transformations select the most appropriate widgets that                    Proc. of SIGCHI ACM, New York (1992), pp. 195–202.
implement a task pattern and apply this selection throughout the       [5]. B. Myers SE. Hudson, and R. Pausch. Past, Present, and
UI generation process. By comparing Figure 4 (b) with Figure 4              Future of User Interface Software Tools, ACM TOCHI
(c), we can observe that a table widget is more suitable to                 (2000), no. 1, pp. 3-28.
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          [6]. K. Gajos and DS. Weld. SUPPLE: Automatically
widget. Therefore, all browse patterns are transformed to table             Generating User Interfaces. In Proc. of IUI (2004), pp. 93.
widgets patterns as a default transformation rule. A UI                [7]. JS. Sottet, G. Calvary, and JM. Favre. Mapping Model: A
developer can customize the default widgets of task patterns.               First Step to Ensure Usability for sustaining User Interface
    The generated UI may not be able to achieve all of the                  Plasticity. 2nd Int. Workshop on MDDAUI, CEUR
usability sub-goals. We generate alternative UIs based on                   Proceedings (2006), vol. 214
different selection of transformation rules. The prototype tool        [8]. Y. Zou and K. Kontogiannis. Migration to Object Oriented
automatically computes the usability metrics to estimate the                Platforms: A State Transformation Approach, In Proc. of
achievement of the goal for each UI alternative. For example as             the 19th IEEE Int. Conf. on Software Maintenance (2002)
shown in Figure 5, the UI for each business process can be
                                                                       [9]. L. Bass, BE. John, N. Juristo, and MI. Sanchez. Usability-
analyzed to estimate the level of conformance to the usability
                                                                            supporting Architectural Patterns, In Proc. of 26th Int.
goal.
                                                                            Conf. on Software Engineering ICSE (2004), pp. 716-717.
                                                                       [10]. J. Nielsen. Usability Engineering, Academic Press (1993).
                                                                       [11]. BE. John and DE. Kieras. The GOMS family of analysis
                                                                             techniques: Comparison and contrast, ACM TOCHI (1996),
                                                                             pp. 320–351
                                                                       [12]. X. Zhao, Y. Zou, J. Hawkins and B. Madapusi. A Business
                                                                             Process Driven Approach for Generating E-Commerce
                                                                             User Interfaces, ACM/IEEE 10th Int. Conf. on Model
          Figure 5: Sample Results for Rule Selection                        Driven Engineering Languages and Systems (2007).
                                                                       [13]. P. Giorgini, J. Mylopoulos, E. Nicchiarelli and R.
5. CONCLUSION AND FUTURE WORK                                                Sebastiani1. Reasoning with Goal Models, In Proc. of the
In this paper, we present a framework for incorporating the                  21st Int. Conf. on Conceptual Modeling (2002).
usability goals into the model transformations. We aim to              [14]. ISO/IEC9126: Information Technology - Software Product
evaluate the usability in the early stage of model transformation            Quality. Part 1: Quality Model (1998).
instead of deferring the usability evaluation when the UI is fully
developed. We develop a prototype to demonstrate the                   [15]. MF. Bertoa, JM. Troya and A. Vallecillo. Measuring the
feasibility of the proposed framework. An example is used to                 Usability of Software Components, Journal of Systems and
illustrate the result of our prototype tool. We use a set of metrics         Software (2006), vol. 79, no. 3, pp. 427-439.
to evaluate the usability of the generated UI.                         [16]. D.Sinnig, H. Javahery, P. Forbrig,, and A. Seffah. The
    In the future, we plan to conduct more case studies to refine            Complicity of Model-Based Approaches and Patterns for
the proposed framework. We also want to recruit the users to                 UI Engineering, In Proc. of BIR’03 (2003), pp. 120-131
evaluate the usability of the generated UI. The feedback from          [17]. S. Abrahão and E. Insfran. Early Usability Evaluation in
the users can help to refine the usability goal graphs and the               Model Driven Architecture Environments, Sixth Int. Conf.
selection of transformation rules. We will improve the                       on Quality Software (2006), pp. 287-294
customizability of the framework, so that users can integrate          [18]. M. Elkoutbi and RK. Keller. User Interface Prototyping
their own UI widgets, UI patterns, usability criteria and metrics            Based on UML Scenarios and High-Level Petri Nets. In
into the UI generation process.                                              Proc. of ICATPN (2000): LNCS 1825, Pages 166–186
                                                                       [19]. F. Paternò. Model-Based Design and Evaluation of
6. REFERENCES                                                                Interactive Applications. Springer Verlag, ISBN 1-85233-
[1]. D. Stone, C. Jarrett, M. Woodroffe and S. Minocha. User                 155-0 (2000)
     Interface Design and Evaluation, Morgan Kaufmann, Los
     Altos, CA, (2005) ISBN 0-12-088436-4.
[2]. P. Jackson, J. Favier and I. Stagia. Segmenting Europe’s
     Mobile Consumers, Forrester Research Technographics®
     Report (2002).
[3]. M. Ramsay and J. Nielsen. WAP Usability Report, Nielsen
     Norman Group (2000).