Evaluating the Consistency between Navigation and Data Models for Web Applications

Evaluating the Consistency between Navigation and Data Models for Web Applications

Jordi Cabot (INRIA - Ecole des Mines de Nantes, France) and Cristina Gómez (Universitat Politècnica de Catalunya, Spain)
Copyright: © 2010 |Pages: 18
DOI: 10.4018/jismd.2010070104
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Specification of web applications involves the definition of two main viewpoints: the navigation model and the data model. Thus far, correctness analysis of the relationship between both models has received little attention. In this paper, the authors present a set of correctness properties to evaluate the consistency of a navigation model with respect to its corresponding data model. Mainly, this paper focuses on the completeness of the navigation model (i.e., if users can manipulate all of the data through the operations in the navigation model) and its executability (i.e., whether all navigation paths admit at least one possible run-time execution that leaves the application data in a consistent state).
Article Preview

Introduction

Web development methods have evolved to cover the definition of full-fledged web applications, including data processing and manipulation functionalities. As a consequence, the software models involved in the specification of web applications (i.e., the data model to specify the data manipulated by the application, the navigation model to describe the organization of the front-end interface and the presentation model to personalize its graphical aspect) have been extended with new modeling primitives.

One of the most relevant evolutions is the extension of navigation models with content-modification primitives to define how the user interaction with the pages and links of the navigation model modifies the underlying data of the application. These primitives may be basic CRUD (create/read/update/delete) operations, as in WebML (Ceri et al., 2002) or references to more complex operations (Pastor, Fons, Pelechano, & Abrahão, 2006) (Jakob, Schwarz, Kaiser, & Mitschang, 2006).

These new primitives complicate the correct specification of web applications. Even for small applications, data and navigation models usually turn out to be huge and complex, and, as a consequence, their definition is time consuming and error prone. Poor quality of specifications threatens the quality of the final web application, since high-level specifications are usually used to derive the implementation of the web application (e.g., (Ceri et al., 2002), (Pastor, Fons, Pelechano, & Abrahão, 2006), (Melià & Gómez, 2006), (Distante, Pedone, Rossi, & Canfora, 2007) and (Kraus, Knapp, & Koch, 2007) to name a few).

Current proposals devoted to the quality evaluation of web applications have mainly focused on the analysis of the navigation models’ structure (Alalfi, Cordy, & Dean, 2007) as its reachability or the absence of broken links. However, other interesting properties, like those relating the information in the navigation model with the data model are not considered. Indeed, we believe designers would be interested in detecting whether the navigation model is complete, executable and non-redundant as defined in this paper.

A navigation model N is complete with respect to a data model D if users can access and manipulate the values and population of all types in D by means of the read and modification operations appearing in N. It is executable when all navigation paths in N admit at least one possible run (i.e., run-time execution) that leaves the underlying data in a consistent state. It is non-redundant when there is a single navigation path to perform each functionality. As an example, consider the simple data and navigation models shown in Figure 1. Clearly, this navigation model is incomplete since it allows users to create new sales but not new sale lines (nor update/delete either sales or lines). It is not executable either. Since sales must be contain at least a sale line, every time the user tries to create a new sale s by using the NewSale page, the execution will fail since the system state is left in an inconsistent state in which s violates the minimum multiplicity of the ComposedOf relationship type.

Figure 1.

Example of data (a) and navigation models (b) for a web application

In this sense, the main goal of this paper is to complement existing correctness properties for web applications with these three new properties focusing on the consistent relationship between navigation and data models. The properties are formalized using a graph-based representation of the navigation model and checked using static analysis techniques that avoid typical efficiency problems (e.g., state-explosion problem (Clarke, Grumberg, Jha, & Lu, 2001)) of simulation-based techniques. Moreover, as a result, our analysis provides designers with valuable feedback that help them to repair possible errors in the specification.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 8: 4 Issues (2017): Forthcoming, Available for Pre-Order
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing