Web Navigation Modeling with Ad Lib Statecharts
Total Page:16
File Type:pdf, Size:1020Kb
Web Navigation Modeling with ad lib Statecharts ¡ ¢ ¢ Karl R.P.H. Leung Ricky W.M. Tang Lucas C.K. Hui ¡ Department of Computing and Mathematics, Hong Kong Institute of Vocational Education (Tsing Yi), Hong Kong. email: [email protected] ¢ Department of Computer Science and Information Systems, The University of Hong Kong, Hong Kong. ¤ emails: £ wmtang2, hui @csis.hku.hk Abstract Web navigation is the act of moving from web page to web page by World Wide Web users. In recent years, there is a trend towards increasing number of pages contained in web sites, and increasing complexity of web pages due to ad lib contents, such as those that result from search engines. The complexity and difficulties include modeling the ad lib web navigation and the vast variety of browser navigation facilities the user can employ. Most of the modeling methods require all components defined before use and hence do not support ad lib features. We overcome these difficulties by using ad lib Statechart, an extension of Harel’s Statechart, to model navigation of web sites which may contain ad lib contents and the navigation caused by browsers. Multiple window and multi-thread web navigation are supported by ad lib Statechart as well. Ad lib Statechart preserves the semantics of Statechart. Then Statechart semantics can be used to analyze the navigation of complex and dynamic web sites. 1 Introduction The exponential growth of the World Wide Web (WWW) and electronic commerce in recent years have given rise to a need to model and analyze the browsing semantics of web sites. Con- temporary web sites have increased number of pages and complexity due to ad lib content such as those that result from search engines. Traditional data modeling methods, such as data flow ¥ This project is partially supported by a research grant from the Research Grant Council of the Hong Kong SAR Governement. 1 diagrams, entity-relationship diagrams, and object-oriented hierarchies cannot provide the nec- essary features to model the web navigation [2]. The lack of clear, precise and formal modeling method makes documenting web navigations and validating the design of linkages between web pages difficult. Maintenance and update of the web site would be difficult also. Hence, a clear, precise and formal modeling method is needed to solve these problems. It can help to identify and eliminate undesirable situations and improve the quality of web contents development. Modeling web navigation may not be as easy as it seems. The WWW can be viewed as the collection of web servers that communicates with web browser using the HTTP protocol in request-reply pairs, and stream out the requested content written in the Hypertext Markup Language (HTML). HTML creates some navigation features that are not available by hypertext alone. Examples include dynamic content, embedded executable programs and dynamic link- ages. The WWW can be used for information processing in addition to the traditional information retrieval role performed by hypertext systems. Web pages and links replace information frag- ments and relationships, respectively, in the hypertext systems. Users navigate from a web page to the other by clicking on a hyperlink. Besides this basic navigation method, various clien- t side scripts and programs, such as Javascript [24], VBScript [5], JAVA [6] and ActiveX [1], provide other ways to control navigation between different web pages without clicking a link. For the purpose of information processing, dynamic HTML and ActiveX components are also widely employed to change the content and hyperlinks of the currently displaying web page. Concurrent display of web pages is possible by the use of frames and windows. Synchronization between the concurrently displayed web pages can be achieved using functions of the client side scripts and control programs. Previous works on modeling web navigation [23, 21] treat the web as a kind of hyperdocu- ment and can only support modeling of simple and static web pages. Complex, dynamic contem- porary web pages, which are the most in need of modeling, cannot be modeled. Furthermore, the web navigation initiated by the browsers cannot be modeled either. A web navigation modeling method need to have the following features: Abstraction Abstraction is almost the only feasible technique for human beings to handle large volume of information. Just like reading atlas, web navigators and designers need different levels of details, such as overview, of their navigations at different time. Support ad lib Features In web navigations, users are free to go to any web pages. Very often, these Web pages are not known beforehand. Most of the modeling methods, like DFD and Petri-net, possess the principle of defined before use. They do not support ad lib features, i.e. they cannot add components to the model during run time. These modeling methods are unable to model web navigation properly. Consistent Mapping Web navigation features should be modeled consistently. There must be no ambiguity in interpreting the model. Different readers should interpret the model in the same way. Comprehensive All kinds of web navigation should be modeled. Omission of any kind of navigation would lead to incompleteness and weakens its usefulness. 2 Analytical Ability The modeling method should support formal and systematic analysis of the web navigation model. Fitness The modeling method should fit the web navigation well. There should not be many features which are not used by the web navigation modeling method. User Friendliness The web navigation model should be easy to use and easy to be understood, even by non-technical readers. Statechart [10] is a formal model that contains rich features to model web navigation. We studied web navigation modeling with Statechart and some preliminary results have been dis- cussed in [17]. In this paper, we employ ad lib Statechart [16], an extension of Statechart with dynamic features, to solve the more complex problems of modeling web navigation. In the rest of this paper, some related works are discussed in Section 2. A brief overview of Statechart and ad lib Statechart are discussed in Section 3. Some basic definitions of web pages are defined in Section 4. Modeling of web navigation by hyperlinks and browsers are discussed in Section 5 and Section 6, respectively. Then we discuss and conclude our work in Section 7. 2 Related Works There are many research works on modeling hypertext [22, 25]. Most of these works claimed that their results can be applied in web navigation also. Unfortunately, these techniques can only be applied to those old style static web pages which have no ad lib contents. All these hypertext modeling techniques are not applicable to web navigations with dynamic features. Web navigation are modelled by web page content together with their intra-linkages in [3, 19]. These models give a general shape of the information space when browsing the web pages in an “overview” mode. They are not comprehensive since many web navigation features are not included in these studies. EFSM [14] is an extended finite state machine to model temporal synchronization of temporal interactive web content. The model lacks the abstraction facility. It would be blown up to unmanageable size for complex web sites. HMData [12] is an object oriented modeling method for storage and retrieval of hypermedia. This modular approach discourages linkages between individual elements of different modules, and is not suitable for modeling extensive spaghetti-like web linkages. In another object oriented approach, Conallen [4] discussed using the common behavior package in Unified Modeling Language (UML) [20] to model the business logic in web appli- cations. Many components of UML are not used in the modeling. This makes UML an overkill method for this purpose. Furthermore, some user interface attributes affecting presentation and browsing semantics of web navigation are intentionally left out. Hence this modeling method can be seen as a compliment to our model to supply information about business logic. On the same track with us, HMBS [23] (Hypertext Model Based on Statecharts) uses S- tatechart [7] as a modeling tool. HMBS aims to support behavioral modeling in the design of hypermedia. But there are no well-defined mappings between hypertext and Statechart. Users 3 are allowed to define them on their own. This would cause difficulties in obtaining consistent interpretation of the model. Ad lib navigation features are not supported by HMBS either. 3 Statechart and ad lib Statechart 3.1 Statechart Statechart [10] was first proposed by Harel in 1987. It is a visual formalism used to extend state diagrams for modeling of complex systems that involve large number of concurrent states, synchronizations and action triggers. Detailed semantics of statechart can be found in Harel [10, 9]. The primitive notion activity is what all the other components are based on. Activity refers to something which is happening or being done in the system under study. State represents a collection of activities which may or may not be running concurrently. Transition captures the change from one state to another and is presented as an event-condition- action rule. A transition occurs only if the specified event takes place resulting in the condition being true and hence activating the specified action. The components of the rule are further explained next. Event can be perceived as the preparation activities necessary to determine whether a transition is to take place. It is a compulsory component in a ECA rule. Condition determines whether a transition is to take place and is optional in a ECA rule. Action corresponds to the activities to be carried out when a transition is established and is optional in a ECA rule. Statechart closely resembles the Mealy machines [13] studied in automata theory. For this reason the statechart definition given below is based on that of Mealy machines.