Model Transformation Modularization as a Many-Objective Optimization Problem

Model transformation programs are iteratively refined, restructured, and evolved due to many reasons such as fixing bugs and adapting existing transformation rules to new metamodels version. Thus, modular design is a desirable property for model transformations as it can significantly improve their...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE transactions on software engineering 2017-11, Vol.43 (11), p.1009-1032
Hauptverfasser: Fleck, Martin, Troya, Javier, Kessentini, Marouane, Wimmer, Manuel, Alkhazi, Bader
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 1032
container_issue 11
container_start_page 1009
container_title IEEE transactions on software engineering
container_volume 43
creator Fleck, Martin
Troya, Javier
Kessentini, Marouane
Wimmer, Manuel
Alkhazi, Bader
description Model transformation programs are iteratively refined, restructured, and evolved due to many reasons such as fixing bugs and adapting existing transformation rules to new metamodels version. Thus, modular design is a desirable property for model transformations as it can significantly improve their evolution, comprehensibility, maintainability, reusability, and thus, their overall quality. Although language support for modularization of model transformations is emerging, model transformations are created as monolithic artifacts containing a huge number of rules. To the best of our knowledge, the problem of automatically modularizing model transformation programs was not addressed before in the current literature. These programs written in transformation languages, such as ATL, are implemented as one main module including a huge number of rules. To tackle this problem and improve the quality and maintainability of model transformation programs, we propose an automated search-based approach to modularize model transformations based on higher-order transformations. Their application and execution is guided by our search framework which combines an in-place transformation engine and a search-based algorithm framework. We demonstrate the feasibility of our approach by using ATL as concrete transformation language and NSGA-III as search algorithm to find a trade-off between different well-known conflicting design metrics for the fitness functions to evaluate the generated modularized solutions. To validate our approach, we apply it to a comprehensive dataset of model transformations. As the study shows, ATL transformations can be modularized automatically, efficiently, and effectively by our approach. We found that, on average, the majority of recommended modules, for all the ATL programs, by NSGA-III are considered correct with more than 84 percent of precision and 86 percent of recall when compared to manual solutions provided by active developers. The statistical analysis of our experiments over several runs shows that NSGA-III performed significantly better than multi-objective algorithms and random search. We were not able to compare with existing model transformations modularization approaches since our study is the first to address this problem. The software developers considered in our experiments confirm the relevance of the recommended modularization solutions for several maintenance activities based on different scenarios and interviews.
doi_str_mv 10.1109/TSE.2017.2654255
format Article
fullrecord <record><control><sourceid>proquest_RIE</sourceid><recordid>TN_cdi_ieee_primary_7820199</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>7820199</ieee_id><sourcerecordid>2174441481</sourcerecordid><originalsourceid>FETCH-LOGICAL-c333t-47590af98144469e137803463fc44851ca74cd6a4868bc052aad1ab7fb45d8393</originalsourceid><addsrcrecordid>eNo9kE1LAzEQhoMoWKt3wcuC562TTbJJjlJqFVoqWM9hNpuFLftRk61Qf70pWz0NMzzvO_AQck9hRinop-3HYpYBlbMsFzwT4oJMqGY6ZSKDSzIB0CoVQulrchPCDgCElGJCVuu-dE2y9diFqvctDnXfJfF4aNDXP-OKIcFkjd0x3RQ7Z4f62yWb_VC3f8C774vGtbfkqsImuLvznJLPl8V2_pquNsu3-fMqtYyxIeVSaMBKK8o5z7WjTCpgPGeV5VwJalFyW-bIVa4KCyJDLCkWsiq4KBXTbEoex969778OLgxm1x98F1-ajMpYSrmikYKRsr4PwbvK7H3doj8aCubkzERn5uTMnJ3FyMMYqZ1z_7hUEdKa_QJz32c9</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2174441481</pqid></control><display><type>article</type><title>Model Transformation Modularization as a Many-Objective Optimization Problem</title><source>IEEE Electronic Library (IEL)</source><creator>Fleck, Martin ; Troya, Javier ; Kessentini, Marouane ; Wimmer, Manuel ; Alkhazi, Bader</creator><creatorcontrib>Fleck, Martin ; Troya, Javier ; Kessentini, Marouane ; Wimmer, Manuel ; Alkhazi, Bader</creatorcontrib><description>Model transformation programs are iteratively refined, restructured, and evolved due to many reasons such as fixing bugs and adapting existing transformation rules to new metamodels version. Thus, modular design is a desirable property for model transformations as it can significantly improve their evolution, comprehensibility, maintainability, reusability, and thus, their overall quality. Although language support for modularization of model transformations is emerging, model transformations are created as monolithic artifacts containing a huge number of rules. To the best of our knowledge, the problem of automatically modularizing model transformation programs was not addressed before in the current literature. These programs written in transformation languages, such as ATL, are implemented as one main module including a huge number of rules. To tackle this problem and improve the quality and maintainability of model transformation programs, we propose an automated search-based approach to modularize model transformations based on higher-order transformations. Their application and execution is guided by our search framework which combines an in-place transformation engine and a search-based algorithm framework. We demonstrate the feasibility of our approach by using ATL as concrete transformation language and NSGA-III as search algorithm to find a trade-off between different well-known conflicting design metrics for the fitness functions to evaluate the generated modularized solutions. To validate our approach, we apply it to a comprehensive dataset of model transformations. As the study shows, ATL transformations can be modularized automatically, efficiently, and effectively by our approach. We found that, on average, the majority of recommended modules, for all the ATL programs, by NSGA-III are considered correct with more than 84 percent of precision and 86 percent of recall when compared to manual solutions provided by active developers. The statistical analysis of our experiments over several runs shows that NSGA-III performed significantly better than multi-objective algorithms and random search. We were not able to compare with existing model transformations modularization approaches since our study is the first to address this problem. The software developers considered in our experiments confirm the relevance of the recommended modularization solutions for several maintenance activities based on different scenarios and interviews.</description><identifier>ISSN: 0098-5589</identifier><identifier>EISSN: 1939-3520</identifier><identifier>DOI: 10.1109/TSE.2017.2654255</identifier><identifier>CODEN: IESEDJ</identifier><language>eng</language><publisher>New York: IEEE</publisher><subject>Adaptation models ; Algorithm design and analysis ; ATL ; Computer bugs ; Evolution ; Fitness ; Maintainability ; Mathematical models ; MDE ; Measurement ; Metamodels ; Model transformation ; Modular design ; Modularization ; Modules ; Multiple objective analysis ; NSGA-III ; Object oriented modeling ; SBSE ; Search algorithms ; Software development ; Software engineering ; Statistical analysis ; Transformations ; Unified modeling language</subject><ispartof>IEEE transactions on software engineering, 2017-11, Vol.43 (11), p.1009-1032</ispartof><rights>Copyright IEEE Computer Society 2017</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c333t-47590af98144469e137803463fc44851ca74cd6a4868bc052aad1ab7fb45d8393</citedby><cites>FETCH-LOGICAL-c333t-47590af98144469e137803463fc44851ca74cd6a4868bc052aad1ab7fb45d8393</cites><orcidid>0000-0002-0053-3443 ; 0000-0002-0832-1867</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/7820199$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,780,784,796,27922,27923,54756</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/7820199$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Fleck, Martin</creatorcontrib><creatorcontrib>Troya, Javier</creatorcontrib><creatorcontrib>Kessentini, Marouane</creatorcontrib><creatorcontrib>Wimmer, Manuel</creatorcontrib><creatorcontrib>Alkhazi, Bader</creatorcontrib><title>Model Transformation Modularization as a Many-Objective Optimization Problem</title><title>IEEE transactions on software engineering</title><addtitle>TSE</addtitle><description>Model transformation programs are iteratively refined, restructured, and evolved due to many reasons such as fixing bugs and adapting existing transformation rules to new metamodels version. Thus, modular design is a desirable property for model transformations as it can significantly improve their evolution, comprehensibility, maintainability, reusability, and thus, their overall quality. Although language support for modularization of model transformations is emerging, model transformations are created as monolithic artifacts containing a huge number of rules. To the best of our knowledge, the problem of automatically modularizing model transformation programs was not addressed before in the current literature. These programs written in transformation languages, such as ATL, are implemented as one main module including a huge number of rules. To tackle this problem and improve the quality and maintainability of model transformation programs, we propose an automated search-based approach to modularize model transformations based on higher-order transformations. Their application and execution is guided by our search framework which combines an in-place transformation engine and a search-based algorithm framework. We demonstrate the feasibility of our approach by using ATL as concrete transformation language and NSGA-III as search algorithm to find a trade-off between different well-known conflicting design metrics for the fitness functions to evaluate the generated modularized solutions. To validate our approach, we apply it to a comprehensive dataset of model transformations. As the study shows, ATL transformations can be modularized automatically, efficiently, and effectively by our approach. We found that, on average, the majority of recommended modules, for all the ATL programs, by NSGA-III are considered correct with more than 84 percent of precision and 86 percent of recall when compared to manual solutions provided by active developers. The statistical analysis of our experiments over several runs shows that NSGA-III performed significantly better than multi-objective algorithms and random search. We were not able to compare with existing model transformations modularization approaches since our study is the first to address this problem. The software developers considered in our experiments confirm the relevance of the recommended modularization solutions for several maintenance activities based on different scenarios and interviews.</description><subject>Adaptation models</subject><subject>Algorithm design and analysis</subject><subject>ATL</subject><subject>Computer bugs</subject><subject>Evolution</subject><subject>Fitness</subject><subject>Maintainability</subject><subject>Mathematical models</subject><subject>MDE</subject><subject>Measurement</subject><subject>Metamodels</subject><subject>Model transformation</subject><subject>Modular design</subject><subject>Modularization</subject><subject>Modules</subject><subject>Multiple objective analysis</subject><subject>NSGA-III</subject><subject>Object oriented modeling</subject><subject>SBSE</subject><subject>Search algorithms</subject><subject>Software development</subject><subject>Software engineering</subject><subject>Statistical analysis</subject><subject>Transformations</subject><subject>Unified modeling language</subject><issn>0098-5589</issn><issn>1939-3520</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2017</creationdate><recordtype>article</recordtype><sourceid>RIE</sourceid><recordid>eNo9kE1LAzEQhoMoWKt3wcuC562TTbJJjlJqFVoqWM9hNpuFLftRk61Qf70pWz0NMzzvO_AQck9hRinop-3HYpYBlbMsFzwT4oJMqGY6ZSKDSzIB0CoVQulrchPCDgCElGJCVuu-dE2y9diFqvctDnXfJfF4aNDXP-OKIcFkjd0x3RQ7Z4f62yWb_VC3f8C774vGtbfkqsImuLvznJLPl8V2_pquNsu3-fMqtYyxIeVSaMBKK8o5z7WjTCpgPGeV5VwJalFyW-bIVa4KCyJDLCkWsiq4KBXTbEoex969778OLgxm1x98F1-ajMpYSrmikYKRsr4PwbvK7H3doj8aCubkzERn5uTMnJ3FyMMYqZ1z_7hUEdKa_QJz32c9</recordid><startdate>20171101</startdate><enddate>20171101</enddate><creator>Fleck, Martin</creator><creator>Troya, Javier</creator><creator>Kessentini, Marouane</creator><creator>Wimmer, Manuel</creator><creator>Alkhazi, Bader</creator><general>IEEE</general><general>IEEE Computer Society</general><scope>97E</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>JQ2</scope><scope>K9.</scope><orcidid>https://orcid.org/0000-0002-0053-3443</orcidid><orcidid>https://orcid.org/0000-0002-0832-1867</orcidid></search><sort><creationdate>20171101</creationdate><title>Model Transformation Modularization as a Many-Objective Optimization Problem</title><author>Fleck, Martin ; Troya, Javier ; Kessentini, Marouane ; Wimmer, Manuel ; Alkhazi, Bader</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c333t-47590af98144469e137803463fc44851ca74cd6a4868bc052aad1ab7fb45d8393</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2017</creationdate><topic>Adaptation models</topic><topic>Algorithm design and analysis</topic><topic>ATL</topic><topic>Computer bugs</topic><topic>Evolution</topic><topic>Fitness</topic><topic>Maintainability</topic><topic>Mathematical models</topic><topic>MDE</topic><topic>Measurement</topic><topic>Metamodels</topic><topic>Model transformation</topic><topic>Modular design</topic><topic>Modularization</topic><topic>Modules</topic><topic>Multiple objective analysis</topic><topic>NSGA-III</topic><topic>Object oriented modeling</topic><topic>SBSE</topic><topic>Search algorithms</topic><topic>Software development</topic><topic>Software engineering</topic><topic>Statistical analysis</topic><topic>Transformations</topic><topic>Unified modeling language</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Fleck, Martin</creatorcontrib><creatorcontrib>Troya, Javier</creatorcontrib><creatorcontrib>Kessentini, Marouane</creatorcontrib><creatorcontrib>Wimmer, Manuel</creatorcontrib><creatorcontrib>Alkhazi, Bader</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE Electronic Library (IEL)</collection><collection>CrossRef</collection><collection>ProQuest Computer Science Collection</collection><collection>ProQuest Health &amp; Medical Complete (Alumni)</collection><jtitle>IEEE transactions on software engineering</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Fleck, Martin</au><au>Troya, Javier</au><au>Kessentini, Marouane</au><au>Wimmer, Manuel</au><au>Alkhazi, Bader</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Model Transformation Modularization as a Many-Objective Optimization Problem</atitle><jtitle>IEEE transactions on software engineering</jtitle><stitle>TSE</stitle><date>2017-11-01</date><risdate>2017</risdate><volume>43</volume><issue>11</issue><spage>1009</spage><epage>1032</epage><pages>1009-1032</pages><issn>0098-5589</issn><eissn>1939-3520</eissn><coden>IESEDJ</coden><abstract>Model transformation programs are iteratively refined, restructured, and evolved due to many reasons such as fixing bugs and adapting existing transformation rules to new metamodels version. Thus, modular design is a desirable property for model transformations as it can significantly improve their evolution, comprehensibility, maintainability, reusability, and thus, their overall quality. Although language support for modularization of model transformations is emerging, model transformations are created as monolithic artifacts containing a huge number of rules. To the best of our knowledge, the problem of automatically modularizing model transformation programs was not addressed before in the current literature. These programs written in transformation languages, such as ATL, are implemented as one main module including a huge number of rules. To tackle this problem and improve the quality and maintainability of model transformation programs, we propose an automated search-based approach to modularize model transformations based on higher-order transformations. Their application and execution is guided by our search framework which combines an in-place transformation engine and a search-based algorithm framework. We demonstrate the feasibility of our approach by using ATL as concrete transformation language and NSGA-III as search algorithm to find a trade-off between different well-known conflicting design metrics for the fitness functions to evaluate the generated modularized solutions. To validate our approach, we apply it to a comprehensive dataset of model transformations. As the study shows, ATL transformations can be modularized automatically, efficiently, and effectively by our approach. We found that, on average, the majority of recommended modules, for all the ATL programs, by NSGA-III are considered correct with more than 84 percent of precision and 86 percent of recall when compared to manual solutions provided by active developers. The statistical analysis of our experiments over several runs shows that NSGA-III performed significantly better than multi-objective algorithms and random search. We were not able to compare with existing model transformations modularization approaches since our study is the first to address this problem. The software developers considered in our experiments confirm the relevance of the recommended modularization solutions for several maintenance activities based on different scenarios and interviews.</abstract><cop>New York</cop><pub>IEEE</pub><doi>10.1109/TSE.2017.2654255</doi><tpages>24</tpages><orcidid>https://orcid.org/0000-0002-0053-3443</orcidid><orcidid>https://orcid.org/0000-0002-0832-1867</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 0098-5589
ispartof IEEE transactions on software engineering, 2017-11, Vol.43 (11), p.1009-1032
issn 0098-5589
1939-3520
language eng
recordid cdi_ieee_primary_7820199
source IEEE Electronic Library (IEL)
subjects Adaptation models
Algorithm design and analysis
ATL
Computer bugs
Evolution
Fitness
Maintainability
Mathematical models
MDE
Measurement
Metamodels
Model transformation
Modular design
Modularization
Modules
Multiple objective analysis
NSGA-III
Object oriented modeling
SBSE
Search algorithms
Software development
Software engineering
Statistical analysis
Transformations
Unified modeling language
title Model Transformation Modularization as a Many-Objective Optimization Problem
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-14T12%3A16%3A46IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_RIE&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Model%20Transformation%20Modularization%20as%20a%20Many-Objective%20Optimization%20Problem&rft.jtitle=IEEE%20transactions%20on%20software%20engineering&rft.au=Fleck,%20Martin&rft.date=2017-11-01&rft.volume=43&rft.issue=11&rft.spage=1009&rft.epage=1032&rft.pages=1009-1032&rft.issn=0098-5589&rft.eissn=1939-3520&rft.coden=IESEDJ&rft_id=info:doi/10.1109/TSE.2017.2654255&rft_dat=%3Cproquest_RIE%3E2174441481%3C/proquest_RIE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2174441481&rft_id=info:pmid/&rft_ieee_id=7820199&rfr_iscdi=true