Model-driven reverse engineering of legacy graphical user interfaces
Businesses are increasingly beginning to modernise those of their legacy systems that were originally developed with Rapid Application Development (RAD) or Fourth Generation Language (4GL) environments, in order to benefit from new platforms and technologies. In these systems, the Graphical User Interface (GUI) layout is implicitly provided by the position of the GUI elements (i.e. coordinates). However, taking advantage of current features of GUI technologies often requires an explicit, high-level layout model. We propose a Model-Driven Engineering process with which to perform the automatic reverse engineering of RAD-built GUIs, which is focused on discovering the implicit layout, and produces a GUI model in which the layout is explicit. As an example of the approach, we apply an automatic reengineering process to this model in order to generate a Java Swing user interface.