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...
Gespeichert in:
Veröffentlicht in: | International journal on software tools for technology transfer 2024-02, Vol.26 (1), p.1-20 |
---|---|
Hauptverfasser: | , , , , , |
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 |