{"title":"Towards round-trip engineering of code fragments embedded in models","authors":"Sultan Almutairi, Athanasios Zolotas, D. Kolovos","doi":"10.1145/3550356.3561578","DOIUrl":null,"url":null,"abstract":"While embedding code fragments in abstract software models (e.g. Java code in UML models) is far from ideal, it remains a commonly-employed approach for achieving full model-based code generation. In this paper, we embrace this reality and present an approach for extending model-to-text (M2T) transformation languages with support for round-trip engineering of such code fragments. The approach consists of a new construct in M2T templates named sync regions, and a mechanism for synchronising hand-written code in sync regions with the source model of the M2T transformation. We have implemented the proposed approach on top of an existing M2T language (Epsilon Generation Language) and we have carried out experimental evaluation of the correctness and performance of our implementations. The obtained results suggest that the synchronisation algorithm scales linearly with the number of sync regions.","PeriodicalId":182662,"journal":{"name":"Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3550356.3561578","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
While embedding code fragments in abstract software models (e.g. Java code in UML models) is far from ideal, it remains a commonly-employed approach for achieving full model-based code generation. In this paper, we embrace this reality and present an approach for extending model-to-text (M2T) transformation languages with support for round-trip engineering of such code fragments. The approach consists of a new construct in M2T templates named sync regions, and a mechanism for synchronising hand-written code in sync regions with the source model of the M2T transformation. We have implemented the proposed approach on top of an existing M2T language (Epsilon Generation Language) and we have carried out experimental evaluation of the correctness and performance of our implementations. The obtained results suggest that the synchronisation algorithm scales linearly with the number of sync regions.