Reverse Engineering End-user Developed Web Applications into a Model-based Framework
The main goal of this research is to facilitate end-user and expert developer collaboration in the creation of a web application. This research created a reverse engineering toolset and integrated it with Click (Component-based Lightweight Internet-application Construction Kit), an end-user web development tool. The toolset generates artifacts to facilitate collaboration between end-users and expert web developers when the end-users need to go beyond the limited capabilities of Click. By supporting smooth transition of workflow to expert web developers, we can help them in implementing advanced functionality in end-user developed web applications. The four artifacts generated include a sitemap, text documentation, a task model, and a canonical representation of the user interface. The sitemap is automatically generated to support the workflow of web developers. The text documentation of a web application is generated to document data representation and business logic. A task model, expressed using ConcurTaskTrees notation, covers the whole interaction specified by the end-user. A presentation and dialog model, represented in User Interface Markup Language (UIML), describe the user interface in a declarative language. The task model and UIML representation are created to support development of multi-platform user interfaces from an end-user web application. A formative evaluation of the usability of these models and representations with experienced web developers revealed that these representations were useful and easy to understand.