WebDSL as a rapid prototype tool
ICTU is an independent organization within the Dutch government, working on improving the government’s digital services. ICTU works in projects, for all government departments: national, provinces, municipalities, water boards, and autonomous administrative authorities. All levels of government are represented in ICTU’s governing body. The Ministry of the Interior and Kingdom Relations has statutory powers to drive the basic outlines of ICTU’s management.
Some of ICTU’s projects entail the development and maintenance of custom software. Often, these custom software products are part of the Dutch generic digital infrastructure such as eIDAS and Digikoppeling. Other examples of software products developed by ICTU are the Landelijk Register Kinderopvang (National Childcare Register) and the Informatie- en Volgsysteem voor de Scheepvaart (IVS Next, shipping information and tracking system).
Although ICTU develops software for many different clients, more or less the same quality-driven approach is applied to each project. This approach has been documented extensively and is updated regularly. It has also been one of the major inputs for the NEN’s practice guideline NPR 5326. Core features of ICTU’s quality approach to software development are a phased agile process, close cooperation with clients, and a strong focus on automation and quality. ICTU supports its projects in applying the quality approach by means of products and services such as development and test environments, engineering tools, reference applications, and an automated quality system.
Despite having these processes and tools in place, challenges remain. ICTU separates its software development projects in a preparation phase and a realization phase. During the preparation phase, which typically takes 6 to 9 weeks, the project team (staffed with employees from the client, other major stakeholders, and ICTU) elicits and refines the requirements and develops a first version of the software architecture. At the same time, prototypes are created to show clients, stakeholders, and project members an early vision of the software product to be developed, and to validate and refine the requirements.
Currently, project teams usually create throw-away prototypes with no real functionality. If the prototypes would have more functionality, the requirements could be validated more extensively. Also, the prototypes could be used in the actual software product during the realization phase, instead of being discarded at the end of the preparation phase.
Prof. Eelco Visser (TU Delft) and his colleagues have been working on a Domain Specific Language (DSL) for the implementation of dynamic web applications, called WebDSL. Its promise is to overcome the complexity of developing for the web by offering linguistic abstractions designed for the web, consistency checking, and automatic enforcement of security features (Groenewegen et al, 2020).
ICTU would like to investigate whether WebDSL can provide a suitable alternative to more traditional clickable prototypes. Questions ICTU has include:
- Is it possible to develop a WebDSL prototype using roughly the same amount of time as a traditional prototype?
- If so, does the WebDSL prototype offer significantly more functionality so more requirements can be validated?
- If so, what amount of experience with WebDSL does the prototype developer needs to have to be able to deliver a WebDSL prototype in the same amount of time?
- Does incorporating a WebDSL prototype in the software product during the realization phase offer an efficiency advantage?
- What are the disadvantages of applying WebDSL during the realization phase? E.g., are the same quality and security tools available that we use for regular source code? How much time does it take a developer not familiar with WebDSL to become proficient?
Danny M. Groenewegen, Elmer van Chastelet, and Eelco Visser. 2020. Evolution of the WebDSL runtime: reliability engineering of the WebDSL web programming language. In Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming (
See the references in that paper for more publications.
Contacts for the project
Supervisor(s): Eelco Visser, Danny Groenewegen
Posted: May 28, 2021