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.

[1]  Wei-Ying Ma,et al.  Detecting web page structure for adaptive viewing on small form factor devices , 2003, WWW '03.

[2]  Atif M. Memon,et al.  GUI ripping: reverse engineering of graphical user interfaces for testing , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[3]  Andy Evans,et al.  Language driven development and MDA. , 2004 .

[4]  Fabio Paternò,et al.  Dynamic generation of web migratory interfaces , 2005, Mobile HCI.

[5]  Oscar Díaz,et al.  A Model-Driven Development for GWT-Based Rich Internet Applications with OOH4RIA , 2008, 2008 Eighth International Conference on Web Engineering.

[6]  Stefan Staiger Static Analysis of Programs with Graphical User Interface , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[7]  Jacob Eisenstein,et al.  XIML: a common representation for interaction data , 2002, IUI '02.

[8]  James Martin,et al.  Rapid Application Development , 1991 .

[9]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[10]  Mohammad El-Ramly,et al.  Forms2Net - Migrating Oracle Forms to Microsoft .NET , 2005, GTTSE.

[11]  Jesús Sánchez Cuadrado,et al.  RubyTL: A Practical, Extensible Transformation Language , 2006, ECMDA-FA.

[12]  Jesús García Molina,et al.  A Domain Specific Language for Extracting Models in Software Modernization , 2009, ECMDA-FA.

[13]  Jesús Sánchez Cuadrado,et al.  Modularization of model transformations through a phasing mechanism , 2009, Software & Systems Modeling.

[14]  Jean Vanderdonckt,et al.  USIXML: A User Interface Description Language Supporting Multiple Levels of Independence , 2004, ICWE Workshops.

[15]  Eleni Stroulia,et al.  User Interface Reverse Engineering in Support of Interface Migration to the Web , 2003, Automated Software Engineering.

[16]  Jean Vanderdonckt,et al.  Flexible reverse engineering of web pages with VAQUISTA , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[17]  Jesús Sánchez Cuadrado,et al.  Building Domain-Specific Languages for Model-Driven Development , 2007, IEEE Software.

[18]  John V. Harrison,et al.  Automated Reverse Engineering of Legacy 4GL Information System Applications Using the ITOC Workbench , 1998, CAiSE.

[19]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

[20]  Jean Bézivin,et al.  Model-based Technology Integration with the Technical Space Concept , 2006 .

[21]  Christof Lutteroth,et al.  Domain Specific High-Level Constraints for User Interface Layout , 2008, Constraints.

[22]  Jesús Sánchez Cuadrado,et al.  Model-driven reverse engineering of legacy graphical user interfaces , 2010, ASE.

[23]  Morgan Dixon,et al.  Content and hierarchy in pixel-based methods for reverse engineering interface structure , 2011, CHI.

[24]  Wei-Ying Ma,et al.  VIPS: a Vision-based Page Segmentation Algorithm , 2003 .

[25]  Hiroyuki Kurata,et al.  A grid layout algorithm for automatic drawing of biochemical networks , 2005, Bioinform..

[26]  Jan Carlson,et al.  Reusing Web Application User-Interface Controls , 2011, ICWE.

[27]  Christof Lutteroth Automated Reverse Engineering of Hard-Coded GUI Layouts , 2008, AUIC.

[28]  David Salesin,et al.  Adaptive grid-based document layout , 2003, ACM Trans. Graph..

[29]  H GerdesJrJohn User Interface Migration of Microsoft Windows Applications , 2009 .