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