l3 - CS 290C: Formal Models for Web Software Lecture 3:...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon
CS 290C: Formal Models for Web Software Lecture 3: Modeling Navigation Instructor: Tevfik Bultan
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Modeling Navigation Many errors in web applications are due to incorrect handling of navigation In this lecture we will argue that it is possible to model basic navigation structure of a web application using hierarchical state machines (i.e., statecharts) In a web application implementation, the navigation structure is buried in the code and is not easy to extract or understand A formal model of the navigation structure can help in design, development, testing and verification of the navigation structure
Background image of page 2
Modeling web navigation with statecharts Today I will discuss this topic based on the following paper: “Modeling Web Navigation by Statechart” Karl R.P.H. Leung, Lucas C. K. Hui, S. M. Yiu, Ricky W. M. Tang. 24 th International Computer Software and Applications Confenrence (COMPSAC 2000)
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Navigation Modeling A navigation model should show how the web pages are linked to each other: Web page (or page): An html document returned by a web server in response to a URL request through HTTP Hyperlink (or link): A directional link between a source and target webpage that is used for navigation. Can be activated explicitly by the users, using a mouse click or can be invoked automatically by the browser on some predefined events (timeout, mouse movements, etc.) It is easy to see that one can generate a graph (or equivalently a state machine) from web pages and hyperlinks However there are some complications
Background image of page 4
Complications Web pages can be both static and dynamic: Static web page: A web page that retains the same HTML for all the client requests of the same URL. It contains no reactive or executable components Dynamic web page: A web page that returns different HTML for the URL (server side dynamic behavior) and can contain reactive or executable components (client side dynamic behavior) Browser navigation capabilities In addition to hyperlinks provided in web pages, browsers provide extra navigation capabilities based on back, forward buttons, history list, or the address bar (aka location bar or URL bar)
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Complications Intra vs. inter-page navigation Inter-page navigation: This is the most common type of navigation where by activating a link in the source page we jump to the target page Intra-page navigation:There may be links to different sections of the same page
Background image of page 6
Complications Frame-based navigation Frames in browser window makes concurrent viewing of web pages possible The browser window is divided into frames, each containing a separate page for viewing Navigation within frames can happen independently Web pages in different frames can affect each other by using client side scripts Navigation with multiple windows Multiple browser windows can be used to support concurrent viewing of web pages in another way Multiple window viewing differs from frames since windows can be created or destroyed independently
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 12/27/2011 for the course CMPSC 290h taught by Professor Chong during the Fall '09 term at UCSB.

Page1 / 34

l3 - CS 290C: Formal Models for Web Software Lecture 3:...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online