A process for creating KDM2PSM transformation engines

Architecture-Driven Modernization (ADM) is a special kind of reengineering that employs models along the process. The main ADM metamodel is the Knowledge Discovery Metamodel (KDM), which is a platform-independent metamodel able to represent several views of a system. Although a lot of research is cu...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:International journal on software tools for technology transfer 2024-02, Vol.26 (1), p.1-20
Hauptverfasser: Angulo, Guisella, San Martín, Daniel, Ferrari, Fabiano, García-Rodríguez de Guzmán, Ignacio, Perez-Castillo, Ricardo, Vieira de Camargo, Valter
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 20
container_issue 1
container_start_page 1
container_title International journal on software tools for technology transfer
container_volume 26
creator Angulo, Guisella
San Martín, Daniel
Ferrari, Fabiano
García-Rodríguez de Guzmán, Ignacio
Perez-Castillo, Ricardo
Vieira de Camargo, Valter
description Architecture-Driven Modernization (ADM) is a special kind of reengineering that employs models along the process. The main ADM metamodel is the Knowledge Discovery Metamodel (KDM), which is a platform-independent metamodel able to represent several views of a system. Although a lot of research is currently focused on the reverse engineering phase of ADM, little has been devoted to the forward engineering one, mainly on the generation of Platform-Specific Models (PSMs) from KDM. The forward engineering phase is essential because it belongs to the end of the horseshoe model, completing the reengineering process. Besides, the lack of research and the absence of tooling support in this phase hinder the industrial adoption of ADM. Therefore, in this paper, we present a process for creating Transformation Engines (TEs) capable of transforming KDM instances in a chosen PSM. We highlight two main contributions in this work. The first is a process that software engineers can follow for building TEs capable of generating PSM instances (e.g., Java model, Python model, etc.) from KDM instances. Having that on their hands, modernization engineers can then use generators for generating language-specific source code from the PSM. The second is delivering a specific TE called RUTE-K2J, which is able to generate Java models from KDM models. The transformation rules of RUTE-K2J have been tested considering sets of common code structures that normally appear when modernizing systems. The test cases have shown that in this version of RUTE the transformation rules are able to correctly generate 92% of the source code submitted to the transformation.
doi_str_mv 10.1007/s10009-024-00735-4
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2926962839</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2926962839</sourcerecordid><originalsourceid>FETCH-LOGICAL-c270t-28cbd5a65d0f5e66657844fd33f330e0b35a3f6a85a56b7c55eb590cef0cfb833</originalsourceid><addsrcrecordid>eNp9UMtOwzAQtBBIlMIPcIrE2bDxxnZ8rAoURCuQgLPlOHbUijrFTg_8PYYguHHZ58zsagg5L-GyBJBXKUdQFFhFc4ucVgdkUlaIlMlaHv7WUh2Tk5Q2AKUUUk0InxW72FuXUuH7WNjozLAOXfFwvWJPz6tiiCakvNnmcR8KF7p1cOmUHHnzltzZT56S19ubl_kdXT4u7uezJbVMwkBZbZuWG8Fb8NwJIbisq8q3iB4RHDTIDXpham64aKTl3DVcgXUerG9qxCm5GHXzj-97lwa96fcx5JOaKSaUYDWqjGIjysY-pei83sX11sQPXYL-skeP9uhsj_62R1eZhCMpZXDoXPyT_of1CetOZqo</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2926962839</pqid></control><display><type>article</type><title>A process for creating KDM2PSM transformation engines</title><source>SpringerNature Journals</source><creator>Angulo, Guisella ; San Martín, Daniel ; Ferrari, Fabiano ; García-Rodríguez de Guzmán, Ignacio ; Perez-Castillo, Ricardo ; Vieira de Camargo, Valter</creator><creatorcontrib>Angulo, Guisella ; San Martín, Daniel ; Ferrari, Fabiano ; García-Rodríguez de Guzmán, Ignacio ; Perez-Castillo, Ricardo ; Vieira de Camargo, Valter</creatorcontrib><description>Architecture-Driven Modernization (ADM) is a special kind of reengineering that employs models along the process. The main ADM metamodel is the Knowledge Discovery Metamodel (KDM), which is a platform-independent metamodel able to represent several views of a system. Although a lot of research is currently focused on the reverse engineering phase of ADM, little has been devoted to the forward engineering one, mainly on the generation of Platform-Specific Models (PSMs) from KDM. The forward engineering phase is essential because it belongs to the end of the horseshoe model, completing the reengineering process. Besides, the lack of research and the absence of tooling support in this phase hinder the industrial adoption of ADM. Therefore, in this paper, we present a process for creating Transformation Engines (TEs) capable of transforming KDM instances in a chosen PSM. We highlight two main contributions in this work. The first is a process that software engineers can follow for building TEs capable of generating PSM instances (e.g., Java model, Python model, etc.) from KDM instances. Having that on their hands, modernization engineers can then use generators for generating language-specific source code from the PSM. The second is delivering a specific TE called RUTE-K2J, which is able to generate Java models from KDM models. The transformation rules of RUTE-K2J have been tested considering sets of common code structures that normally appear when modernizing systems. The test cases have shown that in this version of RUTE the transformation rules are able to correctly generate 92% of the source code submitted to the transformation.</description><identifier>ISSN: 1433-2779</identifier><identifier>EISSN: 1433-2787</identifier><identifier>DOI: 10.1007/s10009-024-00735-4</identifier><language>eng</language><publisher>Berlin/Heidelberg: Springer Berlin Heidelberg</publisher><subject>Computer Science ; Engineers ; Engines ; Foundation for Mastering Change ; Metamodels ; Modernization ; Reengineering ; Reverse engineering ; Software Engineering ; Software Engineering/Programming and Operating Systems ; Source code ; Theory of Computation ; Tooling</subject><ispartof>International journal on software tools for technology transfer, 2024-02, Vol.26 (1), p.1-20</ispartof><rights>The Author(s), under exclusive licence to Springer-Verlag GmbH Germany, part of Springer Nature 2024. Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c270t-28cbd5a65d0f5e66657844fd33f330e0b35a3f6a85a56b7c55eb590cef0cfb833</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/s10009-024-00735-4$$EPDF$$P50$$Gspringer$$H</linktopdf><linktohtml>$$Uhttps://link.springer.com/10.1007/s10009-024-00735-4$$EHTML$$P50$$Gspringer$$H</linktohtml><link.rule.ids>314,780,784,27924,27925,41488,42557,51319</link.rule.ids></links><search><creatorcontrib>Angulo, Guisella</creatorcontrib><creatorcontrib>San Martín, Daniel</creatorcontrib><creatorcontrib>Ferrari, Fabiano</creatorcontrib><creatorcontrib>García-Rodríguez de Guzmán, Ignacio</creatorcontrib><creatorcontrib>Perez-Castillo, Ricardo</creatorcontrib><creatorcontrib>Vieira de Camargo, Valter</creatorcontrib><title>A process for creating KDM2PSM transformation engines</title><title>International journal on software tools for technology transfer</title><addtitle>Int J Softw Tools Technol Transfer</addtitle><description>Architecture-Driven Modernization (ADM) is a special kind of reengineering that employs models along the process. The main ADM metamodel is the Knowledge Discovery Metamodel (KDM), which is a platform-independent metamodel able to represent several views of a system. Although a lot of research is currently focused on the reverse engineering phase of ADM, little has been devoted to the forward engineering one, mainly on the generation of Platform-Specific Models (PSMs) from KDM. The forward engineering phase is essential because it belongs to the end of the horseshoe model, completing the reengineering process. Besides, the lack of research and the absence of tooling support in this phase hinder the industrial adoption of ADM. Therefore, in this paper, we present a process for creating Transformation Engines (TEs) capable of transforming KDM instances in a chosen PSM. We highlight two main contributions in this work. The first is a process that software engineers can follow for building TEs capable of generating PSM instances (e.g., Java model, Python model, etc.) from KDM instances. Having that on their hands, modernization engineers can then use generators for generating language-specific source code from the PSM. The second is delivering a specific TE called RUTE-K2J, which is able to generate Java models from KDM models. The transformation rules of RUTE-K2J have been tested considering sets of common code structures that normally appear when modernizing systems. The test cases have shown that in this version of RUTE the transformation rules are able to correctly generate 92% of the source code submitted to the transformation.</description><subject>Computer Science</subject><subject>Engineers</subject><subject>Engines</subject><subject>Foundation for Mastering Change</subject><subject>Metamodels</subject><subject>Modernization</subject><subject>Reengineering</subject><subject>Reverse engineering</subject><subject>Software Engineering</subject><subject>Software Engineering/Programming and Operating Systems</subject><subject>Source code</subject><subject>Theory of Computation</subject><subject>Tooling</subject><issn>1433-2779</issn><issn>1433-2787</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2024</creationdate><recordtype>article</recordtype><recordid>eNp9UMtOwzAQtBBIlMIPcIrE2bDxxnZ8rAoURCuQgLPlOHbUijrFTg_8PYYguHHZ58zsagg5L-GyBJBXKUdQFFhFc4ucVgdkUlaIlMlaHv7WUh2Tk5Q2AKUUUk0InxW72FuXUuH7WNjozLAOXfFwvWJPz6tiiCakvNnmcR8KF7p1cOmUHHnzltzZT56S19ubl_kdXT4u7uezJbVMwkBZbZuWG8Fb8NwJIbisq8q3iB4RHDTIDXpham64aKTl3DVcgXUerG9qxCm5GHXzj-97lwa96fcx5JOaKSaUYDWqjGIjysY-pei83sX11sQPXYL-skeP9uhsj_62R1eZhCMpZXDoXPyT_of1CetOZqo</recordid><startdate>20240201</startdate><enddate>20240201</enddate><creator>Angulo, Guisella</creator><creator>San Martín, Daniel</creator><creator>Ferrari, Fabiano</creator><creator>García-Rodríguez de Guzmán, Ignacio</creator><creator>Perez-Castillo, Ricardo</creator><creator>Vieira de Camargo, Valter</creator><general>Springer Berlin Heidelberg</general><general>Springer Nature B.V</general><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20240201</creationdate><title>A process for creating KDM2PSM transformation engines</title><author>Angulo, Guisella ; San Martín, Daniel ; Ferrari, Fabiano ; García-Rodríguez de Guzmán, Ignacio ; Perez-Castillo, Ricardo ; Vieira de Camargo, Valter</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c270t-28cbd5a65d0f5e66657844fd33f330e0b35a3f6a85a56b7c55eb590cef0cfb833</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2024</creationdate><topic>Computer Science</topic><topic>Engineers</topic><topic>Engines</topic><topic>Foundation for Mastering Change</topic><topic>Metamodels</topic><topic>Modernization</topic><topic>Reengineering</topic><topic>Reverse engineering</topic><topic>Software Engineering</topic><topic>Software Engineering/Programming and Operating Systems</topic><topic>Source code</topic><topic>Theory of Computation</topic><topic>Tooling</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Angulo, Guisella</creatorcontrib><creatorcontrib>San Martín, Daniel</creatorcontrib><creatorcontrib>Ferrari, Fabiano</creatorcontrib><creatorcontrib>García-Rodríguez de Guzmán, Ignacio</creatorcontrib><creatorcontrib>Perez-Castillo, Ricardo</creatorcontrib><creatorcontrib>Vieira de Camargo, Valter</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>International journal on software tools for technology transfer</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Angulo, Guisella</au><au>San Martín, Daniel</au><au>Ferrari, Fabiano</au><au>García-Rodríguez de Guzmán, Ignacio</au><au>Perez-Castillo, Ricardo</au><au>Vieira de Camargo, Valter</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>A process for creating KDM2PSM transformation engines</atitle><jtitle>International journal on software tools for technology transfer</jtitle><stitle>Int J Softw Tools Technol Transfer</stitle><date>2024-02-01</date><risdate>2024</risdate><volume>26</volume><issue>1</issue><spage>1</spage><epage>20</epage><pages>1-20</pages><issn>1433-2779</issn><eissn>1433-2787</eissn><abstract>Architecture-Driven Modernization (ADM) is a special kind of reengineering that employs models along the process. The main ADM metamodel is the Knowledge Discovery Metamodel (KDM), which is a platform-independent metamodel able to represent several views of a system. Although a lot of research is currently focused on the reverse engineering phase of ADM, little has been devoted to the forward engineering one, mainly on the generation of Platform-Specific Models (PSMs) from KDM. The forward engineering phase is essential because it belongs to the end of the horseshoe model, completing the reengineering process. Besides, the lack of research and the absence of tooling support in this phase hinder the industrial adoption of ADM. Therefore, in this paper, we present a process for creating Transformation Engines (TEs) capable of transforming KDM instances in a chosen PSM. We highlight two main contributions in this work. The first is a process that software engineers can follow for building TEs capable of generating PSM instances (e.g., Java model, Python model, etc.) from KDM instances. Having that on their hands, modernization engineers can then use generators for generating language-specific source code from the PSM. The second is delivering a specific TE called RUTE-K2J, which is able to generate Java models from KDM models. The transformation rules of RUTE-K2J have been tested considering sets of common code structures that normally appear when modernizing systems. The test cases have shown that in this version of RUTE the transformation rules are able to correctly generate 92% of the source code submitted to the transformation.</abstract><cop>Berlin/Heidelberg</cop><pub>Springer Berlin Heidelberg</pub><doi>10.1007/s10009-024-00735-4</doi><tpages>20</tpages></addata></record>
fulltext fulltext
identifier ISSN: 1433-2779
ispartof International journal on software tools for technology transfer, 2024-02, Vol.26 (1), p.1-20
issn 1433-2779
1433-2787
language eng
recordid cdi_proquest_journals_2926962839
source SpringerNature Journals
subjects Computer Science
Engineers
Engines
Foundation for Mastering Change
Metamodels
Modernization
Reengineering
Reverse engineering
Software Engineering
Software Engineering/Programming and Operating Systems
Source code
Theory of Computation
Tooling
title A process for creating KDM2PSM transformation engines
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-19T12%3A01%3A04IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=A%20process%20for%20creating%20KDM2PSM%20transformation%20engines&rft.jtitle=International%20journal%20on%20software%20tools%20for%20technology%20transfer&rft.au=Angulo,%20Guisella&rft.date=2024-02-01&rft.volume=26&rft.issue=1&rft.spage=1&rft.epage=20&rft.pages=1-20&rft.issn=1433-2779&rft.eissn=1433-2787&rft_id=info:doi/10.1007/s10009-024-00735-4&rft_dat=%3Cproquest_cross%3E2926962839%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2926962839&rft_id=info:pmid/&rfr_iscdi=true