Extracting models from source code in software modernization

Model-driven software modernization is a discipline in which model-driven development (MDD) techniques are used in the modernization of legacy systems. When existing software artifacts are evolved, they must be transformed into models to apply MDD techniques such as model transformations. Since most modernization scenarios (e.g., application migration) involve dealing with code in general-purpose programming languages (GPL), the extraction of models from GPL code is an essential task in a model-based modernization process. This activity could be performed by tools to bridge grammarware and MDD technical spaces, which is normally carried out by dedicated parsers. Grammar-to-Model Transformation Language (Gra2MoL) is a domain-specific language (DSL) tailored to the extraction of models from GPL code. This DSL is actually a text-to-model transformation language which can be applied to any code conforming to a grammar. Gra2MoL aims to reduce the effort needed to implement grammarware-MDD bridges, since building dedicated parsers is a complex and time-consuming task. Like ATL and RubyTL languages, Gra2MoL incorporates the binding concept needed to write mappings between grammar elements and metamodel elements in a simple declarative style. The language also provides a powerful query language which eases the retrieval of scattered information in syntax trees. Moreover, it incorporates extensibility and grammar reuse mechanisms. This paper describes Gra2MoL in detail and includes a case study based on the application of the language in the extraction of models from Delphi code.

[1]  Architecture-Driven Modernization Scenarios , .

[2]  Jean Bézivin,et al.  TCS:: a DSL for the specification of textual concrete syntaxes in model engineering , 2006, GPCE '06.

[3]  Manuel Wimmer,et al.  Bridging Grammarware and Modelware , 2005, MoDELS Satellite Events.

[4]  Arie van Deursen,et al.  Harvesting Software Systems for MDA-Based Reengineering , 2006, ECMDA-FA.

[5]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

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

[7]  W. Taha,et al.  Plenary talk III Domain-specific languages , 2008, 2008 International Conference on Computer Engineering & Systems.

[8]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[9]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[10]  Javier Luis Cánovas Izquierdo Gra 2 MoL : A domain specific transformation language for bridging grammarware to modelware in software modernization , 2008 .

[11]  Jean Bézivin,et al.  Technological Spaces: An Initial Appraisal , 2002 .

[12]  William Ulrich A Status on OMG Architecture-Driven Modernization Task Force , 2004 .

[13]  E. Visser,et al.  Program Transformation Mechanics. A Classification of Mechanisms for Program Transformation with a Survey of Existing Transformation Systems , 2003 .

[14]  Aruna Raja,et al.  Domain Specific Languages , 2010 .

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

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

[17]  Serge Demeyer,et al.  Software Evolution , 2010 .

[18]  Reiko Heckel,et al.  Architectural Transformations: From Legacy to Three-Tier and Services , 2008, Software Evolution.

[19]  Andreas Prinz,et al.  A Model-Based Standard for SDL , 2007, SDL Forum.

[20]  Jesús García Molina,et al.  An Architecture-Driven Modernization Tool for Calculating Metrics , 2010, IEEE Software.

[21]  Jesús Sánchez Cuadrado,et al.  Morsa: a scalable approach for persisting and accessing large models , 2011, MODELS'11.

[22]  Andreas Kunert Semi-automatic Generation of Metamodels and Models From Grammars and Programs , 2008, Electron. Notes Theor. Comput. Sci..

[23]  Markus Scheidgen Textual Modelling Embedded into Graphical Modelling , 2008, ECMDA-FA.