[Back]


Doctor's Theses (authored and supervised):

C. Kerer:
"XGuide - Concurrent Web Development with Contracts";
Supervisor, Reviewer: M. Jazayeri, G. Kappel; Institut für Informationssysteme, 2003.



English 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 implementation. To support multiple activities being
carried out in parallel by different people, XGuide introduces
multi-dimensional contracts that enable the concurrent development of
implementation 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 embedding 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. After 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 guarantees 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 developer 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 application. 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 implementation of the Vienna International
Festival 2003 (VIF) case study.

German abstract:
Diese Dissertation stellt die XGuide Web Entwicklungsmethode vor.
XGuide betont die termingerechte Entwicklung von Webapplikationen und
garantiert qualitativ hochwertige Designdokumente und
wiederverwendbare Implementierungen. Es unterstützt den vollen
Lebenszyklus von Webapplikationen und deckt die Phasen Analyse,
Design, Implementierung und Wartung ab.

Die zentrale Idee in XGuide ist die Einführung der bewährten
Software Engineering Konzepte "Interface" und "Vertrag" in die
Domäne des Web Engineering. Verträge legen die Anforderungen
und internen Abhängigkeiten von Webseiten fest und fungieren als
Spezifikationen für die folgende Implementierung. Um die parallele
Durchführung von Implementierungstätigkeiten durch
unterschiedliche Personen zu fördern, führt XGuide sogenannte
mehrdimensionale Verträge ein, die die zeitgleiche Entwicklung von
Teilen der Implementierung wie dem Inhalt, der grafischen
Repräsentation und der Applikationslogik ermöglichen.

Zusätzlich zur gleichzeitigen Implementierung unterstützen
Verträge auch die Definition von Web-Komponenten:
wiederverwendbaren Fragmenten, die zu Webseiten zusammengesetzt
werden. Eine Web-Komponente ist durch ihren Vertrag vollkommen
spezifiziert und das Zusammensetzen von Verträgen gibt die Regeln
für die Integration von Komponenten in Seiten vor.

Aufgrund der kurzen Innovationszyklen des World-Wide Web werden Web
Entwicklungsmethoden ständig mit neuen Anforderungen konfrontiert.
Eine formale Definition von Verträgen und deren Komposition bildet
die Grundlage für ein offenes und erweiterbares Vertragsmodell in
XGuide, das neue Anforderungen wie Zugriffskontrolle, Meta-Daten oder
Geräteunabhängigkeit als getrennte Module realisieren kann.

Der XGuide Prozess verwendet einen modellbasierten Ansatz, der
anfängliche Anforderungen schrittweise in Designdiagramme,
Verträge und Implementierungskomponenten umwandelt. In der
Wartungsphase werden alle Änderungen als Aktualisierung der
Diagramme und Verträge formuliert, die sich letztendlich in der
Implementierung wiederfinden. Diese iterative Vorgehensweise stellt
sicher, dass alle Designmodelle mit der Implementierung konsistent
sind und gewährleistet gut strukturierte Projekte und
nachvollziehbare Änderungen.

Um den Einsatz von XGuide in echten Web Projekten zu unterstützen,
entwickelten wir das XSuite Entwicklungswerkzeug. Das Ziel der XSuite
IDE ist es, die Entwickler in allen Phasen des XGuide Prozessmodelles
zu unterstützen. Grafische Designmodelle werden automatisch in
Verträge umgewandelt und Assistenten bieten Hilfe bei der
Erstellung von neuen Seiten, beim Zusammensetzen von Verträgen und
bei der Installation der Webapplikation. XSuite setzt auf das
generische Entwicklungsmodell von Eclipse auf und integriert eine Java
IDE, ein System zur Versionskontrolle und einen Web Server in die
eigentliche Web Entwicklungsumgebung.

Die Umsetzbarkeit des XGuide Prozesses und die Anwendbarkeit des
XSuite Softwarepaketes wird anhand der Implementierung der
Webapplikation für die Wiener Festwochen 2003 demonstriert.


Electronic version of the publication:
http://www.infosys.tuwien.ac.at/Staff/ck/downloads/xguide.pdf


Created from the Publication Database of the Vienna University of Technology.