MODEL-DRIVEN REVERSE ENGINEERING AND PROGRAM COMPREHENSION: AN EXAMPLE INGENIERÍA REVERSA Y COMPRENSIÓN DE PROGRAMAS DIRIGIDA POR MODELOS: UN EJEMPLO

This paper presents an example of how Model-Driven Engineering (MDE) can be applied to the development of tools for reverse engineering and program comprehension. The tool CodeCrawler was selected as an example; in particular, the polymetric view feature was computed using MDE techniques. To this en...

Full description

Bibliographic Details
Main Authors: Eugenio G Scalise P, Jean-Marie Favre, Nancy Zambrano
Format: Article
Language:English
Published: Universidad de Tarapacá 2010-04-01
Series:Ingeniare : Revista Chilena de Ingeniería
Subjects:
ATL
KM3
MDE
Online Access:http://www.scielo.cl/scielo.php?script=sci_arttext&pid=S0718-33052010000100009
id doaj-e9d68b15d9c24e5196b0e56426953c09
record_format Article
spelling doaj-e9d68b15d9c24e5196b0e56426953c092020-11-24T23:47:36ZengUniversidad de TarapacáIngeniare : Revista Chilena de Ingeniería0718-32910718-33052010-04-011817683MODEL-DRIVEN REVERSE ENGINEERING AND PROGRAM COMPREHENSION: AN EXAMPLE INGENIERÍA REVERSA Y COMPRENSIÓN DE PROGRAMAS DIRIGIDA POR MODELOS: UN EJEMPLOEugenio G Scalise PJean-Marie FavreNancy ZambranoThis paper presents an example of how Model-Driven Engineering (MDE) can be applied to the development of tools for reverse engineering and program comprehension. The tool CodeCrawler was selected as an example; in particular, the polymetric view feature was computed using MDE techniques. To this end, two metamodels were proposed (source and target) and meta-level transformations that were used to deduce the information of a polymetric view associated to any software project (source code). The technologies selected to develop the example were those related with the Eclipse Modeling Project, specifically the ATL and the KM3 languages. The approach used in this paper to obtain the implementation can be used to develop all the features of a MDE-oriented software comprehension tool, obtaining a domain-oriented implementation.<br>En este artículo se presenta un ejemplo que describe cómo la Ingeniería Dirigida por Modelos (IDM) puede ser aplicada al desarrollo de herramientas para la ingeniería reversa y comprensión de programas. Se seleccionó como caso de estudio la herramienta CodeCrawler, específicamente la funcionalidad denominada polymetric view, desarrollada mediante tecnologías y técnicas de la IDM. Para ello, se emplearon dos metamodelos (entrada y salida) y transformaciones a nivel de los metamodelos que permiten generar la información de un polymetric view asociado a un proyecto de software, utilizando la información extraída del código fuente. Las tecnologías utilizadas para el desarrollo del ejemplo, las relacionadas con el Eclipse Modeling Project, específicamente el lenguaje de transformación ATL y el lenguaje KM3. El enfoque seguido para obtener la implementación resultante puede ser utilizado para desarrollar una herramienta de ingeniería reversa y comprensión de software mediante técnicas de la IDM, incorporando el vocabulario del dominio en la implementación.http://www.scielo.cl/scielo.php?script=sci_arttext&pid=S0718-33052010000100009Ingeniería dirigida por modelosingeniería reversacomprensión de programasmodelosmetamodelostransformaciones entre metamodelosCodeCrawlerATLKM3Model-driven engineeringMDEreverse engineeringprogram comprehensionmodelsmetamodelstransformations between metamodelsCodeCrawlerATLKM3
collection DOAJ
language English
format Article
sources DOAJ
author Eugenio G Scalise P
Jean-Marie Favre
Nancy Zambrano
spellingShingle Eugenio G Scalise P
Jean-Marie Favre
Nancy Zambrano
MODEL-DRIVEN REVERSE ENGINEERING AND PROGRAM COMPREHENSION: AN EXAMPLE INGENIERÍA REVERSA Y COMPRENSIÓN DE PROGRAMAS DIRIGIDA POR MODELOS: UN EJEMPLO
Ingeniare : Revista Chilena de Ingeniería
Ingeniería dirigida por modelos
ingeniería reversa
comprensión de programas
modelos
metamodelos
transformaciones entre metamodelos
CodeCrawler
ATL
KM3
Model-driven engineering
MDE
reverse engineering
program comprehension
models
metamodels
transformations between metamodels
CodeCrawler
ATL
KM3
author_facet Eugenio G Scalise P
Jean-Marie Favre
Nancy Zambrano
author_sort Eugenio G Scalise P
title MODEL-DRIVEN REVERSE ENGINEERING AND PROGRAM COMPREHENSION: AN EXAMPLE INGENIERÍA REVERSA Y COMPRENSIÓN DE PROGRAMAS DIRIGIDA POR MODELOS: UN EJEMPLO
title_short MODEL-DRIVEN REVERSE ENGINEERING AND PROGRAM COMPREHENSION: AN EXAMPLE INGENIERÍA REVERSA Y COMPRENSIÓN DE PROGRAMAS DIRIGIDA POR MODELOS: UN EJEMPLO
title_full MODEL-DRIVEN REVERSE ENGINEERING AND PROGRAM COMPREHENSION: AN EXAMPLE INGENIERÍA REVERSA Y COMPRENSIÓN DE PROGRAMAS DIRIGIDA POR MODELOS: UN EJEMPLO
title_fullStr MODEL-DRIVEN REVERSE ENGINEERING AND PROGRAM COMPREHENSION: AN EXAMPLE INGENIERÍA REVERSA Y COMPRENSIÓN DE PROGRAMAS DIRIGIDA POR MODELOS: UN EJEMPLO
title_full_unstemmed MODEL-DRIVEN REVERSE ENGINEERING AND PROGRAM COMPREHENSION: AN EXAMPLE INGENIERÍA REVERSA Y COMPRENSIÓN DE PROGRAMAS DIRIGIDA POR MODELOS: UN EJEMPLO
title_sort model-driven reverse engineering and program comprehension: an example ingeniería reversa y comprensión de programas dirigida por modelos: un ejemplo
publisher Universidad de Tarapacá
series Ingeniare : Revista Chilena de Ingeniería
issn 0718-3291
0718-3305
publishDate 2010-04-01
description This paper presents an example of how Model-Driven Engineering (MDE) can be applied to the development of tools for reverse engineering and program comprehension. The tool CodeCrawler was selected as an example; in particular, the polymetric view feature was computed using MDE techniques. To this end, two metamodels were proposed (source and target) and meta-level transformations that were used to deduce the information of a polymetric view associated to any software project (source code). The technologies selected to develop the example were those related with the Eclipse Modeling Project, specifically the ATL and the KM3 languages. The approach used in this paper to obtain the implementation can be used to develop all the features of a MDE-oriented software comprehension tool, obtaining a domain-oriented implementation.<br>En este artículo se presenta un ejemplo que describe cómo la Ingeniería Dirigida por Modelos (IDM) puede ser aplicada al desarrollo de herramientas para la ingeniería reversa y comprensión de programas. Se seleccionó como caso de estudio la herramienta CodeCrawler, específicamente la funcionalidad denominada polymetric view, desarrollada mediante tecnologías y técnicas de la IDM. Para ello, se emplearon dos metamodelos (entrada y salida) y transformaciones a nivel de los metamodelos que permiten generar la información de un polymetric view asociado a un proyecto de software, utilizando la información extraída del código fuente. Las tecnologías utilizadas para el desarrollo del ejemplo, las relacionadas con el Eclipse Modeling Project, específicamente el lenguaje de transformación ATL y el lenguaje KM3. El enfoque seguido para obtener la implementación resultante puede ser utilizado para desarrollar una herramienta de ingeniería reversa y comprensión de software mediante técnicas de la IDM, incorporando el vocabulario del dominio en la implementación.
topic Ingeniería dirigida por modelos
ingeniería reversa
comprensión de programas
modelos
metamodelos
transformaciones entre metamodelos
CodeCrawler
ATL
KM3
Model-driven engineering
MDE
reverse engineering
program comprehension
models
metamodels
transformations between metamodels
CodeCrawler
ATL
KM3
url http://www.scielo.cl/scielo.php?script=sci_arttext&pid=S0718-33052010000100009
work_keys_str_mv AT eugeniogscalisep modeldrivenreverseengineeringandprogramcomprehensionanexampleingenieriareversaycomprensiondeprogramasdirigidapormodelosunejemplo
AT jeanmariefavre modeldrivenreverseengineeringandprogramcomprehensionanexampleingenieriareversaycomprensiondeprogramasdirigidapormodelosunejemplo
AT nancyzambrano modeldrivenreverseengineeringandprogramcomprehensionanexampleingenieriareversaycomprensiondeprogramasdirigidapormodelosunejemplo
_version_ 1725489076615774208