=Paper=
{{Paper
|id=Vol-159/paper-6
|storemode=property
|title=Towards Employing UML Model Mappings for Platform Indepedent User Interface Design
|pdfUrl=https://ceur-ws.org/Vol-159/paper6.pdf
|volume=Vol-159
|dblpUrl=https://dblp.org/rec/conf/uml/SchattkowskyL05
}}
==Towards Employing UML Model Mappings for Platform Indepedent User Interface Design==
Towards employing UML Model Mappings
for Platform Independent User Interface Design
Tim Schattkowsky Marc Lohmann
C-LAB, Germany University of Paderborn, Germany
tim@c-lab.de mlohmann@uni-paderborn.de
Abstract The remainder of this paper is organized as follows:
The next section discusses related work before
While model based design of platform independent Section 3 introduces our approach. Finally, Section 4
application logic has already shown significant closes with a conclusion and future work.
success, the design of platform independent user
interfaces still needs further investigation. Nowadays, 2. Related Work
user interface design is usually platform specific or
based on C-level cross-platform libraries. In this UI design has been subject to research for quite some
paper, we propose a MDA like design approach for time now. However, model based methods are
user interfaces based on the transformation of UML discussed mainly in the context of XML.
models at different levels of abstraction. This enables The User Interface Markup Language (UIML) [1] is
platform independent design of user interfaces and a an XML language that aims at providing a meta
clear separation of UI and application logic design language for the declarative description of UIs. UIML
while enabling full use of native controls in the actual maps abstract UI elements to actual platform widgets
user interface implementation. and describes events on these elements. The mapping
is based on identifiers with no additional semantics and
1. Introduction must be done by the application. UIML does not
provide a generic mapping approach from a single
Providing individual User Interface (UI) abstract specification to different platforms.
implementations for each target platform of a Furthermore, the event mapping mechanism is quite
contemporary application becomes an increasing limited. This is addressed by [2] where a similar UI
burden as the number platforms as well as the size of description is complemented by more sophisticated
the applications increases. In the context of model- behavior specification. However, these are note
based design methods and the UML [5], a manual comparable to the expressiveness of UML’s behavior
implementation of different UI for each platform is models.
undesirable. The USer interface eXtensible Markup Language
Model Driven Architecture (MDA) [6] presents the (USIXML) [4] addresses the need for more abstraction
idea of mapping a platform independent model (PIM) in UI design, but still in an XML context. However, it
to a platform specific model (PSM) to separate the core introduces the idea to create an abstract UI model
implementation from the platform specific based on a domain model that is later refined to a
implementation aspects. Still, the UI is often concrete UI model consisting of existing widgets. This
considered to be platform specific although it seems to model is the basis for generating the final UI
be possible to provide a generic abstract description of implementation. The whole approach is based on XML
such an UI in terms of a platform independent model. and graph transformations [3]. It is not aligned with the
Furthermore, lack of abstraction in UI design forces UML or behavior modeling in general. However, the
large parts of the UI implementation into the approach could produce UML compliant output and a
responsibility of the software engineer rather than UI design tool based on the approach is available [11].
enabling the UI designer to work concurrently. A clear Finally, [7] discusses UI modeling using the UML.
separation of UI and application logic design is Different levels of abstraction exist in the form of a
desirable to improve both productivity and software fixed simple model for abstract UIs that is the
quality. foundation for manual refinement of the abstract model
to the actual application model.
P latform D ependent
Actual User Interface Implementation
3. Design Approach
Implementation Language
Code Generation
Our approach is driven by the idea to allow for a
complete separation of the UI and application logic Information Retrieval Model (IRM) Concrete User Interface Model (CUIM)
Platform
design. As in MDA, our approach starts with the Model
Transformation Rules (PM)
creation of a platform independent model. Before
generating a platform specific UI implementation, the View Composition Model (VCM)
P latform Independent
designer can configure the UI on multiple levels of
PIMs, each independent of a target platform. From the Information
View Composition
Retrieval
most detailed PIM we can generate a platform specific Definition Abstract
UI implementation (see Figure 1). Transformation Abstract User Interface Model (AUIM) UI Elements
Model
rules between the different models facilitate tool (AUIEM)
Transformation Rules
support for our UI development approach.
Our basic PIM is the Information Model (IM). This Information Model (IM) Information
Metamodel
class diagram provides an abstract definition of the
information and their logical dependencies. The goal is Figure 1: Platform Independent UI Design Flow
to develop a UI for presenting this information. It is
undistorted by technology information. Therefore, it The associations and attributes in the IM are marked
allows business experts to ascertain much better than to indicate different kinds of data. Generally, the
with a platform specific model and it provides an early stereotypes <> and <> mark
starting point for user interface design. associations and attributes as only displayable or
Figure 2 shows the IM of an administration interface editable. Attributes marked <> may have
of a simple Web server. The Web Server may have a their values altered at runtime while such associations
ContentHandler at a certain Port to which a may have links added and removed. If an association is
Connection can be made by a User to access the marked as <>, links may only be removed
in contrast to attributes, which may instead be marked
content of a Folder if he has the necessary
as <> indicating that their value may only
Permissions according to his Group be by the constructor, i.e., when creating a new
memberships. Furthermore, the pending Requests instance. If no stereotype is provided for an attribute or
and Responses are represented. association, <> is assumed.
ContentHandler Port Connection InternetAddress
* «editable» * + «creatable» Number: Integer «deletable» * 1 + Hostname: String
+ «creatable» UseSSL: Boolean + IPAddress: Integer [1..4] {ordered}
* 1
*
*
«editable» User
«editable»
+ «editable» Login: String Message
Body
+ «editable» Name: String = ""
+ Number: Integer
«root» + «editable» Password: String 0..1 + Length: Integer
«editable» * + + TimeStamp: DateTime
Serv er «editable» Description: String = ""
* 0..1
«editable»
* *
«editable» Group Request Response
*
+ «editable» Name: String + Method: String + «editable» CloseConnection: Boolean
1 0..1 + Code: Integer
Folder
* «editable» *
+ «editable» URI: String
+ «editable» BasePath: String
Permissions
* + «editable» Read: Boolean = false
+ «editable» Write: Boolean = false
+ «editable» List: Boolean = false
«editable»
+ «editable» Execute: Boolean = false
WebContentHandler MimeType
+ «editable» DefaultDocumentName: String [0..*] {ordered} «editable» * + «editable» FileExtensions: String [0..*] {ordered}
*
Figure 2: Web Server Configuration UI Example - Information Model
Type «UIElement» «UIElement» «UIElement» «UIElement»
Set Choice Item UITrigger
+type +choices +chosen
1 * 1 * 0..1 0..1
+type 1
Class
+class
«UIElement» «UIElement»
«UIElement» Link
1 * KillLinkTrigger
FilteredInstances +link
1 {redefines type}
1 *
«UIElement» «UIElement»
*
* +ownedAttribute FilteredLinks Instance
+target
Property +property «UIElement»
1 * AddLinkTrigger
1 *
+associationProperty
Figure 3: Excerpt from the AUIEM used for the Example Transformations
The data types used by the attributes in the IM are link, which is only present in the right hand side of the
fixed and range from primitive types (e.g. Integer, rule, is newly created and every object or link, which is
Float) to complex types defined by classes. Operations present only in the left hand side of the rule, is being
may define interface application logic that cannot be deleted. Objects or links which are present on both
captured by the data model, e.g., to send explicit sides are unaffected by the rule.
messages to the application aside from persistent data. The application order of rules is not determined.
The whole IM is a composition tree starting by a Furthermore, different rules with the same left-hand
<> class whose only instance represents the side may exist to provide alternative UI elements for
whole systems. This enables inference of aggregations the same structure. The actual choice of the desired
to automatically generate all levels of abstraction from mappings is an interactive design decision that can be
the IM without the need for user interaction. However, supported by tools. However, complete generation of
usually this is not desirable and the UI designer wants the AUIM based on the rules is possible. This could be
to provide these decisions manually at each level of interesting in the context of an UI style defining the
abstraction. actual mappings to be applied.
The PIM at the next level is the Abstract User
Interface Model (AUIM). It includes some aspects of L R
UI technology event though platform-specific details :Type :Type
are absent. Essentially, the AUIM combines the data
+type
from the IM with abstract UI elements to access and +type
manipulate that data. We have developed a metamodel :Property
«UIElement»
:FilteredLinks
–Abstract User Interface Elements Model (AUIEM)–
+choices
that defines different UI elements at an abstract level in :Class
:Property
terms of related data sets and triggers. This metamodel «UIElement» «UIElement»
:AddLinkTrigger :Choice
can be extended to project-specific needs by using the +memberEnd
UML profiling mechanism. +target +chosen
Figure 3 shows an excerpt from the AUIEM :Extension :Association
«UIElement» «UIElement»
:Item :Item
employed in our example. This excerpt defines the
+chosen +Link
Choice UIElement for selecting one Item from a
Set. Furthermore, it provides the necessary elements «UIElement» «UIElement»
+memberEnd :Choice :KillLinkTrigger
to employ the Choice to select an Instance of a
:ExtensionEnd :Property
Class or a Link from a Property. +choices
«UIElement»
These elements are used in a set of graph
:FilteredInstances
transformation rules [8] that facilitate tool support for
our approach. Each rule consists of a left hand side +class
(subgraph of the IM) and a right hand side (subgraph :Stereotype :Class :Class
of the respective AUIM to be created). In Figure 4 an name = "editable"
<> association is mapped to a set of
UIElements for deleting and adding links on the Figure 4: IM-AUIM Mapping Rule Example
association. The basic intuition is that every object or
The most detailed PIM is the View Composition and application logic by starting from a common
Model (VCM). It partitions the AUIM into several platform independent information model. Furthermore,
overlapping and navigable views. Each of these views due to our code generation mechanisms we can support
provides the scope of a class instance for the contained different target platforms from the same abstract
UIElements. Thus, master-detail-like views can be model. The approach has been outlined and discussed
implemented. Furthermore, navigation along Links can in the context of an interface of a Web.server.
be defined. Finally, views can be composed. Each We are currently implementing the results of the
contained view either inherits the scope from the manual execution of our approach for this example.
containing view or has the scope provided by links Future work will include a prototype implementation in
selected in the containing view. One root view must be the context of our work in the fields of executable
defined. Views enable the purposeful selection of models [10] and concurrent software components [9].
different platform UI elements for the same
UIElement depending on the overall context of a References
view while deriving the Concrete User Interface Model
(CUIM) representing the actual platform dependent [1] Abrams, M., Phanouriou, C., Batongbacal, A. L.,
user interface. Williams, S. M., Shuster, J. E.: UIML: an appliance-
independent xml user interface language. In Computer
The CUIM is defined by the Platform Model (PM),
Networks 31, Elsevier Science, 1999.
which contains a set of available native UI elements on [2] Bleul, S., Schäfer, R., Müller, W.: Multimodal Dialog
the target platform. Like in the AUIEM, these elements Description for Mobile Devices. In Proc. Workshop on
are combined with the elements form the Information XML-based User Interface Description Languages at
Metamodel. Thus, the translation between these AVI 2004, 2004.
models is based on the substitution of the UIElements [3] Limbourg, Q., Vanderdonckt, J.: Addressing the
from the AUIEM by native UI elements from the PM. Mapping Problem in User Interface Design with
The creation of the CUIM not only involves UsiXML. In Proc. of 3rd Int. Workshop on Task
mapping the UIElements to actual UI controls Models and Diagrams for user interface design
TAMODIA’2004, ACM Press, New York, 2004.
(widgets) on the target platform, but also providing [4] Limbourg, Q., Vanderdonckt, J., Michotte, B.,
additional layout and decoration. A GUI builder tool Bouillon, L., Lopez-Jaquero, V.: UsiXML: a Language
should support the whole task where the designer may Supporting Multi-Path Development of User
handpick individual mappings for UIElements. Interfaces. In Proc. EHCI-DSVIS'2004, 2004.
Transformation rules similar to the rules for the IM- [5] Object Management Group, The: Unified Modeling
AUIM transformation can be employed here. These Language: Infrastructure. OMG ad/2004-10-02, 2004.
rules map UIElements and their context to attributed [6] Object Management Group, The: Model Driven
Architecture (MDA). OMG ormsc/2001-07-01, 2001.
and annotated instances of platform specific UI classes.
[7] Pinheiro da Silva, P., Paton, N.: User Interface
The resulting CUIM has to be complemented by the Modelling with UML. In Proc. of the 10th European-
Information Retrieval Model (IRM) describing how the Japanese Conference on Information Modelling and
data processed by the UI is actually accessed. The IRM Knowledge Representation, 2000.
is a behavioral UML model (e.g. an activity diagram) [8] Rozenberg, G. et al (eds.): Handbook of Graph
giving an operational description how to retrieve the Grammars and Computing by Graph Transformation,
IM elements from the actual implementation. Thus, the Vol. 1. World Scientific, Singapore, 1997
IRM functions as an abstraction layer between the UI [9] Schattkowsky, T., Förster, A: A generic Component
and the application similar to database abstraction Framework for High Performance Locally Concurrent
Computing based on UML 2.0 Activities. In Proc. 12th
layers. However, the actual implementation of the IRM
Annual IEEE International Conference and Workshop
may vary and is not discussed here. on the Engineering of Computer Based Systems
To create the code for an Actual User Interface (ECBS), 2005.
Implementation, complete code generation takes place [10] Schattkowsky, T. Müller, W.: Model-Based Design of
combining the IRM and CUIM information to a Embedded Systems. In Proc. 7th IEEE International
working platform dependent UI. Again, we use a set of Symposium on Object-oriented Real-time distributed
graph transformation rules for the transformation. Computing (ISORC), 2004.
[11] Vanderdonckt, J.: A MDA-Compliant Environment for
4. Conclusion and Future Work Developing User Interfaces of Information Systems. In
Proc. of 17th Conf. on Advanced Information Systems
Engineering CAiSE'05 (Porto, 13-17 June 2005), O.
In this paper, we have proposed a model-driven Pastor & J. Falcão e Cunha (eds.), Lecture Notes in
design approach for user interfaces based on the UML. Computer Science, Vol. 3520, Springer-Verlag, Berlin,
This approach allows concurrent development of UI 2005.