<!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>Model Driven Development of Complex User Interface</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Xudong Lu</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jiancheng Wan</string-name>
          <email>Wanjch@sdu.edu.cn</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computer Science and Technology, Shandong University</institution>
          ,
          <addr-line>73#, Jingshi road, Jinan Shandong Province, China, 86-531-88392498</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>To promote the Model-Based software engineering development of user interfaces, this paper proposes a model driven development approach of complex user interface. The approach captures the process data in user interfaces by using an Extended Object Model. User interfaces are directly, abstractly depicted as objects, components and their cooperative relations in an Interaction Model. Their external visual presentation is customized in the Presentation Model in the name of UI Template. The uniqueness of this research is a direct and leveled abstractive attack on complex user interface composition or description, rather than the elicitation from task models.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Software Engineering</kwd>
        <kwd>User Interface Design</kwd>
        <kwd>Code Generation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        The user interface of an application is often one of the core
factors determining its success. The model-based user interface
development technology aims to provide an environment where
developers can design and implement user interfaces (UIs) in a
professional and systematic way, more easily than when using
traditional UI development tools [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. To achieve this aim, many
approaches for UI design and model-based user interface
development environments (MB-UIDEs) have been proposed. But,
in spite of more than 10 year’s researches, there are few models
and tools being fully developed and powerful enough to be
recognized for commercial and industrial acceptance [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In the
authors’ view, the most reason of this situation is that the
approaches had been proposed have not enough ability in deal
with complexity of user interface.
      </p>
      <p>The complexity of user interface mainly lies in two aspects as
following.</p>
      <p>First, in user interface of the practical software, there always have
more complex UI controls of grid, graph and tree, sharing
presentation space that can overlapping many present units so can
show different content in different context, and their operational
relations.</p>
      <p>Second, the contemporary UI construction needs support of
different techniques and various types of component and their
relationships, such as Java Applet, Java Beans, CORBA and
COM/DCOM component, etc..</p>
      <p>The complex UI controls and components’ introduce enhancing
the UI functionality, but they do have alleviated the UI
development difficulties in great deal. In this case, lacks in this
support of UI modeling will affect the ability in dealing with UI
complexities, and will not be accepted in practical applications.</p>
    </sec>
    <sec id="sec-2">
      <title>2. RELATED WORKS</title>
      <p>
        The literature contains many papers describing model-based user
interface approaches. Reported researches includes Drive[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ],
MOBI-D[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], Wisdom[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], Teresa[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], Teallach[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], JUST-UI[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ],
SUPPLE[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], etc. These approaches have respective characteristic
as their different applying backgrounds such as web applications,
multi-devices applications. But, there still have some commons.
For example, the approaches usually have several models
describing different aspects of the UI. The kind of models used in
different approaches varies, however a useful categorization is
presented in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]: Application Model (AM), Task/Dialog Model
(TDM), Abstract Presentation Model (APM), Concrete
Presentation Model (CPM).
      </p>
      <p>
        The UI development process is normally an incremental process
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In most approaches, UI development starts from domain
objects or concepts likes object, describing the structure and
behavior of UI. Next, abstract user interface will build base on
domain objects and adding some user interface compose elements,
such as presentation objects or query objects etc.. Last, code will
generate in some approaches. But, the UIs generated are simple
and not be accepted in practical applications because of the UI
models not cover the complex elements of user interface
mentioned above.
      </p>
      <p>The task model is widely used and most researches adopt one of
different forms of task model as the basis of UI modeling with
some differences, such as TERESA, Teallach, Trident and
Bisignano. But, the task-oriented UI design analysis and
composition could not fully reflect users’ synthetic and multiple
views toward UIs. Nowadays highly usable UIs usually contain
more than just the completion of user tasks. Extensive information
navigation, cross-reference and context-sensitive help are all
necessary facilities in UIs. A form-based UI has supplied an
environment for fulfilling tasks.</p>
      <p>In conclusion, the declarative models of model-based user
interface development approaches have been proposed are still in
lack of a sound mechanism for direct describing complex UI
structure and composition.</p>
    </sec>
    <sec id="sec-3">
      <title>3. ARCHITECTURE</title>
      <p>Figure 1 shows the architecture of our approach, which reflects an
incremental development process. The process started from the
bottom abstract, layered combine the increasing requirements (see
the dotted line box), by model transformation get more specific
model and as the foundation of next layer. The process
emphasized the importance of human in the development of the
model, multi-layer transformation support the hierarchical model
and hierarchical development, which reflects the actual process of
practical software development. In this paper, we only focus on
how to direct describe the complex user interface use EIP model,
not touch user interface requirements acquisition and final
automatic generation as the limited length reason.</p>
      <p>E IP</p>
      <p>U I im p le m e n ta tio n</p>
      <p>P M
I M</p>
      <p>E O M
D o m a in M o d e l</p>
      <p>P la tf o r m c h a r a c te r is tic
R e q . o f U I p r e s e n ta tio n</p>
      <p>R e q . o f U I in te r a c tio n</p>
      <p>R e q . o f o b je c t p re s e n ta tio n
The EIP model consists of three parts, EOM (Extended Object
Model) as E, IM (Interaction Model) as I, and the Presentation
Model as P.</p>
      <p>EOM is the application model of UIs. It specifies the data object
and their operational relationships. Considering their influence of
objects’ very structures and their relations to UI presentation, and
the satisfaction of the requirements for describing complex UIs,
we extend domain model through adding new attributes and
relations for describing data members and their behavioral
relationships.</p>
      <p>Based on EOM and user’s requirements of UI interaction, IM acts
as a mechanism for direct description of UI. It includes functions,
abstract objects, components, external UIs, and their
interoperational relationships, and interactive relations with users.
P is the Presentation Model of UIs. It gives the UI layout
according to the IM and user’s requirements of UI presentation.
UI layout is a complex design problem. For this purpose, we
propose the concept of UI Template, which is indexed and
constrained with IMs, and is to be instantiated to become a
concrete UI once the running platform is specified. Users might
take part in the designing process of UI Templates by selecting
the UI styles or UI design patterns and layout strategies.</p>
    </sec>
    <sec id="sec-4">
      <title>4. EXTENDED OBJECT MODEL</title>
      <p>Objects and their relationships are the main components that will
appear in UI. Generally, the basic data types of object data
members include numeric, character, enumeration, date,
navigation and multi-medias, etc. When appearing in an UI, they
must take a certain visual forms and different data types pertain to
different presentation forms. Further more, object relations also
have influence over UI presentation, such as UI widget layout and
operations. Therefore, objects are UI presentation related, and the
simple naked objects are not sufficient enough for complex UI
modeling. To completely and formally depict the UI composition
and behavior, new attributes and properties are needed to describe
the object data members, such as range of value, data source, I/O
forms for Presentation or data Acquisitions, value derivation,
associations and grouping. This paper not detail described these
new attributes and properties. However, Member Grouping, as an
illustration, is an exception.</p>
      <p>Normally, a data member of an object is mapped to certain IO
objects in UIs. To make UI widget layout friendly and
psychologically accepted by users, therefore enhancing UI
usability, it is necessary to arrange and group IO objects in
particular form or order. This is the so-called Member Grouping.
For example, data members with the same types or closer
conceptual relations might be required to be placed together and
in certain order. Data members, that are grouped together, are
considered as a new UI unit as a whole. In this way, the whole
object is regarded as an ordered composition of UI units, forming
a sequential and hierarchical arrangement of data members. All
UI units are laid on an UI in certain order, for example, from right
to left, from top to down or in columns.</p>
    </sec>
    <sec id="sec-5">
      <title>5. INTERACTION MODEL</title>
      <p>The IM is used to directly describe the UI composition and
relationships. Its elements include Data Objects and Data
Collections, Query Objects, Controlling Objects, External Entities
or Components, Actors or Roles, UI Functions and UI
Navigations, Data Files and Print Documents.</p>
      <p>In our symbol system, Data Object is represented as a rectangle,
in which the name, class and class members are included.
Rounded rectangle and beveled rectangle are also symbols for
data objects, the former as the object for forming query
information, therefore being called Query Object; and the later for
forming controlling information to take part in the operation of
use-cases, therefore being called Control Object.</p>
      <p>Data Collection is represented with 2 overlapped rectangles. It is
an important object that might appear in UIs, therefore needing
special treatment because of its wide range of usages in UI
construction.</p>
      <p>Data Object and Data Collection have the attribute for their data
source. If the data source comes from a Database table, special
code is needed for its implementation.</p>
      <p>Rectangle with two vertical bars is the symbol for other UIs.
Dotted arrow directed to it means the relations of UI Navigation.
Print Document is a special kind of UIs in modeling and
presentation with data output only in them.</p>
      <p>Rectangle with one or more small circles connected to it
represents an External Entity or Component, where the circles are
its interfaces.</p>
      <p>Use-cases directly connected to Actor are correspondent to menu
items or command buttons in UI.</p>
      <p>Object relationships are the functional associations of UI objects,
which include the use of objects or interfaces, method or function
calling, UI navigation, message sending or event triggering, data
transmission, and object’s taking-part-in relations.</p>
      <p>UI objects in an IM can be grouped together. A Group can be
viewed as an abstract entity for UI composition or an UI object.
Two kinds of group can be defined. Normal group (represented as
dotted-line rectangle) is the group of which each UI object will
exclusively possess its own presentation space; Overlapped group
(represented as bold-dotted-line rectangle) is the group that all of
its UI objects will be presented overlapped and commonly in a
presentation space. Events or functions can be attached to a group.
They are represented as small circles.</p>
    </sec>
    <sec id="sec-6">
      <title>6. PRSENATION MODEL</title>
      <p>The presentation model deals with the specification of visual
forms of UI objects and their layout as a whole.</p>
      <p>An UI is normally presented within a rectangle area of screen.
Therefore, an UI is considered as a Presentation Object that is
presented in a Presentation Space.</p>
      <p>To establish a presentation model of a complex UI with multiple
constituents, the space needs to be divided into smaller rectangle
areas to accommodate certain presentation objects. In this way, a
presentation model of UI is superficially composed of multiple
smaller presentation spaces and a set of presentation objects.
There are many ways to divide a presentation space. For ease of
visual manipulation and considering being still powerful enough
to deal with UI presentation complexities, the presentation space
is specifically divided in the way that the dividing of the main
space is consisted of a series steps, each dividing step concerns
only with one single rectangle area, and is performed either
vertically or horizontally into two or more disjointed rectangle
areas. Thus, starting as the root, the main space is divided and
organized in a tree structure, of which the leaf nodes are the
resultant possible presentation spaces for accommodating
presentation objects.</p>
      <p>A Presentation Unit, or PU for short, is the combination of a leaf
node or a resultant presentation space and the related presentation
objects that will be presented in the space.</p>
      <p>An UI Template contains a main presentation space that is
divided and a set of PUs, where the presentation properties or
details are specified. Actually, an UI Template is a set of defined
relations between presentation objects and leaf nodes of a divided
main presentation space, with presentation properties set and
global layout specified.</p>
      <p>Since all visible UI objects in IM require some forms of visual
presentation, they will act as the Presentation Objects in PUs.
Therefore, once a main presentation space is defined and divided,
and the UI objects of an IM are assigned to the resultant
presentation space, an UI Template could be constructed
accordingly.</p>
      <p>To fully describe an UI in enough presentation details, more
properties are needed for UI objects to be presented properly and
satisfactorily. Besides presentation properties such as foreground
and background colors, fonts, margins, line widths, etc., the main
concerns come from the consideration of presentation constituents
and their layout strategies. These properties are different for
different UI objects.</p>
      <p>Actually, when certain category of UI objects and different
presentation is concerned, the similarities and differences in
operation, presentation constituents and properties will help to
form the concepts of UI Design Patterns. The detailed
presentation constituents and their layout of each PU are
determined by designer’s preference and customization of UI
Design Patterns for an UI object.</p>
    </sec>
    <sec id="sec-7">
      <title>7. AN EXAMPLE</title>
      <p>This example will show the grouping concept in modeling
overlapped presentation and the ability in dealing with complex
UI construction. Figure 2 is a practical UI in a net-loss
management system (now only in Chinese version) of electrical
power network. It is generated from its IM present in Figure 3 for
practical application in Visual Basic. EOM of example is omitted
in this paper as the limited length.
The overlapped Group represents a set of UI objects that are
going to be presented and overlay in a presentation space. It is
used to abstract the phenomena of overlapped presentation. In
Figure 3, the Group represents an overlapped presentation of 5
sub-groups or normal groups with doted-line rectangles and their
contents. The small circles attached to each group represent the
group’s events or functions. In Figure 3, they designate the click
events. The Control object contains 2 Radio Buttons. Their values
are defined as mutual exclusive.
The operational relationships in Figure 3 are as follows: 1) Once a
node of the Tree is clicked, the Update un-visible use-case is
invoked. It gets the data from the node and the WorkingStatus.
The data is used to invoke the Group’s refresh function for
TableData to update its display. Then, the related data is got and
sent to the Graph component for display; 2) Upon clicking on the
Group, the specific page’s refresh function is invoked to update
the related display; 3) Upon clicking the 4 of the 6 visible
usecases, WorkingStatus will be modified and the Update un-visible
use-case be invoked again accordingly; and 4) Upon clicking the
radio buttons of the Control object, their mutual exclusive relation
will cause them to change values accordingly, and then the
changed value be sent to the Graph component to alter the display
types from histogram to curve, and vice versa.</p>
      <p>The above relationships are all implied in the AUI of Figure 2.
But, the relationship details are contained in the internal logical
description of the related use-cases, which has not yet been
implemented. During this experiment, the operational code is
manually supplied after generating the UI framework and the
related code.</p>
      <p>To generate the desired UI of Figure 2, use method introduces in
section 6, the UI template will be first divided five smaller
presentation spaces according to user requirements. Next, the UI
template is customized as the assignment of: 1) the UI design
pattern of Tree with collection to the collection Tree; 2) the UI
design pattern of Page to the Group; 3) the Graph component as it
is designed; 4) Picture-Buttons to the use-cases; and 5) the UI
design pattern of control object in free-form to the Control object.
Then, the presentation model of example will built, it not further
description in this paper.</p>
    </sec>
    <sec id="sec-8">
      <title>8. CONCLUSION</title>
      <p>The model-based user interface development approaches have
been proposed have not enough ability in deal with complexity of
user interface in practical software design. This paper proposes a
model driven development approach of complex user interface.
The uniqueness of this research is a direct and leveled abstractive
attack on complex user interface composition or description,
rather than the elicitation from task models.</p>
      <p>We have finished a UI model establishment tool that we call it
AUI. Like Rose, AUI is an integrated model edit environment.
Using AUI, designer can establish the abstract model of every
level through the method above (Figure 3 is a hard copy of
models that created in this tool.). And, now we have finished the
transformation from abstract model to Visual Basic and ASP.NET.
The building of the environment and research experiment has
shown that approach proposed in this paper is appropriate,
feasible, effective, powerful and easily acceptable in complex and
highly usable UI modeling and construction.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>[1] Paulo Pinheiro da Silva, User interface declarative models and development environments: a survey</article-title>
          ,
          <source>In Proceedings of DSVIS</source>
          <year>2000</year>
          ,
          <year>2000</year>
          ,pp.
          <fpage>207</fpage>
          -
          <lpage>226</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Griffiths</surname>
            , Tonya, Barclay and
            <given-names>Peter J</given-names>
          </string-name>
          , et al,
          <article-title>Teallach: A model-based user interface development environment for object databases</article-title>
          ,
          <source>Interacting with Computers</source>
          ,vol.
          <volume>1</volume>
          ,
          <issue>2001</issue>
          ,pp.
          <fpage>31</fpage>
          -
          <lpage>68</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>K.</given-names>
            <surname>Mitchell</surname>
          </string-name>
          , J. Kennedy,
          <string-name>
            <given-names>P.</given-names>
            <surname>Barclay</surname>
          </string-name>
          ,
          <article-title>A Framework for User Interfaces to Databases (DRIVE), in Proceeding of AVI</article-title>
          , ACM Press,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Angel</given-names>
            <surname>Puerta</surname>
          </string-name>
          and
          <string-name>
            <given-names>Jacob</given-names>
            <surname>Eisenstein</surname>
          </string-name>
          ,
          <article-title>Towards a General Computational Framework for Model-Based Interface Development Systems (MOBI-D)</article-title>
          ,
          <source>in Proceeding of ACM IUI</source>
          <year>1999</year>
          , Redondo Beach CA USA
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Nunes</surname>
            ,
            <given-names>N.J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>J.F.e. Cunha,</surname>
          </string-name>
          <article-title>Wisdom - A UML based architecture for interactive systems</article-title>
          , in Proceeding of DSV-IS, Limerick, Ireland,
          <year>2000</year>
          , pp.
          <fpage>191</fpage>
          -
          <lpage>205</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Giulio</given-names>
            <surname>Mori</surname>
          </string-name>
          ,
          <article-title>Fabio Paterno and Carmen Santoro, Design and Development of Multidevice User Interfaces through Multiple Logical Descriptions</article-title>
          ,
          <source>IEEE Transactions on Software Engineering</source>
          ,
          <volume>30</volume>
          (
          <issue>8</issue>
          ),
          <year>2004</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>14</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Pedro</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Molina</surname>
          </string-name>
          ,
          <article-title>Santiago Meliá and Oscar Pastor, JUST-UI: A User Interface Specification Mode</article-title>
          ,
          <source>in Proceedings of CADUI</source>
          <year>2002</year>
          , Valenciennes, France,
          <year>2002</year>
          , pp.
          <fpage>63</fpage>
          -
          <lpage>74</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Krzysztof</given-names>
            <surname>Gajos</surname>
          </string-name>
          and Daniel S. Weld,
          <article-title>SUPPLE: Automatically Generating User Interfaces</article-title>
          ,
          <source>in Proceedings of IUI'04</source>
          ,
          <string-name>
            <surname>Funchal</surname>
          </string-name>
          , Portugal,
          <year>2004</year>
          , pp.
          <fpage>83</fpage>
          -
          <lpage>100</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>