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:
Online Access:http://www.scielo.cl/scielo.php?script=sci_arttext&pid=S0718-33052010000100009
_version_ 1818111903867600896
author Eugenio G Scalise P
Jean-Marie Favre
Nancy Zambrano
author_facet Eugenio G Scalise P
Jean-Marie Favre
Nancy Zambrano
author_sort Eugenio G Scalise P
collection DOAJ
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.
first_indexed 2024-12-11T03:10:27Z
format Article
id doaj.art-e9d68b15d9c24e5196b0e56426953c09
institution Directory Open Access Journal
issn 0718-3291
0718-3305
language English
last_indexed 2024-12-11T03:10:27Z
publishDate 2010-04-01
publisher Universidad de Tarapacá
record_format Article
series Ingeniare: Revista Chilena de Ingeniería
spelling doaj.art-e9d68b15d9c24e5196b0e56426953c092022-12-22T01:22:52ZengUniversidad 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
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
title 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_short 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 ingenieria reversa y comprension de programas dirigida por modelos un ejemplo
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