PhD DATABASE

Title:  
XGuide - Concurrent Web Development with Contracts
Abstract:  
    In this dissertation we propose the XGuide Web development method. XGuide focuses on the
timely development of Web applications while guaranteeing high-quality designs and reusable
implementation artifacts. It supports the whole life-cycle of a Web application and covers the
analysis, design, implementation and maintenance phases.
    The central idea in XGuide is to bring the well-established software engineering concepts of
interfaces and contracts to the Web engineering domain. Contracts clearly state the requirements
and internal dependencies of Web pages and act as specifications for a subsequent implemen-
tation. To support multiple activities being carried out in parallel by different people, XGuide
introduces multi-dimensional contracts that enable the concurrent development of implementa-
tion concerns such as the content, the graphical appearance and the application logic.
    In addition to the parallel implementation phase, contracts also enable the definition of Web
components—reusable page fragments that get assembled to form the final Web page. A Web
component is fully specified by its contract and contract composition defines the rules for em-
bedding components into pages.
    The short innovation cycles on the Web further require a Web development methodology to
constantly cope with new requirements. In XGuide, a formal definition of contracts and their
composition is the foundation for an open contract model that can integrate new concerns such
as access control, meta-data or device independence as separate modules.
    The XGuide process applies a model-driven approach to Web development that iteratively
refines initial requirements into design diagrams, contracts and implementation components. Af-
ter the initial deployment, XGuide directly maps maintenance and evolution tasks to updates of
the design models (i.e., diagrams and contracts). Model updates trigger a new iteration of the
XGuide process, i.e., follow the same contract-based, parallel implementation paradigm. This
round-trip engineering ensures that models remain consistent with the implementation and guar-
antees well-structured and easy to trace projects.
    In order to support the application of XGuide in real-world Web projects, we implemented
the XSuite Web development environment. The purpose of the XSuite IDE is to support the de-
veloper in all phases of the XGuide process. Visual design models are automatically transcoded
into contracts and wizards assist in creating pages, composing contracts and deploying the ap-
plication. XSuite is built on top of the generic Eclipse framework and integrates a Java IDE, a
version control system and a Web server into the actual Web development environment.
    The practicality of the XGuide method and the XSuite tool suite is demonstrated in the im-
plementation of the Vienna International Festival 2003 (VIF) case study.
URL:  
Area of Science:  
Web Engineering
PhD Student:  
Clemens Kerer
E-mail:  
Scientific Adviser:  
Mehdi Jazayeri
E-mail:  
University:  
Technical University of Vienna
City:  
Vienna
Country:  
Austria