Extracting models from source code in software modernization

被引:19
|
作者
Canovas Izquierdo, Javier Luis [1 ,3 ]
Garcia Molina, Jesus [1 ,2 ]
机构
[1] Univ Murcia, Murcia, Spain
[2] Univ Murcia, Fac Informat, Dept Informat & Sistemas, E-30071 Murcia, Spain
[3] EMN, LINA, INRIA, AtlanMod, Nantes, France
来源
SOFTWARE AND SYSTEMS MODELING | 2014年 / 13卷 / 02期
关键词
Model-driven engineering; Model-driven software development; Domain-specific languages; Software modernization; Model-driven software modernization;
D O I
10.1007/s10270-012-0270-z
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:713 / 734
页数:22
相关论文
共 50 条
  • [1] Extracting models from source code in software modernization
    Javier Luis Cánovas Izquierdo
    Jesús García Molina
    [J]. Software & Systems Modeling, 2014, 13 : 713 - 734
  • [2] Software model checking -: Extracting verification models from source code
    Holzmann, GJ
    Smith, MH
    [J]. FORMAL METHODS FOR PROTOCOL ENGINEERING AND DISTRIBUTED SYSTEMS, 1999, 28 : 481 - 497
  • [3] Software model checking: extracting verification models from source code
    Holzmann, GJ
    Smith, MH
    [J]. SOFTWARE TESTING VERIFICATION & RELIABILITY, 2001, 11 (02): : 65 - 79
  • [4] Extracting Zing models from C source code
    Matousek, Tomas
    Zavoral, Filip
    [J]. SOFSEM 2007: THEORY AND PRACTICE OF COMPUTER SCIENCE, PROCEEDINGS, 2007, 4362 : 900 - +
  • [5] A Domain Specific Language for Extracting Models in Software Modernization
    Canovas Izquierdo, Javier Luis
    Garcia Molina, Jesus
    [J]. MODEL DRIVEN ARCHITECTURE - FOUNDATIONS AND APPLICATIONS, PROCEEDINGS, 2009, 5562 : 82 - 97
  • [6] On the use of ADM to Contextualize Data on Legacy Source Code for Software Modernization
    Perez-Castillo, Ricardo
    Garcia-Rodriguez de Guzman, Ignacio
    Piattini, Mario
    Avila-Garcia, Orlando
    [J]. 16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, : 128 - +
  • [7] Extracting business rules from source code
    Sneed, HM
    Erdos, K
    [J]. FOURTH WORKSHOP ON PROGRAM COMPREHENSION, PROCEEDINGS, 1996, : 240 - 247
  • [8] Extracting facts from open source software
    Ferenc, R
    Siket, I
    Gyimóthy, T
    [J]. 20TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2004, : 60 - 69
  • [9] Nirjas: An open source framework for extracting metadata from the source code
    Bhardwaj, Ayush
    Sahil
    Pratap, Kaushlendra
    Mishra, Gaurav
    [J]. arXiv,
  • [10] Extracting ontological knowledge from Java']Java source code using Hidden Markov Models
    Jiomekong, Azanzi
    Camara, Gaoussou
    Tchuente, Maurice
    [J]. OPEN COMPUTER SCIENCE, 2019, 9 (01) : 181 - 199