Welcome

Welcome! Most content you find here is devoted to my masters thesis I wrote in 2002. Other content that might be useful to you are my bookmarks and some scripts and on-line tools. Most bookmarks are ICT related. Have a look, you might discover some interesting on-line resources.

Thesis

I wrote a thesis to earn my engineering degree from the Dutch Open University. The title 'Generative Implementation Strategies for Data-Centric Web Applications' probably sounds a bit esoteric. However, this thesis analyses the problems related to interactive web-application development. Possible solutions are explored and prototyped. Please browse through my thesis report to learn more.

The thesis report is accompanied with a presentation in Dutch, the developed software and a demo that was generated with the developed tools.

Abstract

Generic presentation layer abstractions of administrative web applications are the central theme of this thesis. Such abstractions are the building blocks for new implementations.

First the question is answered why web implementations are attractive. A web technology classification is used to assess current shortcomings and inspires an alternative design. Next, reuse in a web context is investigated. A domain-engineering methodology guides analysis and design, resulting in a complementary approach. A framework implements the application logic. User interfaces are generated from high-level descriptions.

The CMVC framework is browser-centric. Web services exchange data between browser and server. CMVC uses an FSM abstraction to model user sessions. The FSM is transformed to a framework that requires manual completion. The FSM generator is built with XSLT. Supporting generic software libraries further leverages productivity.

Differences and similarities between existing applications are analyzed to discover an abstract, domain-specific vocabulary. The vocabulary is used to design CWL, a domain-specific language. CWL describes user interfaces in machine executable form. A Haskell-based generator transforms CWL to user interfaces. The generator supports JavaScript and XHTML artifact reuse. These artifacts are merged with CWL derived parts, during generation.

CWL and CMVC spread implementation and maintenance activities over different roles. Another important improvement is that several cooperating reuse techniques boost productivity.

The approach can be classified as a lightweight, easy-to-adapt approach, based upon standardized technologies. The current implementation is not the ultimate goal, but the real strength lies in the adaptable and evolutionary approach, which copes with ever-changing technological and functional requirements.