Assertions to better specify the amazon bug

Modern Web applications are mainly distributed systems that exploit the Internet as communication means and the Web as neutral interface to access services and data. The addition of services to Web applications poses problems that are usually tackled at the technology level, but that should be addressed during design to deliver quality Web applications. A typical example of these problems is the Amazon bug, an annoying problem that the user could encounter if after adding products to his shopping cart, he rolls back to a page with a previous version of the cart and tries to buy it. This would make the user buy the last version of the cart's contents, which in some subtle cases could be different from what expected.In this paper, we do not want to discuss all design aspects, but only how provided services/operations should jointly be designed with the rest of the system. We propose a new reference model for Web applications: Operations require a more complex model where they are not simply appended to information and navigation elements, but they can cooperate with them. Besides the reference model, the paper proposes the use of assertions to constraint the behavior of designed operations. Assertions do not only predicate on how data should be modified, but must also take into account how presentation and navigation could be affected by the execution of the operation.

[1]  Gustavo Rossi,et al.  An Object Oriented Approach to Web-Based Applications Design , 1998, Theory Pract. Object Syst..

[2]  Sven Ziemer An Architecture for Web Applications , 2002 .

[3]  Mary Lou Soffa,et al.  Automated test oracles for GUIs , 2000, SIGSOFT '00/FSE-8.

[4]  Tomás Isakowitz,et al.  RMM: a methodology for structured hypermedia design , 1995, CACM.

[5]  Franca Garzotto,et al.  HDM—a model for the design of hypertext applications , 1991, HYPERTEXT '91.

[6]  Vicente Pelechano,et al.  From Object Oriented Conceptual Modeling to Automated Programming in Java , 1998, ER.

[7]  Gerti Kappel,et al.  Modeling Ubiquitous Web Applications - A Comparison of Approaches , 2001 .

[8]  Stefano Ceri,et al.  Modeling Data Entry and Operations in WebML , 2000, WebDB.

[9]  Nicholas Kassem,et al.  Designing Enterprise Applications: Java 2 Platform , 2000 .

[10]  Luciano Baresi,et al.  From Web Sites to Web Applications: New Issues for Conceptual Modeling , 2000, ER.

[11]  R. Kramer iContract - The Java(tm) Design by Contract(tm) Tool , 1998 .

[12]  Garry D. Coleman,et al.  Advancing the Standard , 1999 .

[13]  Nora Koch,et al.  A UML-based Methodology for Hypermedia Design , 2000, UML.

[14]  Frank Manola Technologies for a Web Object Model , 1999, IEEE Internet Comput..

[15]  Paolo Paolini,et al.  Model-driven development of Web applications: the AutoWeb system , 2000, TOIS.

[16]  Martin Gaedke,et al.  Web Engineering , 2002, J. Web Eng..

[17]  Jim Conallen,et al.  Building Web applications with UML , 1999 .