Model-driven reverse engineering of legacy graphical user interfaces

Businesses are more and more modernizing the legacy systems they developed with Rapid Application Development (RAD), so that they can benefit from the new platforms and technologies. In these systems, the Graphical User Interface (GUI) layout is implicitly given 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 to perform reverse engineering of RAD-built GUIs, which is focused on discovering the implicit layout, and produces a GUI model where the layout is explicit. Based on the information we obtain, other reengineering activities can be performed, for example, to adapt the GUI for mobile device screens.

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

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

[3]  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.

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

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

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

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

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

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

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

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

[12]  Romain Robbes,et al.  Recovering inter-project dependencies in software ecosystems , 2010, ASE.

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

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

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

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

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

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

[19]  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..

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

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

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

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

[24]  Philip Newcomb,et al.  Architecture-Driven Modernization (ADM) , 2005, 12th Working Conference on Reverse Engineering (WCRE'05).

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

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

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

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