{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,10]],"date-time":"2026-02-10T19:02:14Z","timestamp":1770750134834,"version":"3.50.0"},"reference-count":45,"publisher":"Frontiers Media SA","license":[{"start":{"date-parts":[[2024,6,20]],"date-time":"2024-06-20T00:00:00Z","timestamp":1718841600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["frontiersin.org"],"crossmark-restriction":true},"short-container-title":["Front. Comput. Sci."],"abstract":"<jats:p>Model Driven Engineering (MDE) adoption in the industry suffers from many technical and non-technical problems. One of the significant technical problems lies in the difficulty of building complex transformations from the composition of small and reusable transformations. Another problem resides in developing transformations from scratch in case they are missing. In this paper, we present an approach to how to handle these issues. The approach allows composing reusable transformations to build more complex ones by providing a catalog of prebuilt transformations targeting common architectures, frameworks, and design patterns. To give guidance and simplify the task of developing new transformations, we describe a platform description model of an entire system or a part of it in two views: a UML profile and a set of transformations. We also present three transformation types, each of which handles different abstraction design concerns. Generic transformations are small and reusable to build complex transformations, system-independent transformations are reusable and implement high-level design decisions, and system-specific transformations are not reusable and implement all design decisions needed for a given system. The approach is implemented as a plugin for a UML modeling tool and validated by developing a system that simulates the behavior of a gas station through model transformations built from the composition of reusable transformations.<\/jats:p>","DOI":"10.3389\/fcomp.2024.1357845","type":"journal-article","created":{"date-parts":[[2024,6,20]],"date-time":"2024-06-20T05:10:34Z","timestamp":1718860234000},"update-policy":"https:\/\/doi.org\/10.3389\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Towards an effective approach for composition of model transformations"],"prefix":"10.3389","volume":"6","author":[{"given":"Hamza","family":"Abdelmalek","sequence":"first","affiliation":[]},{"given":"Isma\u00efl","family":"Khriss","sequence":"additional","affiliation":[]},{"given":"Abdeslam","family":"Jakimi","sequence":"additional","affiliation":[]}],"member":"1965","published-online":{"date-parts":[[2024,6,20]]},"reference":[{"key":"ref1","author":"Abdelmalek","year":""},{"key":"ref2","author":"Abdelmalek","year":""},{"key":"ref3","doi-asserted-by":"crossref","DOI":"10.1145\/2491279.2491286","article-title":"MTC flow: a tool to design, develop and deploy model transformation chains","author":"Alvarez","year":"2013"},{"key":"ref4","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-33666-9_36","article-title":"Using feature model to build model transformation chains","author":"Aranega","year":"2012"},{"key":"ref5","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-16145-2_9","article-title":"Henshin: advanced concepts and tools for in-place EMF model transformations","author":"Arendt","year":"2010"},{"key":"ref6","doi-asserted-by":"crossref","DOI":"10.1145\/1141277.1141575","article-title":"Advanced model transformation language constructs in the VIATRA2 framework","author":"Balogh","year":"2006"},{"key":"ref7","first-page":"2","article-title":"A tool for automatically selecting optimal model transformation chains","author":"Basciani","year":"2018"},{"key":"ref8","doi-asserted-by":"publisher","first-page":"5","DOI":"10.1007\/s10270-019-00773-6","article-title":"Grand challenges in model-driven engineering: an analysis of the state of the research","volume":"19","author":"Bucchiarone","year":"2020","journal-title":"Softw. Syst. Model."},{"key":"ref9","doi-asserted-by":"publisher","first-page":"1","DOI":"10.5381\/jot.2019.18.3.a7","article-title":"The future of model transformation languages: an open community","volume":"18","author":"Burgue\u00f1o","year":"2019","journal-title":"J. Object Technol."},{"key":"ref10","article-title":"Towards the discovery of implementation platform description models of legacy object-oriented systems","author":"Ch\u00e9nard","year":"2010"},{"key":"ref11","doi-asserted-by":"publisher","first-page":"1042","DOI":"10.1109\/TSE.2014.2339852","article-title":"A component model for model transformations","volume":"40","author":"Cuadrado","year":"2014","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref12","doi-asserted-by":"publisher","first-page":"325","DOI":"10.1007\/s10270-008-0093-0","article-title":"Modularization of model transformations through a phasing mechanism","volume":"8","author":"Cuadrado","year":"2009","journal-title":"Softw. Syst. Model."},{"key":"ref13","doi-asserted-by":"publisher","first-page":"437","DOI":"10.1007\/s10270-021-00970-2","article-title":"Low-code development and model-driven engineering: two sides of the same coin?","volume":"21","author":"Di Ruscio","year":"2022","journal-title":"Softw. Syst. Model."},{"key":"ref14","doi-asserted-by":"publisher","first-page":"1189","DOI":"10.1007\/s10270-013-0379-8","article-title":"Localized model transformations for building large-scale transformations","volume":"14","author":"Etien","year":"2015","journal-title":"Softw. Syst. Model."},{"key":"ref15","volume-title":"Domain-driven design: Tackling complexity in the heart of software","author":"Evans","year":"2004"},{"key":"ref16","doi-asserted-by":"publisher","first-page":"1009","DOI":"10.1109\/TSE.2017.2654255","article-title":"Model transformation modularization as a many-objective optimization problem","volume":"43","author":"Fleck","year":"2017","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref17","volume-title":"Domain-specific languages","author":"Fowler","year":"2010"},{"key":"ref18","volume-title":"Design patterns: Elements of reusable object-oriented software","author":"Gamma","year":"1995"},{"key":"ref19","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-319-08789-4_11","article-title":"Chaintracker, a model-transformation trace analysis tool for code-generation environments","author":"Guana","year":"2014"},{"key":"ref20","doi-asserted-by":"publisher","first-page":"159","DOI":"10.1007\/s10664-022-10194-7","article-title":"Advantages and disadvantages of (dedicated) model transformation languages: a qualitative interview study","volume":"27","author":"H\u00f6ppner","year":"2022","journal-title":"Empir. Softw. Eng."},{"key":"ref21","doi-asserted-by":"publisher","first-page":"31","DOI":"10.1016\/j.scico.2007.08.002","article-title":"ATL: a model transformation tool","volume":"72","author":"Jouault","year":"2008","journal-title":"Sci. Comput. Program."},{"key":"ref22","author":"Kleppe","year":"2006"},{"key":"ref23","doi-asserted-by":"publisher","first-page":"138","DOI":"10.1016\/j.scico.2007.05.006","article-title":"Rule-based modularization in model transformation languages illustrated with ATL","volume":"68","author":"Kurtev","year":"2007","journal-title":"Sci. Comput. Program."},{"key":"ref24","doi-asserted-by":"publisher","first-page":"537","DOI":"10.1007\/s10270-013-0343-7","article-title":"Reuse in model-to-model transformation languages: are we there yet?","volume":"14","author":"Kusel","year":"2013","journal-title":"Softw. Syst. Model."},{"key":"ref25","doi-asserted-by":"publisher","first-page":"48","DOI":"10.1016\/j.jss.2018.03.001","article-title":"A survey of model transformation design patterns in practice","volume":"140","author":"Lano","year":"2018","journal-title":"J. Syst. Softw."},{"key":"ref26","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1921532.1921563","article-title":"QVT-based model transformation using XSLT","volume":"36","author":"Li","year":"2011","journal-title":"ACM SIGSOFT Softw. Eng. Notes"},{"key":"ref27","first-page":"182","article-title":"FTG+ PM: an integrated framework for investigating model transformation chains","author":"L\u00facio","year":"2013"},{"key":"ref28","volume-title":"Clean architecture: A craftsman's guide to software structure and design","author":"Martin","year":"2017"},{"key":"ref29","volume-title":"MDA guide version 1.0. 1","author":"Miller","year":"2003"},{"key":"ref30","author":"OMG","year":""},{"key":"ref31","author":"OMG","year":""},{"key":"ref32","first-page":"34","article-title":"Orchestrating ATL model transformations","volume":"9","author":"Rivera","year":"2009","journal-title":"Proc. MtATL"},{"key":"ref33","doi-asserted-by":"crossref","DOI":"10.1109\/SEAA51224.2020.00036","article-title":"Supporting the understanding and comparison of low-code development platforms","author":"Sahay","year":"2020"},{"key":"ref34","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-540-69927-9_12","article-title":"Approaches for model transformation reuse: factorization and composition","author":"S\u00e1nchez Cuadrado","year":"2008"},{"key":"ref35","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-21732-6_5","article-title":"Generic model transformations: write once, reuse everywhere","author":"S\u00e1nchez Cuadrado","year":"2011"},{"key":"ref36","doi-asserted-by":"publisher","first-page":"111","DOI":"10.1007\/s10270-010-0181-9","article-title":"Reusable model transformations","volume":"11","author":"Sen","year":"2012","journal-title":"Softw. Syst. Model."},{"key":"ref37","doi-asserted-by":"publisher","first-page":"133","DOI":"10.1007\/s00165-017-0441-3","article-title":"Variability-based model transformation: formal foundation and application","volume":"30","author":"Str\u00fcber","year":"2018","journal-title":"Form. Asp. Comput."},{"key":"ref38","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-540-75209-7_3","article-title":"Uniti: a unified transformation infrastructure","author":"Vanhooff","year":"2007"},{"key":"ref39","doi-asserted-by":"publisher","first-page":"285","DOI":"10.1007\/s10270-009-0134-3","article-title":"Module superimposition: a composition technique for rule-based model transformation languages","volume":"9","author":"Wagelaar","year":"2010","journal-title":"Softw. Syst. Model."},{"key":"ref40","doi-asserted-by":"crossref","DOI":"10.1109\/ICCGI.2007.52","article-title":"Research and implementation of design pattern-oriented model transformation","author":"Wang","year":"2007"},{"key":"ref41","first-page":"89","article-title":"A text model-use your favourite M2M for M2T","author":"Willink","year":"2018"},{"key":"ref42","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-13688-7_18","article-title":"Surviving the heterogeneity jungle with composite mapping operators","author":"Wimmer","year":"2010"},{"key":"ref43","doi-asserted-by":"publisher","first-page":"31","DOI":"10.5381\/jot.2012.11.2.a3","article-title":"Surveying rule inheritance in model-to-model transformation languages","volume":"11","author":"Wimmer","year":"","journal-title":"J. Obj. Technol."},{"key":"ref44","doi-asserted-by":"publisher","first-page":"1","DOI":"10.14279\/tuj.eceasst.50.722.795","article-title":"Reusing model transformations across heterogeneous metamodels","volume":"50","author":"Wimmer","year":"","journal-title":"Electr. Commun. EASST"},{"key":"ref45","doi-asserted-by":"publisher","first-page":"55","DOI":"10.1007\/s10270-010-0179-3","article-title":"Realizing model transformation chain interoperability","volume":"11","author":"Yie","year":"2012","journal-title":"Softw. Syst. Model."}],"container-title":["Frontiers in Computer Science"],"original-title":[],"link":[{"URL":"https:\/\/www.frontiersin.org\/articles\/10.3389\/fcomp.2024.1357845\/full","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,6,24]],"date-time":"2024-06-24T14:05:27Z","timestamp":1719237927000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.frontiersin.org\/articles\/10.3389\/fcomp.2024.1357845\/full"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,6,20]]},"references-count":45,"alternative-id":["10.3389\/fcomp.2024.1357845"],"URL":"https:\/\/doi.org\/10.3389\/fcomp.2024.1357845","relation":{},"ISSN":["2624-9898"],"issn-type":[{"value":"2624-9898","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,6,20]]},"article-number":"1357845"}}