=Paper=
{{Paper
|id=Vol-214/paper-3
|storemode=property
|title=Dynamic Generation of Context-Adaptive Web User Interfaces through Model Interpretation
|pdfUrl=https://ceur-ws.org/Vol-214/paper3.pdf
|volume=Vol-214
|dblpUrl=https://dblp.org/rec/conf/models/LohmannK006
}}
==Dynamic Generation of Context-Adaptive Web User Interfaces through Model Interpretation==
Dynamic Generation of Context-Adaptive Web User
Interfaces through Model Interpretation
Steffen Lohmann , J. Wolfgang Kaltz, Jürgen Ziegler
University of Duisburg-Essen
IIIS, Lotharstrasse 65
47057 Duisburg
{lohmann, kaltz, ziegler}@interactivesystems.info
ABSTRACT dynamically generated and adapted according to the context of
The model-driven generation of user interfaces that enhance use to enhance user interaction and reach better usability. First,
interaction quality by adapting to the context of use is a desirable, we provide some background knowledge by discussing related
but also highly challenging task. This paper examines to which work in Web application modeling, and by providing a summary
extent contextual knowledge can be systematically incorporated of our modeling approach and the corresponding reference
in the dynamic generation of user interfaces. For graphical user framework.
interfaces that allow the control of operational features, three
parts of the generation process are distinguished: selection, 2. MODELING AND GENERATION OF
presentation and parameterization. The presented approach is
WEB APPLICATIONS
based on a framework for model interpretation and for the
Several approaches for the systematic development of Web
generation of context-adaptive Web applications. It is discussed
applications (Web Engineering) build upon a conceptual model
together with an exemplary case study for better illustration.
that describes the basic concepts and relations of the application’s
domain. Further aspects such as the application’s navigational
Categories and Subject Descriptors structure, its process flow or presentation issues are defined on the
D.2.2 [Software Engineering]: Design Tools and Techniques – basis of this conceptual model. To allow the development of
user interfaces. H1.2 [Models and Principles]: User/Machine context-adaptive Web applications, additional modeling is
Systems – human factors. H5.2 [Information Interfaces and required.
Presentations]: User Interfaces – graphical user interfaces, user-
centered design. H.5.4 [Information Interfaces and 2.1 Related Work
Presentations]: Hypertext/Hypermedia – architectures, user The UML-based Web Engineering (UWE) approach [7] explicitly
issues. addresses adaptability issues and provides separate user and
adaptation models. UML is used for modeling; the models are
stored in XMI. For generation of application code from the UWE
General Terms models the development framework Apache Cocoon has been
Design, Human Factors. extended [8]. However, user and adaptation models are not
considered thus far by the code generation framework and the
Keywords generated Java classes and XSLT stylesheets cannot be executed
context-adaptive Web user interfaces, context-aware integration, directly, but need to be completed manually first. Furthermore,
model interpretation, ontology-driven modeling, automatic UWE concentrates on the modeling and adaptation of
generation, parameterization. navigational and presentational issues (as do many Web
Engineering approaches). The integration of operational features
and the generation of corresponding user interfaces are not
1. INTRODUCTION covered by UWE.
The systematic development of complex applications requires a
significant effort in modeling throughout the whole life cycle. For For the XML-based Web Modeling Language (WebML) [2] an
reasons of efficiency and consistency, a promising approach is to attempt has been made recently to integrate operational features
use these models not only as design basis for subsequent manual via Web Services [9], but it is not discussed how to generate user
implementation or for semiautomatic generation of application interfaces for these features. Further, some possibilities for the
code, but rather consider these models as an inherent part of the consideration of context in WebML were examined [1], but they
system. Changes in the models are then directly visible in the are restricted to a level where whole pages can be marked as
application (or in a prototype used for testing). We developed an being relevant for certain contextual conditions.
application framework following this design paradigm by
Generally speaking, existing Web engineering approaches do not
interpreting models at run-time for dynamic generation of
consider contextual influences in their modeling and application
context-adaptive Web applications (cp. [4]).
generation processes to a full degree. They typically consider
Using this framework as reference, we discuss in this paper how either information about the user or about the location (see also
graphical user interfaces for operational features can be [6]). The majority of approaches that discuss adaptivity are
concerned with the issue of how the application’s navigation or
contents can be adapted. The generation of context-adaptive user
interfaces for operational features is not addressed by existing
Web engineering approaches.
2.2 Ontology-driven modeling
Our approach originates in the WISE project [10], where
ontologies are used for Web application modeling. In comparison
to other modeling techniques, ontology-driven software
engineering allows for advanced semantic expressive power in
modeling and model exchange (cp. [3]). Especially for the
Figure 2. CATWALK component architecture
interoperable integration of contextual knowledge, ontology-
based modeling seems auspicious. The model base of our
approach is a repository consisting of the following models (cp. Our understanding of context is rather generic, including different
figure 1): aspects such as the user’s profile, the current task and location,
and the device used. In [5] we provide a formal definition of
- A domain ontology, describing concepts and conceptual context.
relations of the application’s domain as well as referencing
resources used by the application.
- Several context ontologies, describing concepts and conceptual 3. GENERATION OF CONTEXT-
relations of the context of use which are relevant for adaptive ADAPTIVE USER INTERFACES
system behavior. Contextual knowledge can affect different parts of the generation
- A context relations model, defining contextual influences, e.g. process. For the operational features of an application, the
by means of relations between concepts of the domain ontology following must be addressed: the question of in which situations a
and concepts of the context ontologies. user interface for an operational feature should be generated for
- A navigation, a view, and a presentation model, each containing the current Web page (selection), what the user interface should
adaptation specifications that define rules for adaptive system look like (presentation), and which values can be preselected
behavior based on the ontology concepts and the defined context (parameterization). In the following we discuss the different parts
relations. of the generation process in detail. For better illustration we
describe an example scenario: a Web portal for automobile
services that provides a car rental functionality.
3.1 Representation
The CATWALK framework follows a service-oriented approach
where operational features offered by the Web application are
encapsulated in Web Services. Each feature is conceptually
divided in its discrete operations and for each operation an
Figure 1. Context modeling in the WISE methodology ontology entry is defined. The entries are interconnected by
ontological relations; one of the entries is called the function
representative and stands for the whole function. Knowledge
about dependencies between the feature’s different operations is
2.3 The CATWALK Framework thus part of the domain ontology.
CATWALK [4] is a component-oriented framework that interprets
the models at run-time to generate a context-adaptive Web Consider for example a car rental feature consisting of four
application. It is based on Apache Cocoon; figure 2 gives an discrete operations, which are realized by two Web Services – one
architectural overview. White arrows indicate the process flow: for the selection of the (1) desired vehicle type and (2) equipment,
each client request is matched in the Cocoon pipeline, and and another for the (3) booking and (4) payment procedure. For
processed through a series of components responsible for each operation, an ontology entry is created referencing the
application generation, ultimately resulting in a response to the corresponding WSDL elements. Additionally, parameters of the
client (e.g. a Web page). Arrows with dotted lines indicate calls service can be represented in the domain ontology (see section
between components. Each component in CATWALK implements a 3.4).
specific concern, in the sense of the separation of concerns
architectural design principle. A component is implemented by 3.2 Selection
one or more Java classes and may use additional artifacts (such as A first step in the generation process consists of the selection of
XSLT stylesheets for XML transformation). The model repository the operational features for which user interfaces should be
is accessed in each generation step via a Cocoon pseudo-protocol generated in the current Web page. In this step, the whole
and the corresponding model parts are interpreted at run-time. A operational feature is considered, not its discrete operations. The
central component (the Adaptation Engine) supports adaptive navigation model defines the navigational structure of the Web
system behavior by interpreting context relations and adaptation application by means of relations between elements of the domain
specifications and considering the respective contextual state ontology. This ontology includes the function representatives. The
(provided by the Context Manager component). navigational structure is mapped onto the user’s current
navigational position to identify application items, including 3.3 Presentation
operational features that should potentially be offered in the After determining which operational features should be provided
current Web page. Furthermore, context relations between in the current Web page, in the next step appropriate user
function representatives and concepts of the context ontologies interfaces must be build. Depending on the situational relevance
are defined. Adaptation specifications in the navigation model of an operational feature and the contextual conditions, alternative
determine the current relevance of operational features in presentation forms come into question.
dependence of the context relations and the activation degree of
concepts (cp. [4]). According to these specifications and the The CATWALK framework is designed to support the definition of
relations defined in the context relations model, none, one or various GUI patterns for this purpose. Each pattern consists of an
several appropriate operational features are selected, for which XSLT-template and optionally an additional CSS-stylesheet.
user interfaces should be generated in the current Web page. Similar to the modeling of the navigational structure, ontological
relations between entries of patterns and other entries of the
Let us consider the car rental example scenario and suppose that a domain ontology (e.g. function representatives) are defined in the
user has accessed the homepage of the portal. A relation between presentation model. Furthermore, relations between pattern entries
the entry of the homepage and the function representative of the and context ontology concepts are modeled in the context
reservation feature has been modeled in the navigation model. relations model. Adaptation specifications define which pattern
Furthermore, a context relation has been modeled between the should be selected in accordance to the context relations and
function representative and the ‘owns car’ concept of the user activated concepts. At run-time, CATWALK reads the parts of the
context ontology. This concept is activated if the user owns a car Web Services’ WSDL-files which are required for the current
and deactivated if the user does not own a car. At last, an operations, and applies the respective XSLT-stylesheet in
adaptation specification has been defined stating that a user accordance to the contextual situation.
interface for the reservation feature should be presented if the
related context concept is activated. As a result of this modeling The left screen in figure 3 shows a provisory implementation for
the reservation feature will be presented directly on the homepage the car rental scenario. Suppose the car rental feature is provided
to users who do not own a car, whereas car owners reach it only as a guided tour. In the first step the user chose the vehicle type;
via navigation. now the user has to determine the car model, some equipment
details as well as dates, times, pick-up and return location. In case
Thus, two users do not necessarily see the same user interfaces of the example scenario the user accesses the Web portal via a
though they chose an identical navigational path through the desktop PC – the corresponding concept of the device context
application. The context-dependent selection of appropriate user ontology is activated. Due to the modeled context relations and
interfaces should be considered as supporting rather than the adaptation specifications of the presentation model a pattern is
withholding. Clearly, all essential functionality should always be selected that is suitable for Desktop PCs. For other client devices
alternatively accessible by the user (e.g. via navigation). such as PDAs or cellular phones, alternative patterns and
Figure 3. Contextually adapted user interface of a car rental feature.
respective context relations and adaptation specifications can be The integration of reliability issues for contextual knowledge
defined. Varying patterns can also be used in dependence of a would be a useful extension. Other topics for future work are the
feature’s relevance or for different user types (e.g. for visually definition of various context-specific GUI patterns as well as a
handicapped people, a CSS-stylesheet defining bigger GUI- better support for the modeling of interaction processes. The
elements can be selected). empirical investigation of different adaptation strategies and their
effect on usability issues are further topics of interest.
The user interface is generated from the Web Service’s WSDL
description. The XSLT-stylesheet renders for each parameter a
suitable XHTML form element for either the selection or the 5. REFERENCES
input of a return value, depending on the data type and the [1] Ceri, S., Daniel, F., and Matera, M.: Extending WebML for
number of provided return values (the interplay of form elements Modelling Multi-channel Context-aware Web Applications.
is not considered here). The parameter name is used for labeling, In Proceedings of the 4th International Conference on Web
permitted return values can be derived from the XML Schema Information Systems Engineering WISE - MMIS'03
definition. Workshop, IEEE, 2003, 615-626.
[2] Ceri, S., Fraternali, P., and Bongio, A.: Web Modeling
3.4 Parameterization Language (WebML): A Modelling Language for Designing
In the last step, the user interface is pre-parameterized according Web Sites. Computer Networks, 33(1–6), 2000, 137-157.
to the contextual situation to provide initial support for user
[3] Hesse, W.: Ontologies in the Software Engineering process.
interaction. To achieve this, context relations must be defined
In (R. Lenz et al., Ed.): EAI 2005 - Proceedings of the
between parameters of the operational features and concepts of
Workshop on Enterprise Application Integration, GITO,
the context ontologies. The arrows linking the two screens in
Berlin 2005.
figure 3 illustrate these relations. The activated concepts of the
context ontology (screen on the right hand side) determine the [4] Kaltz, J.W., and Ziegler, J.: Supporting Systematic Usage of
parameter selection in the Web page (screen on the left hand Context in Web Applications. In 19th International FLAIRS
side). In the example given, the parameter ‘model’ is mapped with Conference, special track on Modeling and Applying
the user’s favorite car model and the parameter ‘color’ with the Contexts in the Real World (MAC-06). AAAI, 2006.
user’s favorite car color. The parameter ‘convertible’ is mapped [5] Kaltz, J. W., Ziegler, J., and Lohmann, S.: Context-aware
with the season and the pick-up point with the user’s current Web Engineering: Modeling and Applications. RIA - Revue
location. If a mapped context concept is activated and belongs to d'Intelligence Artificielle, Special Issue on Applying Context
the permitted return values it is selected as default in the user Management, 19(3), 439-458.
interface (e.g. by preselection in the drop-down listbox).
[6] Kappel, G., Pröll, B., Retschitzegger, W., and Schwinger,
Generally, the danger of erroneous mapping or incorrectly W.: Customisation for Ubiquitous Web Applications - a
retrieved context exists and can confuse instead of support the Comparison of Approaches. International Journal of Web
user. Engineering Technology 1, 2003, 79-111.
[7] Koch, N.: Software Engineering for Adaptive Hypermedia
4. CONCLUSION AND FUTURE WORK Systems: Reference Model, Modeling Techniques and
In this paper, we have presented an approach for the incorporation
Development Process. PhD thesis, Ludwig-Maximilians-
of contextual knowledge in the dynamic generation of Web user
Universität München, 2001.
interfaces for operational features. Contextual influences are
considered in the Web application modeling process right from [8] Kraus, A., and Koch, N.: Generation of Web Applications
the start for different parts of the generation process: selection, from UML Models using an XML Publishing Framework. In
presentation, and parameterization. The approach builds upon the Proceedings of the 6th World Conference on Integrated
CATWALK framework that provides run-time generation of Design and Process Technology (IDPT), 1, 2002.
context-adaptive Web applications. We have shown how the [9] Manolescu, I., Brambilla, M., Ceri, S., Comai, S., and
incorporation of contextual knowledge can support user Fraternali, P.: Model-driven design and deployment of
interaction and may lead to better usability that could make the service-enabled web applications. ACM Transactions on
additional modeling effort worthwhile in certain cases. Likewise, Internet Technology, 5(3), 2005, 439-479.
it has become apparent that incorrect adaptation can confuse the
user and reduce interaction quality. Thus, automation possibilities [10] Wissen, M., and Ziegler, J.: A Methodology for the
are restricted to some degree and careful modeling is demanded. Component-Based Development of Web Applications. In
Proceedings of 10th International Conference on Human -
Computer Interaction, 1, Crete, Greece, 2003.