Examples

To show that our tools and restrictions cover a large class of applications, we have modeled four representative data-driven web applications:

 

§       A Computer Shopping web site similar to Dell site;

§       A sports web site on the motorcycle Grand Prix.

§       A travel service web application (including airline, hotel and car reservation) similar to Expedia; and

§       An online bookstore in the spirit of Barnes and Noble.

 

 

The Computer Shopping application serves as our running example.

 

Computer Shopping web site(demo)

 

The scenario implemented in this demonstration is that of a simple computer-purchasing site. The web site makes catalogs (stored in the underlying database) available to customers. It is demonstrated and offers functionality similar to Dell Web site. The specification uses 19 page schemas, 4 database relations of arities between 2 and 7, 10 state relations of arities between 0 and 5, 6 input relations of arities between 1 and 5, 5 actions relations of arities between 0 and 5, and 29 constants.

 

An overview of this site's web pages can be found here.

 

Since it involves many pages, you can either

§       Have an overview of all the pages and their corresponding specifications here, or

§       Navigate a more detailed page view here, in which you will see a top green box representing the current page and a few yellow boxes representing the pages that can be reached from that top Green box. Clicking on the different input on the green box will cause the specified navigation (and make the target page triggered by the input the current page); while clicking anywhere on a yellow box will make that page the current page. By clicking, you can navigate the whole website.

 

Customers generate purchase orders, part of which they may subsequently cancel. If an order is already shipped, the customer cannot cancel it.

In the demo, you will see three frames. The left top frame shows the dynamically generated web page. You can interact with the web site by inputting text (such as user name and password), choosing items from menus, and clicking buttons. The web site will react to your input by transferring you to a new page, posting more data and/or taking some actions such as sending confirmation emails. The left bottom frame shows the specification of the page, and the right frame shows the state as the interaction progresses. The underlying toy database can be visualized at any time by clicking the "show database" button in the right frame.

The user can start interacting with the website either by logging in as an existing user using a name and password shown in the database, or by registering first as a new user.

During the demo, please do not use the browser's navigation buttons such as "back" and "forward". You can use the navigation buttons provide in the left top frame, and please logout after you are done.

GrandPrix sport web site

 

The scenario implemented in this specification is similar to that of the Motorcycle Grand Prix Web Site (http://www.motogp.com/). The web site allows users to browse the teams, pilots, motocycle details, racing news, etc. It contains 15 page schemas, 7 database relations(arities up to 7), no state or action relations. This example is representative for applications whose functionality is restricted to browsing, without internal state changes. A detailed specification file can be found here.

 

Since it involves many pages, you can either

§       Have an overview of all the pages and their corresponding specifications here, or

§       Navigate a more detailed page view here, in which you will see a top green box representing the current page and a few yellow boxes representing the pages that can be reached from that top Green box. Clicking on the different input on the green box will cause the specified navigation (and make the target page triggered by the input the current page); while clicking anywhere on a yellow box will make that page the current page. By clicking, you can navigate the whole website.

 

 

Travel Service web site

 

The scenario implemented in this specification is that of a travel reservation site similar to part of Expedia web site (http://www.expedia.com/). The web site offers air ticket, plane and car reservation services to customers. The specification models 22 pages using 12 database relations (arities up to 10), 11 state relations (arities up to 5), 1 action relation (arity 1) and 31 constants. A detailed specification file can be found here.

 

Since it involves many pages, you can either

§       Have an overview of all the pages and their corresponding specifications here, or

§       Navigate a more detailed page view here, in which you will see a top green box representing the current page and a few yellow boxes representing the pages that can be reached from that top Green box. Clicking anywhere on a yellow box will make that page the current page. By clicking, you can navigate the whole website.

 

Bookstore web application

 

The scenario implemented in this specification is that of a simple online bookstore site similar to the Barnes&Noble Web Site (http://www.bn.com/). The web site sells books, music CD and DVD to customers. It models 35 pages using 22 database relations (arities up to 14), 7 state relations (arities up to 6) and 22 constants. A detailed specification file can be found here.

 

Since it involves many pages, you can either

§       Have an overview of all the pages and their corresponding specifications here, or

§       Navigate a more detailed page view here, in which you will see a top green box representing the current page and a few yellow boxes representing the pages that can be reached from that top Green box. Clicking anywhere on a yellow box will make that page the current page. By clicking, you can navigate the whole website.