Un método de ingeniería inversa de código JAVA hacia diagramas de secuencias de UML 2.0

La Ingeniería inversa de software aparece como un proceso que ayuda al aseguramiento de la calidad y documentación de aplicaciones con deficiencias en los modelos de análisis y diseño. Además, ayuda en la disminución de costos y tiempos de mantenimiento. En la actualidad existen herramientas CASE y...

Full description

Autores:
Zapata-Jaramillo, C. M. (Carlos Mario)
Ochoa, O. A. (Óscar Andrés)
Vélez, C.(Camilo)
Tipo de recurso:
Article of journal
Fecha de publicación:
2008
Institución:
Universidad EIA .
Repositorio:
Repositorio EIA .
Idioma:
spa
OAI Identifier:
oai:repository.eia.edu.co:11190/600
Acceso en línea:
https://repository.eia.edu.co/handle/11190/600
Palabra clave:
REI00080
CULTURA Y BIBLIOTECA
CULTURE AND LIBRARY
UNIFIED MODELING LANGUAGE ( UML )
LENGUAJE UNIFICADO DE MODELADO ( LUM )
INGENIERÍA INVERSA
DIAGRAMA DE SECUENCIAS
REGLAS DE TRANSFORMACIÓN
TRANSFORMATION RULES
SEQUENCE DIAGRAM
REVERSE ENGINEERING
JAVA
Rights
openAccess
License
Derechos Reservados - Universidad EIA, 2020
id REIA2_536b56cfdac5dccb4eb59cdb987649b9
oai_identifier_str oai:repository.eia.edu.co:11190/600
network_acronym_str REIA2
network_name_str Repositorio EIA .
repository_id_str
dc.title.spa.fl_str_mv Un método de ingeniería inversa de código JAVA hacia diagramas de secuencias de UML 2.0
title Un método de ingeniería inversa de código JAVA hacia diagramas de secuencias de UML 2.0
spellingShingle Un método de ingeniería inversa de código JAVA hacia diagramas de secuencias de UML 2.0
REI00080
CULTURA Y BIBLIOTECA
CULTURE AND LIBRARY
UNIFIED MODELING LANGUAGE ( UML )
LENGUAJE UNIFICADO DE MODELADO ( LUM )
INGENIERÍA INVERSA
DIAGRAMA DE SECUENCIAS
REGLAS DE TRANSFORMACIÓN
TRANSFORMATION RULES
SEQUENCE DIAGRAM
REVERSE ENGINEERING
JAVA
title_short Un método de ingeniería inversa de código JAVA hacia diagramas de secuencias de UML 2.0
title_full Un método de ingeniería inversa de código JAVA hacia diagramas de secuencias de UML 2.0
title_fullStr Un método de ingeniería inversa de código JAVA hacia diagramas de secuencias de UML 2.0
title_full_unstemmed Un método de ingeniería inversa de código JAVA hacia diagramas de secuencias de UML 2.0
title_sort Un método de ingeniería inversa de código JAVA hacia diagramas de secuencias de UML 2.0
dc.creator.fl_str_mv Zapata-Jaramillo, C. M. (Carlos Mario)
Ochoa, O. A. (Óscar Andrés)
Vélez, C.(Camilo)
dc.contributor.author.spa.fl_str_mv Zapata-Jaramillo, C. M. (Carlos Mario)
Ochoa, O. A. (Óscar Andrés)
Vélez, C.(Camilo)
dc.subject.lcsh.spa.fl_str_mv REI00080
topic REI00080
CULTURA Y BIBLIOTECA
CULTURE AND LIBRARY
UNIFIED MODELING LANGUAGE ( UML )
LENGUAJE UNIFICADO DE MODELADO ( LUM )
INGENIERÍA INVERSA
DIAGRAMA DE SECUENCIAS
REGLAS DE TRANSFORMACIÓN
TRANSFORMATION RULES
SEQUENCE DIAGRAM
REVERSE ENGINEERING
JAVA
dc.subject.eia.spa.fl_str_mv CULTURA Y BIBLIOTECA
CULTURE AND LIBRARY
dc.subject.eurovoc.spa.fl_str_mv UNIFIED MODELING LANGUAGE ( UML )
LENGUAJE UNIFICADO DE MODELADO ( LUM )
dc.subject.keywords.spa.fl_str_mv INGENIERÍA INVERSA
DIAGRAMA DE SECUENCIAS
REGLAS DE TRANSFORMACIÓN
TRANSFORMATION RULES
SEQUENCE DIAGRAM
REVERSE ENGINEERING
JAVA
description La Ingeniería inversa de software aparece como un proceso que ayuda al aseguramiento de la calidad y documentación de aplicaciones con deficiencias en los modelos de análisis y diseño. Además, ayuda en la disminución de costos y tiempos de mantenimiento. En la actualidad existen herramientas CASE y algunas propuestas de investigación que realizan el proceso de ingeniería inversa a diagramas UML, en especial a los diagramas de clases y secuencias. Algunas se encuentran en fases experimentales; otras se enfocan mucho más en el diagrama de clases que en el de secuencias. Un tercer grupo obtiene algunos elementos del diagrama de secuencias, pero no posee muchos de los elementos que hacen parte de la especificación de UML 2.0. En este artículo se propone un método que automatiza la conversión de código JAVA en diagrama de secuencias de UML 2.0, por medio de la aplicación de reglas de transformación que convierten los elementos del código en elementos del diagrama. Se presenta también un ejemplo de aplicación del método con un prototipo que lo emplea, el UNC-Inversor.
publishDate 2008
dc.date.created.spa.fl_str_mv 2008-07
dc.date.submitted.spa.fl_str_mv 2008-03-20
dc.date.accepted.spa.fl_str_mv 2008-06-08
dc.date.accessioned.spa.fl_str_mv 2014-05-09T20:23:20Z
dc.date.available.spa.fl_str_mv 2014-05-09T20:23:20Z
dc.date.issued.spa.fl_str_mv 2014-05-09
dc.type.spa.fl_str_mv Artículo de revista
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_2df8fbb1
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_6501
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/article
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv https://purl.org/redcol/resource_type/ART
dc.type.coarversion.spa.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
format http://purl.org/coar/resource_type/c_6501
status_str publishedVersion
dc.identifier.issn.spa.fl_str_mv ISSN 17941237
dc.identifier.uri.spa.fl_str_mv https://repository.eia.edu.co/handle/11190/600
dc.identifier.bibliographiccitation.spa.fl_str_mv Zapata, C. M., Ochoa, O. A. y Vélez, C. Un método de ingeniería inversa de código JAVA hacia diagramas de secuencias de UML 2.0, Revista EIA, 9, 31-42. doi: http://repository.eia.edu.co/handle/11190/600
identifier_str_mv ISSN 17941237
Zapata, C. M., Ochoa, O. A. y Vélez, C. Un método de ingeniería inversa de código JAVA hacia diagramas de secuencias de UML 2.0, Revista EIA, 9, 31-42. doi: http://repository.eia.edu.co/handle/11190/600
url https://repository.eia.edu.co/handle/11190/600
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.references.spa.fl_str_mv Baxter, D. and Mehlich, M. (1997). Reverse engineering is reverse forward engineering. Proceedings of the 4th Working Conference on Reverse Engineering, Amsterdam (Países Bajos).
Briand, L. C.; Labiche, Y. and Miao, Y. (2003). Towards the reverse engineering of UML sequence diagrams. Proceedings of the 10th Working Conference on Reverse Engineering, Victoria (Canada), pp. 57-66.
Cain, J. W. and McCrindle, R. J. (1999). Software visualisation using C++ Lenses. Proceedings of the 7th International Workshop on Program Comprehension, Pittsburgh (Estados Unidos).
dc.rights.spa.fl_str_mv Derechos Reservados - Universidad EIA, 2020
dc.rights.uri.spa.fl_str_mv https://creativecommons.org/licenses/by-nc/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.creativecommons.spa.fl_str_mv Atribución-NoComercial
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv Derechos Reservados - Universidad EIA, 2020
https://creativecommons.org/licenses/by-nc/4.0/
Atribución-NoComercial
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv 12 p.
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.department.spa.fl_str_mv Administrativa, Financiera, Sistemas y Computación
dc.publisher.editor.spa.fl_str_mv Escuela de Ingeniería de Antioquia EIA
institution Universidad EIA .
bitstream.url.fl_str_mv https://repository.eia.edu.co/bitstreams/f372b334-8bad-4cb4-bedd-2006d838c31b/download
https://repository.eia.edu.co/bitstreams/02467009-11d5-4d77-bd08-9491fa26cfcb/download
https://repository.eia.edu.co/bitstreams/dbe735b8-7e09-4275-9913-cdfd3e339048/download
https://repository.eia.edu.co/bitstreams/5c851f96-a444-41b9-a08f-b0e7a536dd18/download
https://repository.eia.edu.co/bitstreams/f5d68e9c-9d16-4698-9e52-f4e7310323ff/download
https://repository.eia.edu.co/bitstreams/83e14b3a-2b38-48c8-a4ab-481b7600f9fb/download
https://repository.eia.edu.co/bitstreams/1948a566-fabb-46d3-b677-b7a0ab13dad0/download
bitstream.checksum.fl_str_mv 1c9f5197cf6eccc8be34652295822a96
2dc1ad2f73dea99f38d4577b3abeab6a
66874b0b9366b748c60895d2fb6339f8
4afdbb8c545fd630ea7db775da747b2f
10a9da7597c333616da297895d0393ec
cd76e7886171c964e259dcf5e912e299
25e31d7eb6ff9a0bbcd040d242d372f0
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad EIA
repository.mail.fl_str_mv bdigital@metabiblioteca.com
_version_ 1814100922811285504
spelling Zapata-Jaramillo, C. M. (Carlos Mario)6784e1a3f24a8ad848c693662ecbbd8b-1Ochoa, O. A. (Óscar Andrés)01784fa41dd0f875a981af05dbc3c5fc-1Vélez, C.(Camilo)6b8f54a3e430451b0fcd822a37e277b8-1cmzapata@unal.edu.co2014-05-09T20:23:20Z2014-05-09T20:23:20Z2008-072014-05-092008-03-202008-06-08ISSN 17941237https://repository.eia.edu.co/handle/11190/600Zapata, C. M., Ochoa, O. A. y Vélez, C. Un método de ingeniería inversa de código JAVA hacia diagramas de secuencias de UML 2.0, Revista EIA, 9, 31-42. doi: http://repository.eia.edu.co/handle/11190/600La Ingeniería inversa de software aparece como un proceso que ayuda al aseguramiento de la calidad y documentación de aplicaciones con deficiencias en los modelos de análisis y diseño. Además, ayuda en la disminución de costos y tiempos de mantenimiento. En la actualidad existen herramientas CASE y algunas propuestas de investigación que realizan el proceso de ingeniería inversa a diagramas UML, en especial a los diagramas de clases y secuencias. Algunas se encuentran en fases experimentales; otras se enfocan mucho más en el diagrama de clases que en el de secuencias. Un tercer grupo obtiene algunos elementos del diagrama de secuencias, pero no posee muchos de los elementos que hacen parte de la especificación de UML 2.0. En este artículo se propone un método que automatiza la conversión de código JAVA en diagrama de secuencias de UML 2.0, por medio de la aplicación de reglas de transformación que convierten los elementos del código en elementos del diagrama. Se presenta también un ejemplo de aplicación del método con un prototipo que lo emplea, el UNC-Inversor.Software reverse engineering seems to be the process for helping software quality assurance and documentation in applications with low-quality analysis and design models. It also helps for decreasing maintenance cost and time. Currently, some CASE tools and research proposals assist analysts to develop reverse engineering process with UML diagrams as a result (especially class and sequence diagram). Some of them have reached experimental phases. Some others are focused more on class diagram and less on sequence diagram. A third group of CASE tools and proposals obtains sequence diagram, but the resulting diagram lacks some of the elements of the UML 2.0 specification. In this paper, we propose a method for automating the conversion of JAVA code into UML 2.0 sequence diagram, by means of the application of transformation rules for converting code elements to the diagram elements. We also present an example of the method application through a prototype named UNC-Inversor.12 p.application/pdfspaDerechos Reservados - Universidad EIA, 2020https://creativecommons.org/licenses/by-nc/4.0/El autor de la obra, actuando en nombre propio, hace entrega del ejemplar respectivo y de sus anexos en formato digital o electrónico y autoriza a la ESCUELA DE INGENIERIA DE ANTIOQUIA, para que en los términos establecidos en la Ley 23 de 1982, Ley 44 de 1993, Decisión andina 351 de 1993, Decreto 460 de 1995, y demás normas generales sobre la materia, utilice y use por cualquier medio conocido o por conocer, los derechos patrimoniales de reproducción, comunicación pública, transformación y distribución de la obra objeto del presente documento. PARÁGRAFO: La presente autorización se hace extensiva no sólo a las dependencias y derechos de uso sobre la obra en formato o soporte material, sino también para formato virtual, electrónico, digital, y en red, internet, extranet, intranet, etc., y en general en cualquier formato conocido o por conocer. EL AUTOR, manifiesta que la obra objeto de la presente autorización es original y la realiza sin violar o usurpar derechos de autor de terceros, por lo tanto la obra es de exclusiva autoría y tiene la titularidad sobre la misma. PARÁGRAFO: En caso de presentarse cualquier reclamación o acción por parte de un tercero en cuanto a los derechos de autor sobre la obra en cuestión, EL AUTOR, asumirá toda la responsabilidad, y saldrá en defensa de los derechos aquí autorizados; para todos los efectos la ESCUELA DE INGENIERÍA DE ANTIOQUIA actúa como un tercero de buena fe.info:eu-repo/semantics/openAccessAtribución-NoComercialhttp://purl.org/coar/access_right/c_abf2REI00080CULTURA Y BIBLIOTECACULTURE AND LIBRARYUNIFIED MODELING LANGUAGE ( UML )LENGUAJE UNIFICADO DE MODELADO ( LUM )INGENIERÍA INVERSADIAGRAMA DE SECUENCIASREGLAS DE TRANSFORMACIÓNTRANSFORMATION RULESSEQUENCE DIAGRAMREVERSE ENGINEERINGJAVAUn método de ingeniería inversa de código JAVA hacia diagramas de secuencias de UML 2.0Artículo de revistahttp://purl.org/coar/resource_type/c_6501http://purl.org/coar/resource_type/c_2df8fbb1info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionTexthttps://purl.org/redcol/resource_type/ARThttp://purl.org/coar/version/c_970fb48d4fbd8a85Administrativa, Financiera, Sistemas y ComputaciónEscuela de Ingeniería de Antioquia EIABaxter, D. and Mehlich, M. (1997). Reverse engineering is reverse forward engineering. Proceedings of the 4th Working Conference on Reverse Engineering, Amsterdam (Países Bajos).Briand, L. C.; Labiche, Y. and Miao, Y. (2003). Towards the reverse engineering of UML sequence diagrams. Proceedings of the 10th Working Conference on Reverse Engineering, Victoria (Canada), pp. 57-66.Cain, J. W. and McCrindle, R. J. (1999). Software visualisation using C++ Lenses. Proceedings of the 7th International Workshop on Program Comprehension, Pittsburgh (Estados Unidos).PublicationTHUMBNAILREI00080.pdf.jpgREI00080.pdf.jpgGenerated Thumbnailimage/jpeg11355https://repository.eia.edu.co/bitstreams/f372b334-8bad-4cb4-bedd-2006d838c31b/download1c9f5197cf6eccc8be34652295822a96MD57ORIGINALREI00080.pdfREI00080.pdfapplication/pdf653718https://repository.eia.edu.co/bitstreams/02467009-11d5-4d77-bd08-9491fa26cfcb/download2dc1ad2f73dea99f38d4577b3abeab6aMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81494https://repository.eia.edu.co/bitstreams/dbe735b8-7e09-4275-9913-cdfd3e339048/download66874b0b9366b748c60895d2fb6339f8MD52CC-LICENSElicense_urllicense_urltext/plain; charset=utf-849https://repository.eia.edu.co/bitstreams/5c851f96-a444-41b9-a08f-b0e7a536dd18/download4afdbb8c545fd630ea7db775da747b2fMD53license_textlicense_texttext/html; charset=utf-821310https://repository.eia.edu.co/bitstreams/f5d68e9c-9d16-4698-9e52-f4e7310323ff/download10a9da7597c333616da297895d0393ecMD54license_rdflicense_rdfapplication/rdf+xml; charset=utf-823253https://repository.eia.edu.co/bitstreams/83e14b3a-2b38-48c8-a4ab-481b7600f9fb/downloadcd76e7886171c964e259dcf5e912e299MD55TEXTREI00080.pdf.txtREI00080.pdf.txtExtracted texttext/plain34331https://repository.eia.edu.co/bitstreams/1948a566-fabb-46d3-b677-b7a0ab13dad0/download25e31d7eb6ff9a0bbcd040d242d372f0MD5611190/600oai:repository.eia.edu.co:11190/6002023-07-25 17:22:46.316https://creativecommons.org/licenses/by-nc/4.0/Derechos Reservados - Universidad EIA, 2020open.accesshttps://repository.eia.edu.coRepositorio Institucional Universidad EIAbdigital@metabiblioteca.comRWwgYXV0b3IgZGUgbGEgb2JyYSwgYWN0dWFuZG8gZW4gbm9tYnJlIHByb3BpbywgSGFjZSBlbnRyZWdhIGRlbCBlamVtcGxhciByZXNwZWN0aXZvIHkgZGUgc3VzIGFuZXhvcyBlbiBmb3JtYXRvIGRpZ2l0YWwgbyBlbGVjdHLDs25pY28uIAoKWSBhdXRvcml6YSBhIGxhIEVTQ1VFTEEgREUgSU5HRU5JRVJJQSBERSBBTlRJT1FVSUEsIHBhcmEgcXVlIGVuIGxvcyB0w6lybWlub3MgZXN0YWJsZWNpZG9zIGVuOgoKIC0gbGEgTGV5IDIzIGRlIDE5ODIKIC0gTGV5IDQ0IGRlIDE5OTMKLSBEZWNpc2nDs24gYW5kaW5hIDM1MSBkZSAxOTkzCiAtIERlY3JldG8gNDYwIGRlIDE5OTUKCiB5IGRlbcOhcyBub3JtYXMgZ2VuZXJhbGVzIHNvYnJlIGxhIG1hdGVyaWEsIHV0aWxpY2UgeSB1c2UgcG9yIGN1YWxxdWllciBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyLCBsb3MgZGVyZWNob3MgcGF0cmltb25pYWxlcyBkZSByZXByb2R1Y2Npw7NuLAogY29tdW5pY2FjacOzbiBww7pibGljYSwgdHJhbnNmb3JtYWNpw7NuIHkgZGlzdHJpYnVjacOzbiBkZSBsYSBvYnJhIG9iamV0byBkZWwgcHJlc2VudGUgZG9jdW1lbnRvLiAKCiBQQVJHUkFGTzogTGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBzZSBoYWNlIGV4dGVuc2l2YSBubyBzb2xvIGEgbGFzIGRlcGVuZGVuY2lhcyB5IGRlcmVjaG9zIGRlIHVzbyBzb2JyZSBsYSBvYnJhIGVuIGZvcm1hdG8gbyBzb3BvcnRlIG1hdGVyaWFsLCAKIHNpbm8gdGFtYmnDqW4gcGFyYSBmb3JtYXRvIHZpcnR1YWwsIGVsZWN0csOzbmljbywgZGlnaXRhbCwgeSBjdXlvIHVzbyBzZSBkZSBlbiByZWQsIGludGVybmV0LCBleHRyYW5ldCwgaW50cmFuZXQsIGV0Yy4sIHkgZW4gZ2VuZXJhbCBlbiBjdWFscXVpZXIKIGZvcm1hdG8gY29ub2NpZG8gbyBwb3IgY29ub2Nlci4gCgogRUwgQVVUT1IsIG1hbmlmaWVzdGEgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwgeSBsYSByZWFsaXphIHNpbiB2aW9sYXIgbyB1c3VycGFyIGRlcmVjaG9zIGRlIGF1dG9yIGRlIHRlcmNlcm9zLAogcG9yIGxvIHRhbnRvIGxhIG9icmEgZXMgZGUgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgbGEgbWlzbWEuClBBUkFHUkFGTzogRW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSBlbiAKY3Vlc3Rpw7NuLCBFTCBBVVRPUiwgYXN1bWlyw6HCoSB0b2RhIGxhIHJlc3BvbnNhYmlsaWRhZCwgeSBzYWxkcsOhwqEgZW4gZGVmZW5zYSBkZSBsb3MgZGVyZWNob3MgYXF1w60gYXV0b3JpemFkb3M7IHBhcmEgdG9kb3MgbG9zIGVmZWN0b3MgTGEgRVNDVUVMQSAKREUgSU5HRU5JRVJJQSBERSBBTlRJT1FVSUEgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4K