{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,3]],"date-time":"2026-03-03T14:51:48Z","timestamp":1772549508186,"version":"3.50.1"},"reference-count":31,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2019,9,2]],"date-time":"2019-09-02T00:00:00Z","timestamp":1567382400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"European Community HORIZON 2020 project enCOMPASS","award":["723059"],"award-info":[{"award-number":["723059"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2019,10,31]]},"abstract":"<jats:p>\n            Model Driven Development (MDD) requires proper tools to derive the implementation code from the application models. However, the integration of handwritten and generated code is a long-standing issue that affects the adoption of MDD in the industry. This article presents a model and code co-evolution approach that addresses such a problem\n            <jats:italic>a posteriori<\/jats:italic>\n            , using the standard collision detection capabilities of Version Control Systems to support the semi-automatic merge of the two types of code. We assess the proposed approach by contrasting it with the more traditional template-based, forward-engineering process, adopted by most MDD tools.\n          <\/jats:p>","DOI":"10.1145\/3340545","type":"journal-article","created":{"date-parts":[[2019,9,3]],"date-time":"2019-09-03T12:47:00Z","timestamp":1567514820000},"page":"1-38","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["The Virtual Developer"],"prefix":"10.1145","volume":"28","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-3872-4595","authenticated-orcid":false,"given":"Carlo","family":"Bernaschina","sequence":"first","affiliation":[{"name":"Dipartimento di Elettronica, Informazione e Bioingegneria-Politecnico di Milano, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Emanuele","family":"Falzone","sequence":"additional","affiliation":[{"name":"Dipartimento di Elettronica, Informazione e Bioingegneria-Politecnico di Milano, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Piero","family":"Fraternali","sequence":"additional","affiliation":[{"name":"Dipartimento di Elettronica, Informazione e Bioingegneria-Politecnico di Milano, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sergio Luis Herrera","family":"Gonzalez","sequence":"additional","affiliation":[{"name":"Dipartimento di Elettronica, Informazione e Bioingegneria-Politecnico di Milano, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2019,9,2]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1108\/17440080910983556"},{"key":"e_1_2_1_2_1","volume-title":"Michael Schlereth, and Andy Sch\u00fcrr.","author":"Anjorin Anthony","year":"2010","unstructured":"Anthony Anjorin , Marius Paul Lauder , Michael Schlereth, and Andy Sch\u00fcrr. 2010 . Support for bidirectional model-to-text transformations. Electron. Commun. Euro. Assoc. Softw. Sci. Technol . 36 (2010). Anthony Anjorin, Marius Paul Lauder, Michael Schlereth, and Andy Sch\u00fcrr. 2010. Support for bidirectional model-to-text transformations. Electron. Commun. Euro. Assoc. Softw. Sci. Technol. 36 (2010)."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/11880240_48"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-60131-1_5"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/MOBILESoft.2017.15"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-45234-9_29"},{"key":"e_1_2_1_7_1","volume-title":"Model-Driven Software Engineering in Practice","author":"Brambilla Marco","unstructured":"Marco Brambilla , Jordi Cabot , and Manuel Wimmer . 2017. Model-Driven Software Engineering in Practice , Second Edition. Morgan 8 Claypool Publishers . Marco Brambilla, Jordi Cabot, and Manuel Wimmer. 2017. Model-Driven Software Engineering in Practice, Second Edition. Morgan 8 Claypool Publishers."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10270-011-0193-0"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2012.07.014"},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the Modellierung\u201918 (LNI), Ina Schaefer, Dimitris Karagiannis, Andreas Vogelsang, Daniel M\u00e9ndez, and Christoph Seidl (Eds.)","volume":"280","author":"de Lange Peter","year":"2018","unstructured":"Peter de Lange , Petru Nicolaescu , Thomas Winkler , and Ralf Klamma . 2018 . Enhancing MDWE with collaborative live coding . In Proceedings of the Modellierung\u201918 (LNI), Ina Schaefer, Dimitris Karagiannis, Andreas Vogelsang, Daniel M\u00e9ndez, and Christoph Seidl (Eds.) , Vol. P- 280 . Gesellschaft f\u00fcr Informatik e.V., 199--214. Retrieved from: https:\/\/dl.gi.de\/20.500.12116\/14939. Peter de Lange, Petru Nicolaescu, Thomas Winkler, and Ralf Klamma. 2018. Enhancing MDWE with collaborative live coding. In Proceedings of the Modellierung\u201918 (LNI), Ina Schaefer, Dimitris Karagiannis, Andreas Vogelsang, Daniel M\u00e9ndez, and Christoph Seidl (Eds.), Vol. P-280. Gesellschaft f\u00fcr Informatik e.V., 199--214. Retrieved from: https:\/\/dl.gi.de\/20.500.12116\/14939."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-36089-3_9"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-07881-6_35"},{"key":"e_1_2_1_13_1","volume-title":"Tutorial Lectures. Lecture Notes in Computer Science","volume":"9715","author":"Gibbons Jeremy","year":"2018","unstructured":"Jeremy Gibbons and Perdita Stevens ( Eds .). 2018 . Bidirectional Transformations\u2014International Summer School , Tutorial Lectures. Lecture Notes in Computer Science , Vol. 9715 . Springer. Jeremy Gibbons and Perdita Stevens (Eds.). 2018. Bidirectional Transformations\u2014International Summer School, Tutorial Lectures. Lecture Notes in Computer Science, Vol. 9715. Springer."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2012.07.013"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.5220\/0005239700740085"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.4018\/IJISMD.2016070104"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2016.2610424"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10270-014-0450-0"},{"key":"e_1_2_1_19_1","unstructured":"Bernhard Hoisl and Stefan Sobernig. 2015. Towards benchmarking evolution support in model-to-text transformation systems. In Proceedings of the 4th Workshop on the Analysis of Model Transformations co-located with the 18th International Conference on Model Driven Engineering Languages and Systems (MODELS\u201915) (CEUR Workshop Proceedings) J\u00fcrgen Dingel Sahar Kokaly Levi Lucio Rick Salay and Hans Vangheluwe (Eds.) Vol. 1500. CEUR-WS.org 16--25. Retrieved from: http:\/\/ceur-ws.org\/Vol-1500\/paper3.pdf.  Bernhard Hoisl and Stefan Sobernig. 2015. Towards benchmarking evolution support in model-to-text transformation systems. In Proceedings of the 4th Workshop on the Analysis of Model Transformations co-located with the 18th International Conference on Model Driven Engineering Languages and Systems (MODELS\u201915) (CEUR Workshop Proceedings) J\u00fcrgen Dingel Sahar Kokaly Levi Lucio Rick Salay and Hans Vangheluwe (Eds.) Vol. 1500. CEUR-WS.org 16--25. Retrieved from: http:\/\/ceur-ws.org\/Vol-1500\/paper3.pdf."},{"key":"e_1_2_1_20_1","volume-title":"Domain-Specific ModelingEnabling Full Code Generation","author":"Kelly Steven","unstructured":"Steven Kelly and Juha-Pekka Tolvanen . 2008. Domain-Specific ModelingEnabling Full Code Generation . Wiley . Retrieved from: http:\/\/eu.wiley.com\/WileyCDA\/WileyTitle\/productCd-0470036664.html. Steven Kelly and Juha-Pekka Tolvanen. 2008. Domain-Specific ModelingEnabling Full Code Generation. Wiley. Retrieved from: http:\/\/eu.wiley.com\/WileyCDA\/WileyTitle\/productCd-0470036664.html."},{"key":"e_1_2_1_21_1","unstructured":"G\u00e1bor K\u00f6vesd\u00e1n M\u00e1rk Asztalos and L\u00e1szl\u00f3 Lengyel. 2014. Polymorphic templates: A design pattern for implementing agile model-to-text transformations. In Proceedings of the 3rd Workshop on Extreme Modeling co-located with the ACM\/IEEE 17th International Conference on Model Driven Engineering Languages 8 Systems (XM@MoDELS\u201914) (CEUR Workshop Proceedings) Davide Di Ruscio Juan de Lara and Alfonso Pierantonio (Eds.) Vol. 1239. CEUR-WS.org 32--41. Retrieved from: http:\/\/ceur-ws.org\/Vol-1239\/xm14_submission_1.pdf.  G\u00e1bor K\u00f6vesd\u00e1n M\u00e1rk Asztalos and L\u00e1szl\u00f3 Lengyel. 2014. Polymorphic templates: A design pattern for implementing agile model-to-text transformations. In Proceedings of the 3rd Workshop on Extreme Modeling co-located with the ACM\/IEEE 17th International Conference on Model Driven Engineering Languages 8 Systems (XM@MoDELS\u201914) (CEUR Workshop Proceedings) Davide Di Ruscio Juan de Lara and Alfonso Pierantonio (Eds.) Vol. 1239. CEUR-WS.org 32--41. Retrieved from: http:\/\/ceur-ws.org\/Vol-1239\/xm14_submission_1.pdf."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2002.1000449"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2494603.2480298"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2015.06.009"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2012.07.008"},{"key":"e_1_2_1_26_1","volume-title":"Engineering, Management","author":"Stahl Thomas","unstructured":"Thomas Stahl and Markus V\u00f6lter . 2006. Model-Driven Software Development: Technology , Engineering, Management . Wiley , Chichester, UK . Thomas Stahl and Markus V\u00f6lter. 2006. Model-Driven Software Development: Technology, Engineering, Management. Wiley, Chichester, UK."},{"key":"e_1_2_1_27_1","first-page":"43","article-title":"Systematic mapping study of template-based code generation","volume":"52","author":"Syriani Eugene","year":"2018","unstructured":"Eugene Syriani , Lechanceux Luhunu , and Houari A. Sahraoui . 2018 . Systematic mapping study of template-based code generation . Comput. Lang., Syst. Struct. 52 (2018), 43 -- 62 . Eugene Syriani, Lechanceux Luhunu, and Houari A. Sahraoui. 2018. Systematic mapping study of template-based code generation. Comput. Lang., Syst. Struct. 52 (2018), 43--62.","journal-title":"Comput. Lang., Syst. Struct."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2008.12"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2014.2316132"},{"key":"e_1_2_1_30_1","volume-title":"Proceedings of the 9th European Conference on Pattern Languages of Programs (EuroPLoP\u201904)","author":"V\u00f6lter Markus","year":"2004","unstructured":"Markus V\u00f6lter and Jorn Bettin . 2004 . Patterns for model-driven software-development . In Proceedings of the 9th European Conference on Pattern Languages of Programs (EuroPLoP\u201904) , Klaus Marquardt and Dietmar Sch\u00fctz (Eds.). UVK\u2014Universitaetsverlag Konstanz, 525--560. http:\/\/hillside.net\/europlop\/HillsideEurope\/Papers\/EuroPLoP 2004\/2004_VoelterEtAl_PatternsForModel-Driven.pdf. Markus V\u00f6lter and Jorn Bettin. 2004. Patterns for model-driven software-development. In Proceedings of the 9th European Conference on Pattern Languages of Programs (EuroPLoP\u201904), Klaus Marquardt and Dietmar Sch\u00fctz (Eds.). UVK\u2014Universitaetsverlag Konstanz, 525--560. http:\/\/hillside.net\/europlop\/HillsideEurope\/Papers\/EuroPLoP2004\/2004_VoelterEtAl_PatternsForModel-Driven.pdf."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10270-009-0145-0"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3340545","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3340545","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:02:42Z","timestamp":1750197762000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3340545"}},"subtitle":["Integrating Code Generation and Manual Development with Conflict Resolution"],"short-title":[],"issued":{"date-parts":[[2019,9,2]]},"references-count":31,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2019,10,31]]}},"alternative-id":["10.1145\/3340545"],"URL":"https:\/\/doi.org\/10.1145\/3340545","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,9,2]]},"assertion":[{"value":"2018-11-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-05-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-09-02","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}