=Paper= {{Paper |id=Vol-1380/paper6 |storemode=property |title=Model-driven UI Development Integrating HCI Patterns |pdfUrl=https://ceur-ws.org/Vol-1380/paper6.pdf |volume=Vol-1380 |dblpUrl=https://dblp.org/rec/conf/eics/YigitbasM015 }} ==Model-driven UI Development Integrating HCI Patterns== https://ceur-ws.org/Vol-1380/paper6.pdf
      Model-driven UI Development integrating HCI Patterns
            Enes Yigitbas                                   Bastian Mohrmann                               Stefan Sauer
       University of Paderborn                             University of Paderborn                    University of Paderborn
    s-lab – Software Quality Lab                            basti86@mail.upb.de                    s-lab – Software Quality Lab
       eyigitbas@s-lab.upb.de                                                                           sauer@s-lab.upb.de
ABSTRACT                                                                     the lack of usability of automatically generated user
An important criterion for user acceptance of interactive                    interfaces. However, this solution entails two problems.
systems is software ergonomics. Therefore, a variety of HCI
or usability patterns has been defined in the past. Although                 The first is that HCI patterns are mostly described informally
HCI patterns promise reusable best-practice solutions, the                   in practice (1). However, model-driven approaches are based
lack of formalization and effective tool support hinder their                on formalisms like MOF meta-models or XML schemes.
usage in a model-driven development process. To overcome                     These formalisms are needed for automatized model-to-
this deficit, we propose a model-driven user interface                       model and model-to-code transformations. The second
development (MDUID) process that integrates HCI patterns.                    problem is that there is barely no tool support for applying or
For showing the feasibility of our approach, we formalized                   instantiating HCI patterns, particularly GUI patterns in
and implemented a set of GUI patterns, a particular category                 practice (2). In [3] it is reasoned that the lack of tools
of HCI patterns, based on IFML. We present our pattern                       “hinders the use of HCI patterns within fully automated
application concept and our tool-support based on a                          processes”, like the MDUID approach.
customized MDUID process for generating rich internet                        In this work, we design and implement a customized
applications (RIAs).                                                         MDUID process that integrates GUI patterns. The remainder
Author Keywords                                                              of this paper is structured as following: First, we describe
HCI, Model-driven UI Development, Pattern, GUI Pattern                       related work in the area of MDUID and HCI pattern
                                                                             integration approaches. Then we present our GUI pattern
ACM Classification Keywords                                                  catalog and its formalization based on the abstract user
H.5: Information interfaces and presentation (e.g., HCI):                    interface language IFML. Afterwards we explain the
H.5.2: User Interfaces.                                                      implementation of our approach and the corresponding tool-
INTRODUCTION                                                                 support. In the end, we conclude our own contributions and
An important criterion for user acceptance and user                          outline future research activities.
experience, particularly in the context of interactive systems,              RELATED WORK
is software ergonomics. Therefore, a variety of HCI and                      Focusing on the topic of model-driven UI development
usability patterns has been defined in the past [1]. Similar to              (MDUID) integrating HCI patterns, multiple aspects have to
software development patterns, HCI patterns are reusable                     be taken into account. Therefore our work is related to and
best-practice solutions. The difference is that HCI patterns                 influenced by a broad range of research fields in order to
address the usability domain and the improvement of                          overcome the gap between HCI and MDUID. In the
software ergonomics rather than general software                             following we will briefly sum up existing MDUID
architecture or code structure. One particular category of                   approaches and pattern integration approaches and set them
HCI patterns are GUI patterns. In [2] GUI patterns are                       in relation to our own solution.
described as patterns that “specify one or more abstract
interaction objects, their relationships, and their interactive              MDUID Approaches
behavior” and that these patterns “are primarily aimed at                    MDUID brings together two subareas of software
good usability”. The integration of GUI patterns in the                      development, which are model-driven development (MDD)
MDUID process appears to be a promising way to overcome                      and user interface development (UID). The core idea behind
                                                                             MDUID is to automatize the development process of UI
                                                                             development by making the models the primary artifact in
Workshop on Large-scale and model-based Interactive Systems:                 the development process rather than application code. An
Approaches and Challenges, June 23 2015, Duisburg, Germany.
Copyright © 2015 for the individual papers by the papers’ authors. Copying   MDUID process usually involves multiple UI models on
permitted only for private and academic purposes. This volume is published   different levels of abstractions that are stepwise transformed
and copyrighted by its editors.                                              to the final user interfaces by model transformations.
                                                                             The CAMELEON Reference Framework (CRF) [4] provides
                                                                             a unified reference framework for MDUID differentiating
                                                                             between the abstraction levels Task & Concept, Abstract
                                                                             User Interface (AUI), Concrete User Interface (CUI) and
                                                                             Final User Interface (FUI).
There are various state-of-the-art modeling languages for         patterns by representing them in automatic model
covering the different abstraction levels of the CRF. For         transformations.
example MARIA XML (Model-based lAnguage foR
Interactive Applications) [5] and IFML (Interaction Flow
                                                                  PATTERN INTEGRATION CONCEPT
Modeling Language) [6] provide both an AUI modeling               In order to overcome the previously mentioned problems (1)
language and a tool-support to create and edit AUI models.        and (2), a general concept for integrating patterns in MDUID
Based on these AUI models further transformations can be          was developed that aims at increasing the usability of
performed to transform them into platform-specific CUI            generated user interfaces. The main goal of this concept is
models which eventually are needed for generating the final       the automatized application of GUI patterns within a model-
user interfaces (FUI). The described MDUID approaches             driven process. Therefore, the CRF was extended by
enable the specification and also support the generation of       instantiation parameters and application conditions of GUI
UIs, but they do not offer explicit mechanisms for specifying     patterns like depicted in figure 1. Let us start with a short
HCI patterns like GUI patterns. Therefore the existing            explanation concerning these two terms.
MDUID tools show a lack of pattern formalization,
instantiation and tight integration in the development
process.
Pattern Integration Approaches
Engel [7] presents the concept of the PaMGIS (Pattern-Based
Modeling and Generation of Interactive Systems) framework
for pattern-based modeling. The PaMGIS framework
combines model-based and pattern-based approaches on
different levels of abstraction. The core component of the
framework is the pattern repository, a collection of
``different types of patterns and pattern languages''. Within
the repository, the patterns are described by the PPSL                Figure 1. Overview of the pattern integration concept
(PaMGIS Pattern Specification Language). Beside the
definition of HCI patterns, their meaning, their idea etc.,
                                                                  Following the concepts of Wendler [12] and Radeke et al.
PPSL also provides means to define relations between
                                                                  [8], GUI patterns consist of a static and a dynamic part. The
pattern models and other models. Such relations contain
                                                                  static part of a pattern describes the core solution idea of the
information about the particular pattern, the related FUI,
                                                                  pattern and can contain information about navigation, user
(hierarchical) relationships to other patterns and back links
                                                                  interface elements or layout. It does not change among
to other object-oriented models, e.g. an AUI or CUI model
                                                                  application scenarios. The dynamic part, however, depends
of the interactive system. This information is necessary for
                                                                  on the prevailing pattern application context and therefore
model-to-model and model-to-code transformations.
                                                                  has to be set during the user interface modelling process.
However, the PaMGIS approach leaves two issues open.
                                                                  Since these dynamic parts determine the instantiation of a
First, it does not become completely clear if the mentioned
                                                                  pattern, Wendler defines them as the instantiation
model-to-code transformation can be defined on the model
                                                                  parameters. The second important aspect is given by the
level or has to be defined for each instance over and over
                                                                  conditions under which a pattern is advisable. In order to
again. Secondly, no concepts for data binding have been
                                                                  decide, when which pattern shall be applied, so-called
discussed in this approach.
                                                                  pattern application conditions are helpful. Pattern application
Radeke [8] proposes in his work a pattern application             conditions are formal and describe situations in which a
framework that describes a general concept of how patterns        specific GUI pattern is reasonable. The advantage of
can be integrated in model-based approaches. This                 formalised conditions is that they can be validated
framework relies on three phases. In the first phase the user     automatically, e.g. in the model-driven transformation
selects the pattern from the pattern repository that he wants     process. Such a validation determines if a pattern is applied
to apply. The pattern repository contains hierarchically          or not. After introducing the relevant terms, we will now
structured patterns and sub-patterns defined in a common          explain the concept.
pattern language. The generic part of the pattern is
instantiated in the pattern instantiation phase with regard to    Referring again to figure 1, the pattern integration concept
the context of use. The outcome is an instantiated pattern that   based on the CRF is depicted. It contains three abstract
can be integrated in the development process. Although this       components: An MDUID process implementation with its
approach suggests an interesting pattern instantiation            different meta-models (AUI, CUI, Platform), an
concept, it integrates HCI patterns in a model-based rather       instantiation parameter extension for the AUI meta-model,
than model-driven way. We overcome this deficit in our            and an application condition extension for the model-to-
approach through a tight integration of the formalized GUI        model transformation. These components have to be
                                                                  specified when the pattern integration concept is
implemented. As explained above, instantiation parameters
depend on a pattern’s application context. Because of that,
they have to be set during the initial user interface
specification. In our case, the user interface is initially
specified on the AUI layer and hence the instantiation
parameters are integrated in the AUI meta-model by
additional types and/or features. The application conditions
are integrated in the transformation from the AUI to the CUI
model by means of transformation rules. They are validated
on the AUI model and therefore reusable for any target
platform, like the AUI model itself. If the conditions are
valid, the pattern is applied and the according platform-
dependent CUI elements are generated.
GUI PATTERN CATALOG
The developed pattern integration concept was implemented
for a choice of GUI patterns. Therefore, the abstract
components introduced in the previous section were
instantiated. The resulting customized MDUID process is
depicted in figure 2. The AUI layer is realized with IFML
and the model-to-model transformation is realized with an
ATL [13] plugin. In order to integrate GUI patterns, a choice
of GUI patterns was identified and then formalized by
                                                                      Figure 2. Architecture of the customized MDUID process
instantiation parameters and application conditions
conforming to the extended components, the IFML meta-               Instantiation Parameters
model and the ATL plugin. The formalized patterns are               From the above description we can derive the following
represented by the extension components in figure 2.                instantiation parameter when a task is separated into several
All integrated patterns were documented in a pattern catalog        decision steps: The amount of steps, the order of steps and
comprising the pattern’s general meaning, its formalized            the content of the particular steps. Like illustrated in figure
instantiation parameters and application conditions. The            3, a step is formalised as a Step class that inherits from the
formalisation of the instantiation parameters is described by       ViewContainer class. Hence, the amount of steps and any
means of an extension of IFML while the formalization of            view elements, like Events, Fields or Lists that are the
application conditions is described by means of                     content of a step can be defined. Furthermore, the inherited
transformation rules extending the ATL model-to-model               outInteractionFlow association enables the definition of
transformation. Currently, the pattern catalog includes seven       NavigationFlows between steps and thus the order of the
GUI patterns that were chosen based on their frequent use in        steps. In the related figure, the coloured classes are part of
interactive applications and their occurrence in pattern            the IFML meta-model while the white class is a custom
catalogs [1]. Further, the patterns in the pattern catalog are      extension.
structured according to pattern categories taken from [9] and
presented in a defined description scheme.

In the following, we want to present the Wizard pattern entry
according to this description scheme in order to give an
example of the pattern formalization:
Wizard
Description
The Wizard pattern is used when a user “wants to achieve a
single goal but several decisions need to be made before the
goal can be achieved completely” ([11]). Regarding a
complex task inside a software system that is performed
rather rarely and that is too long to fit into a single page, the
Wizard pattern suggests to separate the complex task into                       Figure 3. Simplified Wizard extension
several steps that are organized in a prescribed order. The
user can deal with each of these steps in a discrete mental
space and therefore has a simplified view on this task ([10]
p.55).
Pattern Application Condition                                      applications. The RIACUI.ecore enables to describe user
The Wizard pattern is applied whenever a ViewContainer             interface as they are perceived by the end user including the
element with at least two containing Steps is modelled. All        layout, colors and concrete interaction types. On the FUI
contained Steps must be connected with NavigationFlows, so         layer, the user interface is finally represented by
their order can be determined. Below, these conditions are         JavaServerPages, JavaScript code and CSS style sheets. The
implemented by means of an ATL transformation rule code            Transformation Workflow component manages the model-
snippet with a source pattern and a guard.                         to-model and the model-to-code transformation. As can be
                                                                   seen in figure 2, the model-to-model transformation is
                                                                   realized with ATL and produces a RIA-specific CUI model
                                                                   from an IFML model and the related UML 2.0 domain
                                                                   model. ATL provides a feature called rule inheritance. Rule
                                                                   inheritance helps to reuse transformation rules and is similar
                                                                   to inheritance relations in the object oriented domain.
IMPLEMENTATION AND TOOL-SUPPORT
                                                                   Subsequently, the model-to-code transformation, realized in
In this section, the implementation of the pattern integration
                                                                   Xtend [16], generates application code from a previously
approach and the corresponding tool-support is presented in
                                                                   produced RIA-specific CUI model. The advantage of Xtend
detail. The implementation is in a state where it already could
                                                                   is, since it is based on Java, a statically-typed programming
be successfully applied in an industrial setting. The
                                                                   language which employs template-based text generation.
architecture of the implemented approach is depicted in
                                                                   This is particularly helpful when it comes to code generation
figure 2. This architecture partially implements the four
                                                                   for application code organised in different files and
abstraction layers (Task & Concept, AUI, CUI, FUI) of CRF
                                                                   programming languages as it is the case for the FUI of rich
indicated by the colored rectangles. The UML 2.0 language
                                                                   internet applications.
on the Task & Concept layer enables the modeling of the
application’s domain, e.g. by a class diagram. As can be seen,     The tool support is given by a graphical editor that is an
the AUI layer is realized by IFML. In particular, we reused        extension to the IFML open source editor based on EMF [15]
the IFML-metamodel.ecore, an implementation of the IFML            and the Sirius [14] framework. The editor is available at
standard, which can be downloaded from the official website        Github and was extended within this work by graphical
and extended this meta-model by a choice of specific AUI           representations and create/read/update/delete operations for
elements and GUI pattern instantiation parameters. IFML            the IFML extensions. Figure 4 depicts a screenshot of the
provides dedicated extension points for this purpose. We           editor showing the working area, the palette and the
realized the CUI layer with a custom meta-model,                   properties tab. This editor is an eclipse plug-in [17]. In the
RIACUI.ecore, which is specific for rich internet                  working area the current IFML model is displayed,




                                          Figure 4. Screenshot of the extended IFML editor
represented in its concrete syntax. The use of meaningful          5.   Fabio Paterno', Carmen Santoro, and Lucio Davide
icons and graphical representations helps for a better and              Spano. 2009. MARIA: A universal, declarative,
faster understanding of the editor. The user can create new             multiple abstraction-level language for service-oriented
IFML model elements via Drag & Drop from the palette on                 applications in ubiquitous environments. ACM Trans.
the right hand side. The palette is structured in multiple              Comput.-Hum. Interact. 16, 4, Article 19 (November
sections where different ViewElements like List, Window                 2009), 30 pages.
and NavigationFlow are available. The Step entry in the            6.   IFML Spec. Retrieved April               2,    2015   from
palette also indicates that instantiation parameters of GUI             http://www.omg.org/spec/IFML/
patterns are configurable. The editing of IFML model
elements mostly takes place in the properties tab located at       7.   Jürgen Engel. 2010. A model- and pattern-based
the bottom. Here, all attributes and associations of model              approach for development of user interfaces of
elements can be set, modified or deleted. Once such an IFML             interactive systems. In Proceedings of the 2nd ACM
model is specified, it serves as the input of the transformation        SIGCHI symposium on Engineering interactive
chain which can be triggered manually from the editor’s                 computing systems (EICS '10). ACM, New York, NY,
context menu. The outcome is a RIA-specific CUI model in                USA, 337-340.
XML format and the FUI represented by multiple                     8.   Frank Radeke and Peter Forbrig. 2007. Patterns in task-
JavaServerPages, JavaScript files and CSS style sheets.                 based modeling of user interfaces. In Proceedings of the
                                                                        6th international conference on Task models and
CONCLUSION AND OUTLOOK
                                                                        diagrams for user interface design (TAMODIA'07),
In this paper, we presented the design and implementation of            Marco Winckler, Philippe Palanque, and Hilary Johnson
a customized MDUID process that integrates GUI patterns.                (Eds.). Springer-Verlag, Berlin, Heidelberg, 184-197.
As a basis of our solution concept we first described our          9.   Marco Brambilla and Piero Fraternali. Interaction Flow
general pattern integration concept. Then we presented our              Modeling Language: Model-Driven UI Engineering of
GUI pattern catalog and its formalization based on the                  Web and Mobile Apps with IFML. Morgan Kaufmann,
abstract user interface language IFML. The feasibility of our           2014.
approach was then shown by a tool-support which extends            10. Jenifer Tidwell. Designing interfaces – patterns for
the existing IFML editor by integrated GUI patterns. The               effective interaction design (2. ed.). O’Reilly, 2011.
implementation of the customized MDUID process and the
practical usage of the tool-support was shown in the context       11. Matijn Van Welie. A pattern library for interaction
of generating rich internet applications (RIAs). With regard           design.   Retrieved    April   2,    2015     from
to future work we intend to evaluate our implemented                   http://www.welie.com/patterns/
solution in an industrial case study. In the evaluation we will    12. Stefan Wendler, Danny Ammon, Ilka Philippow, and
especially focus on the influence of the integrated GUI                Detlef Streitferdt. A factor model capturing
patterns to the usability of the automatically generated RIAs.         requirements for generative user interface patterns. In
                                                                       PATTERNS 2013, the Fifth Int. Conf. on Pervasive
REFERENCES
                                                                       Patterns and Applications, Valencia, Spain, IARIA,
1.   HCI Patterns. Retrieved April           2,   2015    from         Lecture Notes in Computer Science, pages 34–43, 2013.
     http://www.hcipatterns.org/patterns                           13. ATL.        Retrieved      April    2,         2015    from
2.   Christian Märtin, Christian Herdin, and Jürgen Engel.             https://eclipse.org/atl/
     2013. Patterns and Models for Automated User Interface        14. Sirius.     Retrieved       April   2,         2015    from
     Construction – In Search of the Missing Links, in: M.             https://eclipse.org/sirius/
     Kurosu (Ed.), Human-Computer Interaction, Part I,             15. EMF.      Retrieved     April    2,   2015             from
     HCII 2013, LNCS 8004, 401-410.                                    https://www.eclipse.org/modeling/emf/
3.   Kai Breiner, Marc Seissler, Gerrit Meixner, Peter             16. Xtend.       Retrieved     April    2,         2015    from
     Forbrig, Ahmed Seffah, and Kerstin Klöckner. 2010.                https://eclipse.org/xtend/
     PEICS: towards HCI patterns into engineering of
     interactive systems. In Proc. of the 1st International        17. Eclipse.     Retrieved      April    2,        2015    from
     Workshop on Pattern-Driven Engineering of Interactive             https://eclipse.org/
     Computing Systems (PEICS '10).
4.   Gaëlle Calvary, Joëlle Coutaz, David Thevenin, Quentin
     Limbourg, Laurent Bouillon, and Jean Vanderdonckt.
     2003. A Unifying Reference Framework for Multi-
     target User Interfaces. In: Interacting with Computers,
     289-308.