=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== https://ceur-ws.org/Vol-214/paper3.pdf
         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.