Designing Interaction Spaces for Rich Internet Applications with UML

Similar documents
Prototyping Navigation in Web-Based Information Systems Using WebML

Considering Additional Adaptation Concerns in the Design of Web Applications

Adaptive Web Based Application Development Annan Naidu Paidi Asst.Professor of CSE Centurion University, India.

Hypermedia Modelling Using UML

Applying Interaction Patterns: Towards a Model-Driven Approach for Rich Internet Applications Development

Modelling Browsing Semantics in Hypertexts Using UML

Model-Driven Design of Web Applications with Client-Side Adaptation

A Notation and Framework for Dialog Flow Control in Web Applications

Publishing Model for Web Applications: A User-Centered Approach

A System of Patterns for Web Navigation

Finalizing Dialog Models at Runtime

Real Time Synchronization for Creativity in Distributed Innovation Teams

A Method for Model Based Design of Rich Internet Application Interactive User Interfaces

Auto-Generating Test Sequences for Web Applications *

Web Applications Usability Testing With Task Model Skeletons

Model-Driven Design of Web Applications with Client-Side Adaptation

Authoring Multi-device Web Applications with Database Access

Methods for Complex Web Hypermedia Application: The Design Processes

Adapting Web 1.0 User Interfaces to Web 2.0 Multidevice User Interfaces using RUX-Method

From Web Sites to Web Applications: New Issues for Conceptual Modeling

Specification of web applications design in CASE using UML and its mapping to an implementation environment

Adding Usability to Web Engineering Models and Tools

Published in: Proceedings of the Eighth Danish Human-Computer Interaction Research Symposium, 20th November 2008

A Model Driven Approach based on Interaction Flow Modeling Language to Generate Rich Internet Applications

Annotation for the Semantic Web During Website Development

Exploiting Web Service Annotations in Model-based User Interface Development

Preserving Rich User Interface State in Web Applications across Various Platforms

A METAMODEL FOR WEB PAGE DESIGN

Streamlining Complexity: Conceptual Page Re-modeling for Rich Internet Applications

Improving Adaptive Hypermedia by Adding Semantics

A component-centric UML based approach for modeling the architecture of web applications.

Designing and Automatically Generating Educational Adaptive Hypermedia Applications

A Design Rationale Representation for Model-Based Designs in Software Engineering

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

An Annotation Tool for Semantic Documents

Methodologies for Web Information System Design

The Construction of Web Navigation Model in Online Automated Universities Students Matching System (OAUSMS)

Autodesk Architectural Desktop Real-World Workflow Methodology

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

Requirements Models as First Class Entities in Model-Driven Web Engineering

Augmenting Reality with Projected Interactive Displays

TIMES A Tool for Modelling and Implementation of Embedded Systems

A Multidimensional Approach for Modelling and Supporting Adaptive Hypermedia Systems

Modelling of Adaptive Hypermedia Systems

A Model Driven Approach to Design Web Services in a Web Engineering Method 1

A Service-Centric Architecture for Web Applications

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

Architecture-Centric Evolution in Software Product Lines:

Contents STYLE DETAILS UPDATE 3 TOOL BAR ADDITIONS.. 5 CUSTOM BACKGROUNDS 5 PERSPECTIVE VIEW 6 DYNAMIC SCREEN RENDER. 6 DUAL SCREEN OPTION 6

Mapping ConcurTaskTrees into UML 2.0

DesignMinders: A Design Knowledge Collaboration Approach

FedX: A Federation Layer for Distributed Query Processing on Linked Open Data

UNIT-4 Behavioral Diagrams

Meltem Özturan

Generic Adaptation Process

Group SOZ Evaluation of Project. CSE 4461 Hypermedia & Multimedia Tech XI SONG, SHUNICHI OCHIAI, XIAO ZENG

From Interface Mockups to Web Application Models

Unifying Adaptive Learning Environments: authoring styles in the GRAPPLE project

Adaptive Medical Information Delivery Combining User, Task and Situation Models

Enriching Lifelong User Modelling with the Social e- Networking and e-commerce Pieces of the Puzzle

A Top-Down Visual Approach to GUI development

Enterprise Architect Training Courses

Extending WebML for modeling multi-channel context-aware Web applications

From Task to Dialog model in the UML

UML-Based Conceptual Modeling of Pattern-Bases

Modelling of an Adaptive Hypermedia System Based on Active Rules

HyperSD: a Semantic Desktop as a Semantic Web Application

Practical Methods for Adapting Services Using Enterprise Service Bus *

On the Challenges of Composing Multi-View Models

Modernization of Legacy Web Applications into Rich Internet Applications

Developing CASE tools which support integrated development notations

A UML-based Methodology for Hypermedia Design

The Guilet Dialog Model and Dialog Core for Graphical User Interfaces

ODA : PROCESSING MODEL DESIGN FOR LINKING DOCUMENT

Creating Multimedia SWF Products

The Five Rooms Project

The Personal Knowledge Workbench of the NEPOMUK Semantic Desktop

Web Application Development: Java,.Net and Lamp at the Same Time *

Model Migration Case for TTC 2010

Objectives. Object-Oriented Analysis and Design with the Unified Process 2

Business Activity. predecessor Activity Description. from * successor * to. Performer is performer has attribute.

Chapter 4 Extending MARIA to Support Distributed User Interfaces

Contents Contents 1 Introduction Entity Types... 37

EMF Refactor: Specification and Application of Model Refactorings within the Eclipse Modeling Framework

CISC 322 Software Architecture

Ontology Driven Dynamic Web Interface Generation

What's New in UML 2.0

Creating and Running Mobile Agents with XJ DOME

How to Exploit Abstract User Interfaces in MARIA

Real-Time Coordination in Distributed Multimedia Systems

Making Semantic Web based-hypermedia Applications

Design Verification of Web Applications Using Symbolic Model Checking

A Digital Library Framework for Reusing e-learning Video Documents

Test Cases Generation from UML Activity Diagrams

Implementing a Real-Time Architecting Method in a Commercial CASE Tool

Software Service Engineering

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

Business Process Modelling

Visual Model Editor for Supporting Collaborative Semantic Modeling

NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or

Transcription:

Designing Interaction Spaces for Rich Internet Applications with UML Peter Dolog and Jan Stage Aalborg University, Department of Computer Science, Fredrik Bajers Vej 7, DK-9220 Aalborg East, Denmark {dolog,jans}@cs.aau.dk Abstract. In this paper, we propose a new method for designing rich internet applications. The design process uses results from an object-oriented analysis and employs interaction spaces as the basic abstraction mechanism. State diagrams are employed as refinements of interaction spaces and task models to specify synchronization events and follow up actions on the client and server side. The notation is based on UML. Keywords: Rich Internet Applications, software design, interaction spaces, state diagrams. 1 Introduction Rich internet applications have been introduced as a response to the limitations in richness that web users experience compared to desktop applications [7, 8]. They employ technologies such as Flesh from Adobe, ActiveX, or recently AJAX technology [11]. The term Rich Internet Applications has been launched first by Macromedia. Later, this technology has also been adopted by others, for example Google and Flickr. Such applications introduce additional complexity connected with asynchronous communication and synchronization problems as some data are being held and processed at the client side. This influences software engineering methods to build such applications. In this paper we propose a method for rich internet application design with UML. The method combines interaction spaces and task models [10] with UML based design for adaptive web applications [6]. This combination provides the following advantages: Interaction spaces and task models are natural metaphors for designing user interface fragments that a web user will interact with and move beyond traditional web site and web content abstractions. The UML statechart diagrams provide means to define user interaction events, synchronization events between client and server as well as synchronization events between fragments of the user interface. L. Baresi, P. Fraternali, and G.-J. Houben (Eds.): ICWE 2007, LNCS 4607, pp. 358 363, 2007. Springer-Verlag Berlin Heidelberg 2007

Designing Interaction Spaces for Rich Internet Applications with UML 359 The rest of the paper is structured as follows. Section 2 presents the method for designing rich internet applications with illustrative examples. Section 3 relates the method to the other work in the area. Finally, section 4 provides conclusions and proposals for further work. 2 Design Process and Techniques Figure 1 is an activity model of our method where: Data Model describes the problem domain classes needed for application and that are used in use cases and tasks; Use Case Model provides the context for which the software system is going to be used; Task Model is a refinement of each use case. It describes the activities that are performed during each use case in terms of a UML statechart diagram. Interaction Space Model is a refinement of each task model. It describes structural details of corresponding task flows where a user interaction is needed. Guide Model is a refinement of the task model. It provides navigation and synchronization details on user interaction from software behaviour point of view. Mapping to Implementation maps the design abstractions to the appropriate implementation according to the UML Guide principles [5] employing tagged values, side effect actions and transformations to the running code. Fig. 1. A design process for rich internet applications Scenario. The discussion in this section is based on an example of a rich internet application for furniture configuration. The case envisions a website for buying furniture (like IKEA). Consider for example that a user has found a piece of furniture that he considers buying for his living room. He would like to see if it fits into the room with his other furniture and find the model and colour that looks best. He chooses the model page to accomplish this. In that page, he first draws the living room by giving sizes of floor and wall. He also gives the walls and floor colours. Then he puts in furniture sketches of his existing furniture. This is simply done by selecting types and colours from a palette. Now he puts in the new piece of furniture. He determines the various properties of this item, e.g. colour and model, by choosing from the online catalogue. He can change his point of view to see the furniture from different angles. He is able to change the room by moving the existing furniture

360 P. Dolog and J. Stage around. When he is finished, he saves the furniture configuration under his own profile. Once the room is finished, it can be posted to the application server in order to allow the shop to determine whether the requested items are in stock and if necessary recommend alternative options. Data and Use Case Model. Data and Use Case modelling follows traditional object oriented principles [9] when describing application domain classes, concepts, associations, aggregations and generalization/specialization. A number of use cases can be identified from the scenario in above such as Draw a room with walls and floor, Make a furniture configuration with existing furniture (Room items), Put in new furniture (Store items), Edit a furniture configuration (change colour etc.), and so on. Each use case is described in a textual version and can be depicted in a graphical form on a use case model showing the relationships to the other use cases. Fig. 2. An excerpt of a task model for furniture configuration Task and Interaction Space Model. Each use case can also be expressed as a statechart diagram [9]. An excerpt of a task model for our scenario is shown in Figure 3. The transitions are user actions, and the states represent the results of the user actions displayed at a user interface. In accordance with [10], the task models are enriched with interaction spaces, forming the elements of user interaction design for each use case. Interaction spaces are conceptual elements which prescribe how particular tasks will be supported by a user interface. RoomBrowser RoomConfiguration * Room FloorPlanViewer FurnitureListBrowser 1 1 Furniture configuration Furniture list 1 Room a) b) Fig. 3. Interaction spaces for room furniture configuration with data model classes: a) SelectRoom b) SelectItem and move it

Designing Interaction Spaces for Rich Internet Applications with UML 361 Figure 4 depicts a typical example of interaction spaces with a browser and a view for a problem domain class. Furthermore, each interaction space is further connected to data classes that it is using. For each transition and state in the task model, we consider relevant interaction spaces. For example, we need a Room browser that shows all the user s rooms. Selection is made by pointing out one object in the list. We need a Floor plan viewer and a Furniture list browser to show the contents of the room. In this list, an object can be selected by pointing it out. Moving around should be a drag and drop type of function. These two interaction spaces are parts of an overall interaction space that we call RoomConfiguration. Finally, we need an interaction space for saving the furniture configuration. Guide Model. Statechart diagrams are used in the UML-Guide [6] for modelling user navigation in a hypertext; each state represents the production of a given information chunk on the device observed by a user, and each state transition represents an event caused by user interaction that leads to the production of a new chunk of information. State diagrams therefore provide an abstraction of hypertext trails, where each trail can be adapted by taking into account the user background, level of knowledge, preferences and so on [5, 6]. Atomic states, super states, history states, fork and join are additional symbols to describe composition, concurrent execution, remembering, and so on. Events, guards, and side effect actions are used to specify constraints, triggers, operations for example for synchronizing user and display data as well as adaptation rules. As each interaction space has already data context through a link to data classes and to the tasks to be performed, it is sufficient to map set of tasks from task model to UML states. Functional dependencies between interaction spaces and their states are modelled as state transitions with parameter passing. These transitions ensure that the user interface will be in consistent and synchronized state. In case of highly interactive activities at the user interface the transitions also ensure that the data is updated according to the user activity. Fig. 4. An excerpt of the UML guide model for furniture configuration

362 P. Dolog and J. Stage Figure 4 depicts an excerpt of a navigation model according to UML-Guide. The model is a refinement of the task model presented in the beginning of this section. There are two dialog steps: RoomBrowser and Room&Store. The Room&Store incorporates 3 concurrent regions representing three concurrently presented dialog steps: RoomItems, StoreItems and RecommendedStoreItems. Whenever a user selects an item from store items (SelectItem event on the transition from StoreItems), the item is placed into the room by synchronization invoked Room.addItem function. The model at the client side is reinitialized and client side functions such as jsroom.showitems() re-renders the displays considering the added item as part of the scene. More interesting situation happens whenever user selects an item in a room: an event occurs which triggers a synchronizing action with a server of furniture shop and recommended items based on similarity functions and user preferences (GetRec(selected) function). Additional parameters can be specified such as booking history and so on. 3 Related Work A WebML extension for rich internet applications has been proposed in [2] with new units for the client side operation of a web application. In our approach, we propose an alternative UML-based design technique focusing user interaction and behavioral characteristics of navigation with client site business logic and asynchronous communication between server and client. Task models have been already employed as a means to model complex processes for web applications in WSDM [4]. Similarly to our approach, the tasks are used to describe control flow between user activities and their decompositions to web application internal operations. In our work we use the tasks model together with the interaction spaces. Furthermore, we use decomposition techniques to UML Guide for adaptive navigation design to specify synchronization of different web page fragments and request the data needed for them. Interactive Dialog Model (IDM) [1] relates to our approach through its focus on user interaction. It is based on a map based technique for user dialog specification on the web connected to data and content. SHDM [3] uses semantic web conceptual model to specify structural features of the user interface widgets. Widgets are also a central part of the interaction space specifications. They are used to specify parts of the interaction space in terms of data and interaction facilities. In [12], authors make use of sequence diagrams to synchronize different devices. The technique might be applicable for the rich internet applications as well in combination with the techniques proposed in this paper and in our technique. 4 Conclusion We have proposed a new UML-based design method for rich internet applications. It is based on the task models, interactions spaces, and web interaction and navigation specification in the UML-Guide. It provides direct means to analyze user interaction

Designing Interaction Spaces for Rich Internet Applications with UML 363 as well as asynchronous communication between web client and web server. It reflects the need to have a part of the business logic at the client side. It provides a flexibility with respect to the web page design as this decisions are made later in the design stage according to the UML-Guide principles. In our further work we plan to conduct larger set of studies about features of this technique. We would like to also see how to further support a designer with some tools which would ease the design refinements. References 1. Bolchini, D., Paolini, P.: Interactive Dialogue Model: A Design Technique for Multichannel Applications. IEEE Transactions Multimedia 8(3) (2006) 2. Bozzon, A., Comai, S., Fraternali, P., Carughi, G., T.: Conceptual Modeling and Code Generation for Rich Internet Applications. In: ICWE2006. International Conference on Web Engineering, Palo Alto, California USA, ACM Press, New York, NY, USA (2006) 3. De Moura, S., Schwabe, D.S.: Interface Development for Hypermedia Applications in the Semantic Web. In: La-Web 2004 Proceedings. IEEE Press, Orlando, Florida (2004) 4. De Troyer, O., Casteleyn, S.: Modeling Complex Processes for Web Applications using WSDM. In: Lovelle, J.M.C., Rodríguez, B.M.G., Gayo, J.E.L., Ruiz, M.d.P.P., Aguilar, L.J. (eds.) ICWE 2003. LNCS, vol. 2722, Springer, Heidelberg (2003) 5. Dolog, P.: Engineering Adaptive Web Applications. Doctoral dissertation. University of Hannover (March 2006) 6. Dolog, P., Nejdl, W.: Using UML and XMI for Generating Adaptive Navigation Sequences in Web-Based Systems. In: Stevens, P., Whittle, J., Booch, G. (eds.) «UML» 2003 - The Unified Modeling Language. Modeling Languages and Applications. LNCS, vol. 2863, Springer, Heidelberg (2003) 7. Driver, M., Valdes, R., Phifer, G.: Rich Internet Applications Are the Next Evolution of the Web. Technical report, Gartner (May 2005) 8. Duhl, J.: Rich Internet Applications. White Paper, IDC (November 2003) 9. Mathiassen, L., Munk-Madsen, A., Nielsen, P. A., Stage, J.: Object-Oriented Analysis & Design. Aalborg: Marko (2000) 10. Nielsen, C.M., Overgaard, M., Pedersen, M.B., Stage, J., Stenild, S.: Exploring Interaction Space as Abstraction Mechanism for Task-Based User Interface Design. In: Coninx, K., Luyten, K., Schneider, K.A. (eds.) TAMODIA 2006. LNCS, vol. 4385, Springer, Heidelberg (2007) 11. Paulson, L.D.: Building Rich Web Applications with Ajax. Computer 38(10), 14 17 (2005) 12. Vandervelpen, C., Vanderhulst, G., Luyten, K., Coninx, K.: Light-Weight Distributed Web Interfaces: Preparing the Web for Heterogeneous Environments. In: Lowe, D., Gaedke, M. (eds.) ICWE 2005. LNCS, vol. 3579, pp. 197 202. Springer, Heidelberg (2005)