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.