Welcome...
To the homepage of the RAINBOW project! This research focuses on acquiring specifications from the analysis of explicit and implicit information contained in user-drawn form-based human-computer interfaces, by specialising and adapting well-mastered techniques coming from various fields of study.
This doctoral research is led by Ravi RAMDOYAL, PhD student of the Laboratory of Database Application Engineering, which is part of the Faculty of Computer Science and PReCISE Research Center (University of Namur).
The RAINBOW project naturally follows the steps of the ReQuest project, which provides a complete user-oriented methodology and tool-set to deal with the analysis, development and maintenance of web-based data-intensive applications.
![]() | Ravi Ramdoyal's Phd thesis, entitled Reverse Engineering User-Drawn Form-Based Interfaces for Interactive Database Conceptual Analysis synthesises this research. |

Context
The first step of most database design methodologies consists in eliciting part of the user requirements from various sources such as user interviews and corporate documents. These requirements are formalised into a conceptual schema of the application domain, that has proved difficult to validate, especially since the graphical representations of data models have shown understandability limitations from the end-users standpoint. On the other hand, electronic forms seem to be more natural and intuitive to express data requirements for laymen. Besides, the necessity to associate end-users of a future system with its specification and development steps has long been advocated.
In this doctoral research, we consequently explore the possible reverse engineering of user-drawn form-based interfaces to perform an interactive database conceptual analysis, and subsequently present the tool-supported RAINBOW approach resulting from this investigation. This user-oriented approach relies on the adaptation and integration of principles and techniques coming from various fields of study, ranging from Database Forward and Reverse Engineering to Prototyping and Participatory Design.
Keywords: Software Engineering, Requirements Engineering, Data Modelling, Database Forward Engineering, Database Reverse Engineering, Human-Computer Interfaces, Prototyping, Participatory Design.
Methodology
The RAINBOW approach specialises and integrates techniques coming from various fields of study into a semi-automatic seven-step process:- Represent:the end-users are invited to draw and specify a set of form-based interfaces to perform usual tasks of their application domain;
- Adapt: the forms are "translated" into data models, which basically consists in extracting a data model from each interface using mapping rules;
- Investigate: the data models are cross-analysed to highlight and arbitrate semantic and structural similarities and produce a pre-integrated schema;
- Nurture: using the interfaces that they drew, the end-users are invited to provide data examples that are analysed to infer and arbitrate possible constraints and dependencies;
- Bind: the pre-integrated schema is completed and refined into a non redundant integrated conceptual schema;
- Objectify: from the integrated conceptual schema, the artefacts of a prototypical data manager application are generated;
- Wander: finally, the end-users are invited to play with the prototype in order to refine and ultimately validate the integrated conceptual schema.
RTK - The RAINBOW Tool Kit
The RAINBOW Tool Kit is a user-oriented development environment, intended to assist the end-users in the definition and validation of database requirements through prototyping. It therefore supports the first steps of our approach by offering ready-to-use widgets and mapping rules with the ER model.
Dependencies
The RAINBOW Toolkit is developed in Java, which is one of the most widely used multi-platform object-oriented programming languages, because it gave access to rich libraries serving our purpose.
Among them, we notably used the Qt Jambi library to develop the graphical interface of the application and manage the drawing of the forms. This library is the Java version of the Qt toolkit, which is a free and open-source cross-platform application development framework using C++.
The RAINBOW Tool Kit interacts with the repository of DB-Main, which is a database engineering CASE Tool providing all the necessary functionalities to support a complete database design process (from the definition of the conceptual schema to the generation of the database code).
Journals
| 2011 | Ravi Ramdoyal, Jean-Luc Hainaut, Involving End-Users In Database Design - The RAINBOW Approach, in IADIS International Journal on Computer Science and Information Systems (IJCSIS), Special issue on "Users and Information Systems", International Association for Development of the Information Society (IADIS) (accepted for publication). |
Conferences | |
| 2011 | Ravi Ramdoyal, Anthony Cleve, From Pattern-based User Interfaces to Conceptual Schemas and Back, in Proceedings of the 30th International Conference on Conceptual Modeling (ER'2011), Brussels, Belgium, Octobre 2011, LNCS (accepted for publication). |
| 2011 | Ravi Ramdoyal, Jean-Luc Hainaut, Interactively Eliciting Database Constraints and Dependencies, in Proceedings of the 23rd International Conference on Advanced Information Systems Engineering (CAiSE'2011), London, United Kingdom, June 2011, LNCS (accepted for publication). |
| 2010 | Ravi Ramdoyal, Anthony Cleve, Jean-Luc Hainaut, Reverse Engineering User Interfaces for Interactive Database Conceptual Analysis, in Proceedings of the 22nd International Conference on Advanced Information Systems Engineering (CAiSE'2010), Hammamet, Tunisia, June 2010, LNCS, p332-347. [bibtex] |
| 2009 | Ravi Ramdoyal, Anthony Cleve, Anne-France Brogneaux, Jean-Luc Hainaut, Rétro-ingénierie d'interfaces utilisateur pour l'analyse conceptuelle de bases de données, in Proceedings of the 25èmes Journées en Bases de Données Avancées (BDA 2009), Namur, Belgium, October 2009. [bibtex] |
| 2006 | Julien Vilz, Anne-France Brogneaux, Ravi Ramdoyal, Vincent Englebert, Jean-Luc Hainaut, Data Conceptualisation for Web-Based Data-Centred Application Design, in Proceedings of the 18th International Conference on Advanced Information Systems Engineering (CAiSE'2006), Luxembourg, June 2006, p205-219. [bibtex] |
| 2005 | Anne-France Brogneaux, Ravi Ramdoyal, Julien Vilz, Jean-Luc Hainaut, Deriving User-requirements From Human-Computer Interfaces, in Proceedings of the 23rd IASTED International Multi-Conference on Applied Informatics (Databases and Applications), Innsbruck, Austria, February 2005, p77-82. [bibtex] |
Workshops | |
| 2010 | Ravi Ramdoyal, Reverse Engineering User-Drawn Form-Based Interfaces for Interactive Database Conceptual Analysis, in Proceedings of the 22nd International Conference on Advanced Information Systems Engineering (CAiSE'2010) Doctoral Consortium, Hammamet, Tunisia, June 2010, CEUR Workshop Proceedings, volume 593. |
| 2007 | Ravi Ramdoyal, Anne-France Brogneaux, Julien Vilz, Jean-Luc Hainaut, Recherche de recouvrements dans une collection de schémas de base de données, in Proceedings of the DECOR Workshop, EGC 2007, Namur, Belgium, January 2007. |
| 2005 | Anne-France Brogneaux, Ravi Ramdoyal, Julien Vilz, Jean-Luc Hainaut, Deriving User-requirements From Human-Computer Interfaces, in TC13 Workshop on Human Computer Interaction (Design and Visualisation), Namur, Belgium, January 2005. |
PhD Thesis | |
| 2010 | Ravi Ramdoyal, Reverse Engineering User-Drawn Form-Based Interfaces for Interactive Database Conceptual Analysis, Phd Thesis, Presses Universitaires de Namur, University of Namur, Namur, Belgium, 2010. |
PhD Thesis
![]() | Ravi Ramdoyal's Phd thesis, entitled Reverse Engineering User-Drawn Form-Based Interfaces for Interactive Database Conceptual Analysis, synthesises the RAINBOW approach and can be downloaded here. |
![]() | The original forms (in French), which were drawn during the experimentation mentioned in the thesis, can be downloaded here. |
Tool support
Source code and documentation
![]() | The Java source code of the Rainbow Toolkit, as well as its javadoc documentation can be downloaded here. |
![]() | The DTD specification for the RAINBOW's Simplified Form Model (RFSM), which is used to define the form-based interfaces that can be drawn, can be downloaded here. |
Tutorials
Tutorial 1: Getting started with the RAINBOW Tool Kit
Tutorial 2: Understanding the widgets of the RAINBOW Tool Kit










