{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,3]],"date-time":"2025-11-03T09:17:11Z","timestamp":1762161431768,"version":"3.40.3"},"publisher-location":"Cham","reference-count":41,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030110291"},{"type":"electronic","value":"9783030110307"}],"license":[{"start":{"date-parts":[[2019,1,1]],"date-time":"2019-01-01T00:00:00Z","timestamp":1546300800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019]]},"DOI":"10.1007\/978-3-030-11030-7_3","type":"book-chapter","created":{"date-parts":[[2019,1,31]],"date-time":"2019-01-31T04:13:06Z","timestamp":1548907986000},"page":"34-55","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Reuse and Customization for Code Generators: Synergy by Transformations and Templates"],"prefix":"10.1007","author":[{"given":"Robert","family":"Eikermann","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Katrin","family":"H\u00f6lldobler","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alexander","family":"Roth","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bernhard","family":"Rumpe","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2019,2,1]]},"reference":[{"key":"3_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"84","DOI":"10.1007\/978-3-540-70881-0_10","volume-title":"Perspectives of Systems Informatics","author":"T Baar","year":"2007","unstructured":"Baar, T., Whittle, J.: On the usage of concrete syntax in model transformation rules. In: Virbitskaite, I., Voronkov, A. (eds.) PSI 2006. LNCS, vol. 4378, pp. 84\u201397. Springer, Heidelberg (2007). \n                  https:\/\/doi.org\/10.1007\/978-3-540-70881-0_10"},{"doi-asserted-by":"crossref","unstructured":"Balogh, A., Varr\u00f3, D.: Advanced model transformation language constructs in the VIATRA2 framework. In: ACM Symposium on Applied Computing. ACM (2006)","key":"3_CR2","DOI":"10.1145\/1141277.1141575"},{"issue":"8","key":"3_CR3","doi-asserted-by":"publisher","first-page":"1012","DOI":"10.1016\/j.infsof.2014.04.007","volume":"56","author":"H Bruneli\u00e8re","year":"2014","unstructured":"Bruneli\u00e8re, H., Cabot, J., Dup\u00e9, G., Madiot, F.: MoDisco: a model driven reverse engineering framework. Inf. Softw. Technol. 56(8), 1012\u20131032 (2014)","journal-title":"Inf. Softw. Technol."},{"unstructured":"Chared, Z., Tyszberowicz, S.S.: Projective template-based code generation. In: CAiSE 2013 Forum at the 25th International Conference on Advanced Information Systems Engineering, vol. 998. CEURS-WS.org (2013)","key":"3_CR4"},{"unstructured":"ekkes corner: Mobile & & IoT, October 2015. \n                  https:\/\/ekkescorner.wordpress.com\/2009\/07\/16\/galileo-openarchitectureware-moved-to-eclipse-modeling-projects-oaw5\/","key":"3_CR5"},{"key":"3_CR6","volume-title":"Generative Programming: Methods, Tools, and Applications","author":"K Czarnecki","year":"2000","unstructured":"Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Boston (2000)"},{"unstructured":"Czarnecki, K., Helsen, S.: Classification of model transformation approaches. In: 2nd OOPSLA 2003 Workshop on Generative Techniques in the Context of MDA (2003)","key":"3_CR7"},{"issue":"3","key":"3_CR8","doi-asserted-by":"publisher","first-page":"621","DOI":"10.1147\/sj.453.0621","volume":"45","author":"K Czarnecki","year":"2006","unstructured":"Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621\u2013645 (2006)","journal-title":"IBM Syst. J."},{"key":"3_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"91","DOI":"10.1007\/978-3-642-30982-3_4","volume-title":"Formal Methods for Model-Driven Engineering","author":"D Ruscio Di","year":"2012","unstructured":"Di Ruscio, D., Eramo, R., Pierantonio, A.: Model transformations. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (eds.) SFM 2012. LNCS, vol. 7320, pp. 91\u2013136. Springer, Heidelberg (2012). \n                  https:\/\/doi.org\/10.1007\/978-3-642-30982-3_4"},{"issue":"02","key":"3_CR10","first-page":"129","volume":"1","author":"O Beggar El","year":"2012","unstructured":"El Beggar, O., Bousetta, B., Gadi, T.: Automatic code generation by model transformation from sequence diagram of system\u2019s internal behavior. Int. J. Comput. Inf. Technol. 1(02), 129\u2013146 (2012)","journal-title":"Int. J. Comput. Inf. Technol."},{"key":"3_CR11","volume-title":"Principles of Object-Oriented Software Development","author":"A Eliens","year":"1994","unstructured":"Eliens, A.: Principles of Object-Oriented Software Development. Addison-Wesley Longman Publishing Co. Inc., Boston (1994)"},{"key":"3_CR12","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"E Gamma","year":"1995","unstructured":"Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Boston (1995)"},{"unstructured":"Geiger, L., Schneider, C., Reckord, C.: Template- and modelbased code generation for MDA-tools. Technical report (2005)","key":"3_CR13"},{"issue":"5","key":"3_CR14","doi-asserted-by":"publisher","first-page":"135","DOI":"10.5381\/jot.2003.2.5.a4","volume":"2","author":"G G\u00e9nova","year":"2003","unstructured":"G\u00e9nova, G., Del Castillo, C.R., Llorens, J.: Mapping UML associations into Java code. J. Object Technol. 2(5), 135\u2013162 (2003)","journal-title":"J. Object Technol."},{"doi-asserted-by":"crossref","unstructured":"Gessenharter, D.: Implementing UML associations in Java: a slim code pattern for a complex modeling concept. In: Workshop on Relationships and Associations in Object-Oriented Languages (RAOOL 2009). ACM (2009)","key":"3_CR15","DOI":"10.1145\/1562100.1562104"},{"unstructured":"Girschick, M.: Integrating template-based code generation into graphical model transformation. In: Modellierung 2008, Berlin (2008)","key":"3_CR16"},{"unstructured":"Greifenberg, T., et al.: A comparison of mechanisms for integrating handwritten and generated code for object-oriented programming languages. CoRR abs\/1509.04498 (2015)","key":"3_CR17"},{"key":"3_CR18","series-title":"Communications in Computer and Information Science","doi-asserted-by":"publisher","first-page":"112","DOI":"10.1007\/978-3-319-27869-8_7","volume-title":"Model-Driven Engineering and Software Development","author":"T Greifenberg","year":"2015","unstructured":"Greifenberg, T., et al.: Integration of Handwritten and Generated Object-Oriented Code. In: Desfray, P., Filipe, J., Hammoudi, S., Pires, L.F. (eds.) MODELSWARD 2015. CCIS, vol. 580, pp. 112\u2013132. Springer, Cham (2015). \n                  https:\/\/doi.org\/10.1007\/978-3-319-27869-8_7"},{"unstructured":"Haase, A., V\u00f6lter, M., Efftinge, S., Kolb, B.: Introduction to openArchitectureWare 4.1. 2. In: MDD Tool Implementers Forum at TOOLS Europe (2007). \n                  http:\/\/www.dsmforum.org\/events\/mdd-tif07\/oAW.pdf","key":"3_CR19"},{"issue":"3","key":"3_CR20","doi-asserted-by":"publisher","first-page":"375","DOI":"10.1007\/s10270-009-0136-1","volume":"9","author":"Z Hemel","year":"2010","unstructured":"Hemel, Z., Kats, L.C.L., Groenewegen, D.M., Visser, E.: Code generation by model transformation: a case study in transformation modularity. Softw. Syst. Model. 9(3), 375\u2013402 (2010)","journal-title":"Softw. Syst. Model."},{"key":"3_CR21","series-title":"Lecture Notes in Business Information Processing","doi-asserted-by":"publisher","first-page":"297","DOI":"10.1007\/978-3-540-69824-1_17","volume-title":"Objects, Components, Models and Patterns","author":"H Krahn","year":"2008","unstructured":"Krahn, H., Rumpe, B., V\u00f6lkel, S.: MontiCore: modular development of textual domain specific languages. In: Paige, R.F., Meyer, B. (eds.) TOOLS EUROPE 2008. LNBIP, vol. 11, pp. 297\u2013315. Springer, Heidelberg (2008). \n                  https:\/\/doi.org\/10.1007\/978-3-540-69824-1_17"},{"key":"3_CR22","doi-asserted-by":"publisher","first-page":"353","DOI":"10.1007\/s10009-010-0142-1","volume":"12","author":"H Krahn","year":"2010","unstructured":"Krahn, H., Rumpe, B., V\u00f6lkel, S.: MontiCore: a framework for compositional development of domain specific languages. Int. J. Softw. Tools Technol. Transfer (STTT) 12, 353\u2013372 (2010)","journal-title":"Int. J. Softw. Tools Technol. Transfer (STTT)"},{"issue":"1","key":"3_CR23","doi-asserted-by":"publisher","first-page":"12","DOI":"10.1049\/iet-sen.2011.0080","volume":"7","author":"D Kundu","year":"2013","unstructured":"Kundu, D., Samanta, D., Mall, R.: Automatic code generation from unified modelling language sequence diagrams. IET Softw. 7(1), 12\u201328 (2013)","journal-title":"IET Softw."},{"unstructured":"Mens, T., Czarnecki, K., Gorp, P.V.: A taxonomy of model transformations. In: Language Engineering for Model-Driven Software Development. Dagstuhl Seminar Proceedings. Internationales Begegnungs- und Forschungszentrum (IBFI) (2005)","key":"3_CR24"},{"doi-asserted-by":"crossref","unstructured":"Mir Seyed Nazari, P., Roth, A., Rumpe, B.: Mixed generative and handcoded development of adaptable data-centric business applications. In: Proceedings of the Workshop on Domain-Specific Modeling. ACM (2015)","key":"3_CR25","DOI":"10.1145\/2846696.2846707"},{"key":"3_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"307","DOI":"10.1007\/978-3-642-04425-0_23","volume-title":"Model Driven Engineering Languages and Systems","author":"R Mohan","year":"2009","unstructured":"Mohan, R., Kulkarni, V.: Model driven development of graphical user interfaces for enterprise business applications \u2013 experience, lessons learnt and a way forward. In: Sch\u00fcrr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 307\u2013321. Springer, Heidelberg (2009). \n                  https:\/\/doi.org\/10.1007\/978-3-642-04425-0_23"},{"unstructured":"Rei\u00df, D.: Modellgetriebene generative Entwicklung von Web-Informationssystemen. Ph.D. thesis, RWTH Aachen University, Aachen (2015)","key":"3_CR27"},{"unstructured":"Roth, A., Rumpe, B.: Towards product lining model-driven development code generators. In: 3rd International Conference on Model-Driven Engineering and Software Development. Springer, Cham (2015)","key":"3_CR28"},{"key":"3_CR29","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-33933-7","volume-title":"Modeling with UML","author":"B Rumpe","year":"2016","unstructured":"Rumpe, B.: Modeling with UML. Springer, Cham (2016). \n                  https:\/\/doi.org\/10.1007\/978-3-319-33933-7"},{"unstructured":"Rumpe, B., Weisem\u00f6ller, I.: A domain specific transformation language. In: Workshop on Models and Evolution, vol. 11 (2011)","key":"3_CR30"},{"key":"3_CR31","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-58862-9","volume-title":"Agile Modeling with UML: Code Generation, Testing, Refactoring","author":"B Rumpe","year":"2017","unstructured":"Rumpe, B.: Agile Modeling with UML: Code Generation, Testing, Refactoring. Springer, Cham (2017). \n                  https:\/\/doi.org\/10.1007\/978-3-319-58862-9"},{"unstructured":"St\u00f6rzer, M., Koppen, C.: PCDiff: attacking the fragile pointcut problem. In: European Interactive Workshop on Aspects in Software (2004)","key":"3_CR32"},{"doi-asserted-by":"crossref","unstructured":"Swint, G.S., et al.: Clearwater: extensible, flexible, modular code generation. In: 20th IEEE\/ACM International Conference on Automated software engineering. ACM (2005)","key":"3_CR33","DOI":"10.1145\/1101908.1101931"},{"key":"3_CR34","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"299","DOI":"10.1007\/3-540-45821-2_19","volume-title":"Generative Programming and Component Engineering","author":"E Visser","year":"2002","unstructured":"Visser, E.: Meta-programming with concrete object syntax. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, pp. 299\u2013315. Springer, Heidelberg (2002). \n                  https:\/\/doi.org\/10.1007\/3-540-45821-2_19"},{"unstructured":"Voelter, M., et al.: DSL Engineering - Designing, Implementing and Using Domain-Specific Languages (2013). \n                  dslbook.org","key":"3_CR35"},{"key":"3_CR36","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"109","DOI":"10.1007\/978-3-642-00593-0_8","volume-title":"Fundamental Approaches to Software Engineering","author":"G Wachsmuth","year":"2009","unstructured":"Wachsmuth, G.: A formal way from text to code templates. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 109\u2013123. Springer, Heidelberg (2009). \n                  https:\/\/doi.org\/10.1007\/978-3-642-00593-0_8"},{"unstructured":"www: OMG UML Specification, October 2015. \n                  http:\/\/www.omg.org\/spec\/HrBUML\/2.5\/HrB","key":"3_CR37"},{"unstructured":"www: openarchitectureware, October 2015. \n                  https:\/\/web.archive.org\/web\/20140225123932\/http:\/\/www.openarchitectureware.org\/index.php","key":"3_CR38"},{"unstructured":"www: Apache maven project, August 2017. \n                  https:\/\/maven.apache.org\/","key":"3_CR39"},{"unstructured":"Zschaler, S., Rashid, A.: Symmetric language-aware aspects for modular code generators. Technical Report TR-11-01, King\u2019s College, Department of Informatics (2011)","key":"3_CR40"},{"doi-asserted-by":"crossref","unstructured":"Zschaler, S., Rashid, A.: Towards modular code generators using symmetric language-aware aspects. In: Proceedings of the 1st International Workshop on Free Composition. FREECO 2011, pp. 6:1\u20136:5. ACM, New York (2011)","key":"3_CR41","DOI":"10.1145\/2068776.2068782"}],"container-title":["Communications in Computer and Information Science","Model-Driven Engineering and Software Development"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-11030-7_3","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,20]],"date-time":"2019-05-20T23:57:37Z","timestamp":1558396657000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-11030-7_3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030110291","9783030110307"],"references-count":41,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-11030-7_3","relation":{},"ISSN":["1865-0929","1865-0937"],"issn-type":[{"type":"print","value":"1865-0929"},{"type":"electronic","value":"1865-0937"}],"subject":[],"published":{"date-parts":[[2019]]},"assertion":[{"value":"1 February 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"MODELSWARD","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Model-Driven Engineering and Software Development","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Funchal","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Portugal","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2018","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22 January 2018","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"24 January 2018","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"6","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"modelsward2018","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/www.modelsward.org\/?y=2018","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"Primoris","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"101","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"29","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"28","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"29% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"4","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"No","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}}]}}