{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,16]],"date-time":"2025-11-16T06:28:25Z","timestamp":1763274505420,"version":"3.38.0"},"reference-count":74,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2024,6,3]],"date-time":"2024-06-03T00:00:00Z","timestamp":1717372800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2024,6,3]],"date-time":"2024-06-03T00:00:00Z","timestamp":1717372800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"name":"Top Consortia for Knowledge and Innovation"},{"name":"Canon Production Printing"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Softw Syst Model"],"published-print":{"date-parts":[[2025,2]]},"abstract":"<jats:title>Abstract<\/jats:title>\n          <jats:p>Domain-specific languages (DSLs) promise to improve the software engineering process, e.g., by reducing software development and maintenance effort and by improving communication, and are therefore seeing increased use in industry. To support the creation and deployment of DSLs, language workbenches have been developed. However, little is published about the actual added value of a language workbench in an industrial setting, compared to not using a language workbench. In this paper, we evaluate the productivity of using the Spoofax language workbench by comparing two implementations of an industrial DSL, one in Spoofax and one in Python, that already existed before the evaluation. The subject is the Open Interaction Language (OIL): a complex DSL for implementing control software with requirements imposed by its industrial context at Canon Production Printing. Our findings indicate that it is more productive to implement OIL using Spoofax compared to using Python, especially if editor services are desired. Although Spoofax was sufficient to implement OIL, we find that Spoofax should especially improve on practical aspects to increase its adoptability in industry.<\/jats:p>","DOI":"10.1007\/s10270-024-01185-x","type":"journal-article","created":{"date-parts":[[2024,6,3]],"date-time":"2024-06-03T07:02:37Z","timestamp":1717398157000},"page":"139-182","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["OIL: an industrial case study in language engineering with Spoofax"],"prefix":"10.1007","volume":"24","author":[{"given":"Olav","family":"Bunte","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3014-8324","authenticated-orcid":false,"given":"Jasper","family":"Denkers","sequence":"additional","affiliation":[]},{"given":"Louis C. M.","family":"van Gool","sequence":"additional","affiliation":[]},{"given":"Jurgen J.","family":"Vinju","sequence":"additional","affiliation":[]},{"given":"Eelco","family":"Visser","sequence":"additional","affiliation":[]},{"given":"Tim A. C.","family":"Willemse","sequence":"additional","affiliation":[]},{"given":"Andy","family":"Zaidman","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2024,6,3]]},"reference":[{"issue":"6","key":"1185_CR1","doi-asserted-by":"publisher","first-page":"26","DOI":"10.1145\/352029.352035","volume":"35","author":"A van Deursen","year":"2000","unstructured":"van Deursen, A., Klint, P., Visser, J.: Domain-specific languages: an annotated bibliography. SIGPLAN Not. 35(6), 26\u201336 (2000). https:\/\/doi.org\/10.1145\/352029.352035","journal-title":"SIGPLAN Not."},{"key":"1185_CR2","unstructured":"Boersma, M.: Business-Friendly DSLs. Manning (to appear) (2024) 9781617296475"},{"key":"1185_CR3","doi-asserted-by":"publisher","unstructured":"van Deursen, A., Heering, J., Klint, P.: Language Prototyping: An Algebraic Specification Approach, volume\u00a05 of AMAST Series in Computing. World Scientific, Singapore (1996). ISBN 978-981-4498-73-9. https:\/\/doi.org\/10.1142\/3163","DOI":"10.1142\/3163"},{"key":"1185_CR4","unstructured":"Fowler, M.: Language workbenches: The killer-app for domain specific languages? (2005)"},{"key":"1185_CR5","doi-asserted-by":"publisher","first-page":"24","DOI":"10.1016\/j.cl.2015.08.007","volume":"44","author":"S Erdweg","year":"2015","unstructured":"Erdweg, S., van der Storm, T., V\u00f6lter, M., Tratt, L., Bosman, R., Cook, W.R., Gerritsen, A., Hulshout, A., Kelly, S., Loh, A., Konat, G., Molina, P.J., Palatnik, M., Pohjonen, R., Schindler, E., Schindler, K., Solmi, R., Vergu, V.A., Visser, E., van der Vlist, K., Wachsmuth, G., van der Woning, J.: Evaluating and comparing language workbenches: Existing results and benchmarks for the future. Comput. Lang. Syst. Struct. 44, 24\u201347 (2015). https:\/\/doi.org\/10.1016\/j.cl.2015.08.007","journal-title":"Comput. Lang. Syst. Struct."},{"key":"1185_CR6","doi-asserted-by":"publisher","unstructured":"Pech, V.: Jetbrains mps: Why modern language workbenches matter. In: Bucchiarone, A., Cicchetti, A., Ciccozzi, F., Pierantonio, A. (eds.), Domain-Specific Languages in Practice: with JetBrains MPS, pp. 1\u201322. Springer, Berlin (2021). ISBN 978-3-030-73758-0. https:\/\/doi.org\/10.1007\/978-3-030-73758-0_1","DOI":"10.1007\/978-3-030-73758-0_1"},{"key":"1185_CR7","doi-asserted-by":"publisher","unstructured":"Eysholdt, M., Behrens, H.: Xtext: implement your language faster than the quick and dirty way. In: Cook, W.R., Clarke, S., Rinard, M.C., (eds.) Companion to the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, SPLASH\/OOPSLA 2010, October 17\u201321, 2010, Reno\/Tahoe, Nevada, USA, pp. 307\u2013309. ACM, New York (2010). ISBN 978-1-4503-0240-1. https:\/\/doi.org\/10.1145\/1869542.1869625","DOI":"10.1145\/1869542.1869625"},{"key":"1185_CR8","doi-asserted-by":"publisher","unstructured":"Klint, P., van\u00a0der Storm, T., Vinju, J.J.: EASY meta-programming with Rascal. In: Fernandes, J.M., L\u00e4mmel, R., Visser, J., Saraiva, J. (eds.) Generative and Transformational Techniques in Software Engineering III\u2014International Summer School, GTTSE 2009, Braga, Portugal, July 6\u201311, 2009. Revised Papers, volume 6491 of Lecture Notes in Computer Science, pp. 222\u2013289. Springer, Berlin (2009). ISBN 978-3-642-18022-4. https:\/\/doi.org\/10.1007\/978-3-642-18023-1_6","DOI":"10.1007\/978-3-642-18023-1_6"},{"key":"1185_CR9","doi-asserted-by":"publisher","unstructured":"Kats, L.C.L., Visser, E.: The Spoofax language workbench: rules for declarative specification of languages and IDEs. In: Cook, W.R., Clarke, S., Rinard, M.C. (eds.) Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010, pp. 444\u2013463, Reno\/Tahoe, Nevada (2010). ACM, New York. ISBN 978-1-4503-0203-6. https:\/\/doi.org\/10.1145\/1869459.1869497","DOI":"10.1145\/1869459.1869497"},{"key":"1185_CR10","doi-asserted-by":"publisher","unstructured":"Barash, M.: Vision: the next 700 language workbenches. In: Visser, E., Kolovos, D.S., S\u00f6derberg, E. (eds.) SLE \u201921: 14th ACM SIGPLAN International Conference on Software Language Engineering, Chicago, IL, USA, October 17\u201318, 2021, pp. 16\u201321. ACM, New York (2021). ISBN 978-1-4503-9111-5. https:\/\/doi.org\/10.1145\/3486608.3486907","DOI":"10.1145\/3486608.3486907"},{"key":"1185_CR11","doi-asserted-by":"crossref","unstructured":"Van\u00a0den Brand, M., van Deursen, A., Klint, P., Klusener, S., van\u00a0der Meulen, E.: Industrial applications of asf+ sdf. In: International Conference on Algebraic Methodology and Software Technology, pp. 9\u201318. Springer, Berlin (1996)","DOI":"10.1007\/BFb0014303"},{"issue":"1","key":"1185_CR12","doi-asserted-by":"publisher","first-page":"585","DOI":"10.1007\/s10270-016-0575-4","volume":"18","author":"M Voelter","year":"2019","unstructured":"Voelter, M., Kolb, B., Szab\u00f3, T., Ratiu, D., van Deursen, A.: Lessons learned from developing mbeddr: a case study in language engineering with MPS. Softw. Syst. Model. 18(1), 585\u2013630 (2019). https:\/\/doi.org\/10.1007\/s10270-016-0575-4","journal-title":"Softw. Syst. Model."},{"key":"1185_CR13","doi-asserted-by":"publisher","unstructured":"Groenewegen, D.M., Hemel, Z., Kats, L.C.L., Visser, E.: WebDSL: a domain-specific language for dynamic web applications. In: Harris, G.E. (ed.), Companion to the 23rd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2008, October 19\u201313, 2007, Nashville, TN, USA, pp. 779\u2013780. ACM, New York (2008). ISBN 978-1-60558-220-7. https:\/\/doi.org\/10.1145\/1449814.1449858","DOI":"10.1145\/1449814.1449858"},{"key":"1185_CR14","doi-asserted-by":"publisher","unstructured":"Groenewegen, D.M., van Chastelet, E., Visser, E.: Evolution of the WebDSL runtime: reliability engineering of the WebDSL web programming language. In: Aguiar, A., Chiba, S., Boix, E.G. (eds.) Programming\u201920: 4th International Conference on the Art, Science, and Engineering of Programming, Porto, Portugal, March 23\u201326, 2020, pp. 77\u201383. ACM, New York (2020). ISBN 978-1-4503-7507-8. https:\/\/doi.org\/10.1145\/3397537.3397553","DOI":"10.1145\/3397537.3397553"},{"key":"1185_CR15","doi-asserted-by":"publisher","unstructured":"Harkes, D., Visser, E.: Icedust 2: Derived bidirectional relations and calculation strategy composition. In: M\u00fcller, P. (ed.) 31st European Conference on Object-Oriented Programming, ECOOP 2017, June 19\u201323, 2017, Barcelona, Spain, volume\u00a074 of LIPIcs. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 2017. ISBN 978-3-95977-035-4. https:\/\/doi.org\/10.4230\/LIPIcs.ECOOP.2017.14","DOI":"10.4230\/LIPIcs.ECOOP.2017.14"},{"key":"1185_CR16","doi-asserted-by":"publisher","unstructured":"Harkes, D., van Chastelet, E., Visser, E.: Migrating business logic to an incremental computing DSL: a case study. In: Pearce, D., Mayerhofer, T., Steimann, F. (eds.) Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2018, Boston, MA, USA, November 05-06, 2018, pp. 83\u201396. ACM, New York (2018). ISBN 978-1-4503-6029-6. https:\/\/doi.org\/10.1145\/3276604.3276617","DOI":"10.1145\/3276604.3276617"},{"key":"1185_CR17","doi-asserted-by":"publisher","unstructured":"Visser, E., Wachsmuth, G., Tolmach, A.P., N\u00e9ron, P., Vergu, V.A., Passalaqua, A., Konat, G.: A language designer\u2019s workbench: A one-stop-shop for implementation and verification of language designs. In: Black, A.P., Krishnamurthi, S., Bruegge, B., Ruskiewicz, J.N. (eds.) Onward! 2014, Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software, part of SPLASH \u201914, Portland, OR, USA, October 20\u201324, 2014, pp. 95\u2013111. ACM, New York (2014). ISBN 978-1-4503-3210-1. https:\/\/doi.org\/10.1145\/2661136.2661149","DOI":"10.1145\/2661136.2661149"},{"key":"1185_CR18","unstructured":"Visser, E.: Syntax Definition for Language Prototyping. Ph.D. thesis, University of Amsterdam, September (1997)"},{"issue":"1\u20132","key":"1185_CR19","doi-asserted-by":"publisher","first-page":"52","DOI":"10.1016\/j.scico.2007.11.003","volume":"72","author":"M Bravenboer","year":"2008","unstructured":"Bravenboer, M., Kalleberg, K.T., Vermaas, R., Visser, E.: Stratego\/XT 0.17. A language and toolset for program transformation. Sci. Comput. Program. 72(1\u20132), 52\u201370 (2008). https:\/\/doi.org\/10.1016\/j.scico.2007.11.003","journal-title":"Sci. Comput. Program."},{"key":"1185_CR20","doi-asserted-by":"publisher","unstructured":"van Antwerpen, H., N\u00e9ron, P., Tolmach, A.P., Visser, E., Wachsmuth, G.: A constraint language for static semantic analysis based on scope graphs. In: Erwig, M., Rompf, T. (eds.) Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2016, St. Petersburg, FL, USA, January 20\u201322, 2016, pp. 49\u201360. ACM, New York (2016). ISBN 978-1-4503-4097-7. https:\/\/doi.org\/10.1145\/2847538.2847543","DOI":"10.1145\/2847538.2847543"},{"key":"1185_CR21","unstructured":"Konat, G.: Language-Parametric Methods for Developing Interactive Programming Systems. Ph.D. thesis, Delft University of Technology, Netherlands (2019)"},{"key":"1185_CR22","doi-asserted-by":"publisher","unstructured":"de\u00a0Souza\u00a0Amorim, L.E., Visser, E.: Multi-purpose syntax definition with SDF3. In: de\u00a0Boer, F.S., Cerone, A. (eds.) Software Engineering and Formal Methods\u201418th International Conference, SEFM 2020, Amsterdam, The Netherlands, September 14\u201318, 2020, Proceedings, volume 12310 of Lecture Notes in Computer Science, pp. 1\u201323. Springer, Berlin (2020). ISBN 978-3-030-58768-0. https:\/\/doi.org\/10.1007\/978-3-030-58768-0_1","DOI":"10.1007\/978-3-030-58768-0_1"},{"key":"1185_CR23","doi-asserted-by":"publisher","unstructured":"Smits, J., Visser, E.: Gradually typing strategies. In: L\u00e4mmel, R., Tratt, L., de\u00a0Lara, J. (eds.) Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2020, Virtual Event, USA, November 16-17, 2020, pp. 1\u201315. ACM, New York (2020). ISBN 978-1-4503-8176-5. https:\/\/doi.org\/10.1145\/3426425.3426928","DOI":"10.1145\/3426425.3426928"},{"issue":"3","key":"1185_CR24","doi-asserted-by":"publisher","first-page":"16","DOI":"10.22152\/programming-journal.org\/2020\/4\/16","volume":"4","author":"J Smits","year":"2020","unstructured":"Smits, J., Konat, G., Visser, E.: Constructing hybrid incremental compilers for cross-module extensibility with an internal build system. Program. J. 4(3), 16 (2020). https:\/\/doi.org\/10.22152\/programming-journal.org\/2020\/4\/16","journal-title":"Program. J."},{"key":"1185_CR25","doi-asserted-by":"publisher","unstructured":"Rouvoet, A., van Antwerpen, H., Poulsen, C.B., Krebbers, R., Visser, E.: Knowing when to ask: sound scheduling of name resolution in type checkers derived from declarative specifications. In: Proceedings of the ACM on Programming Languages, 4 (OOPSLA) (2020). https:\/\/doi.org\/10.1145\/3428248","DOI":"10.1145\/3428248"},{"key":"1185_CR26","doi-asserted-by":"publisher","unstructured":"N\u00e9ron, P., Tolmach, A.P., Visser, E., Wachsmuth, G.: A theory of name resolution. In: Vitek, J. (ed.) Programming Languages and Systems\u201424th European Symposium on Programming, ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11\u201318, 2015. Proceedings, volume 9032 of Lecture Notes in Computer Science, pp. 205\u2013231. Springer, Berlin (2015). ISBN 978-3-662-46668-1. https:\/\/doi.org\/10.1007\/978-3-662-46669-8_9","DOI":"10.1007\/978-3-662-46669-8_9"},{"key":"1185_CR27","doi-asserted-by":"publisher","unstructured":"Zwaan, A., van Antwerpen, H., Visser, E.: Incremental type-checking for free: using scope graphs to derive incremental type-checkers. In: Proceedings of the ACM on Programming Languages 6(OOPSLA2), 424\u2013448 (2022). https:\/\/doi.org\/10.1145\/3563303","DOI":"10.1145\/3563303"},{"key":"1185_CR28","doi-asserted-by":"publisher","DOI":"10.1016\/j.cola.2019.100924","volume":"57","author":"J Smits","year":"2020","unstructured":"Smits, J., Wachsmuth, G., Visser, E.: Flowspec: a declarative specification language for intra-procedural flow-sensitive data-flow analysis. J. Comput. Lang. 57, 100924 (2020). https:\/\/doi.org\/10.1016\/j.cola.2019.100924","journal-title":"J. Comput. Lang."},{"issue":"3","key":"1185_CR29","doi-asserted-by":"publisher","first-page":"9","DOI":"10.22152\/programming-journal.org\/2018\/2\/9","volume":"2","author":"G Konat","year":"2018","unstructured":"Konat, G., Steindorfer, M.J., Erdweg, S., Visser, E.: PIE: a domain-specific language for interactive software development pipelines. Program. J. 2(3), 9 (2018). https:\/\/doi.org\/10.22152\/programming-journal.org\/2018\/2\/9","journal-title":"Program. J."},{"key":"1185_CR30","doi-asserted-by":"publisher","unstructured":"Pelsmaeker, D.A.A., van Antwerpen, H., Poulsen, C.B., Visser, E.: Language-parametric static semantic code completion. In: Proceedings of the ACM on Programming Languages, 6 (OOPSLA), pp. 1\u201330 (2022). https:\/\/doi.org\/10.1145\/3527329","DOI":"10.1145\/3527329"},{"key":"1185_CR31","doi-asserted-by":"crossref","unstructured":"van den Mark, G.J., de Brand, H.A., Jong, P.K., Olivier, P.A.: Efficient annotated terms. Softw. Pract. Exp. 30(3), 259\u2013291 (2000)","DOI":"10.1002\/(SICI)1097-024X(200003)30:3<259::AID-SPE298>3.0.CO;2-Y"},{"key":"1185_CR32","unstructured":"Klop, J.W.: Term rewriting systems: From Church-Rosser to Knuth-Bendix and beyond. In: Paterson, M. (ed.) Automata, Languages and Programming, 17th International Colloquium, ICALP90, Warwick University, England, July 16\u201320, 1990, Proceedings, volume 443 of Lecture Notes in Computer Science, pp. 350\u2013369. Springer, Berlin (1990). ISBN 3-540-52826-1"},{"issue":"3","key":"1185_CR33","doi-asserted-by":"publisher","first-page":"113","DOI":"10.1109\/TIT.1956.1056813","volume":"2","author":"N Chomsky","year":"1956","unstructured":"Chomsky, N.: Three models for the description of language. IRE Trans. Inf. Theory 2(3), 113\u2013124 (1956). https:\/\/doi.org\/10.1109\/TIT.1956.1056813","journal-title":"IRE Trans. Inf. Theory"},{"key":"1185_CR34","doi-asserted-by":"publisher","unstructured":"Vollebregt, T., Kats, L.C.L., Visser, E.: Declarative specification of template-based textual editors. In: Sloane, A., Andova, S. (eds.) International Workshop on Language Descriptions, Tools, and Applications, LDTA \u201912, Tallinn, Estonia, March 31\u2013April 1, 2012, pp. 1\u20137. ACM, New York (2012). ISBN 978-1-4503-1536-4. https:\/\/doi.org\/10.1145\/2427048.2427056","DOI":"10.1145\/2427048.2427056"},{"key":"1185_CR35","doi-asserted-by":"publisher","unstructured":"van\u00a0den Brand, M.G.J., Scheerder, J., Vinju, J.J., Visser, E.: Disambiguation filters for scannerless generalized LR parsers. In: Horspool, R.N. (ed.) Compiler Construction, 11th International Conference, CC 2002, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2002, Grenoble, France, April 8-12, 2002, Proceedings, volume 2304 of Lecture Notes in Computer Science, pp. 143\u2013158. Springer, Berlin (2002). ISBN 3-540-43369-4. https:\/\/doi.org\/10.1007\/3-540-45937-5_12","DOI":"10.1007\/3-540-45937-5_12"},{"issue":"5\/6","key":"1185_CR36","doi-asserted-by":"publisher","first-page":"523","DOI":"10.1016\/S0747-7171(06)80004-0","volume":"15","author":"A van Deursen","year":"1993","unstructured":"van Deursen, A., Klint, P., Tip, F.: Origin tracking. J. Symb. Comput. 15(5\/6), 523\u2013545 (1993)","journal-title":"J. Symb. Comput."},{"key":"1185_CR37","doi-asserted-by":"publisher","unstructured":"van Antwerpen, H., Poulsen, C.B., Rouvoet, A., Visser, E.: Scopes as types. Proceedings of the ACM on Programming Languages, 2 (OOPSLA) (2018). https:\/\/doi.org\/10.1145\/3276484","DOI":"10.1145\/3276484"},{"key":"1185_CR38","doi-asserted-by":"publisher","unstructured":"Visser, E., Benaissa, Z.-E.-A., Tolmach, A.P.: Building program optimizers with rewriting strategies. In: Felleisen, M., Hudak, P., Queinnec, C. (eds.) Proceedings of the Third ACM SIGPLAN International Conference on Functional Programming, pp. 13\u201326, Baltimore, Maryland, United States (1998). ACM. https:\/\/doi.org\/10.1145\/289423.289425","DOI":"10.1145\/289423.289425"},{"issue":"3","key":"1185_CR39","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":"1185_CR40","doi-asserted-by":"publisher","unstructured":"Kats, L.C.L., Vermaas, R., Visser, E.: Testing domain-specific languages. In: Lopes, C.V., Fisher, K. (eds.) Companion to the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2011, Portland, OR, USA, October 22\u201327, 2011, pp. 25\u201326. ACM, New York (2011) ISBN 978-1-4503-0942-4. https:\/\/doi.org\/10.1145\/2048147.2048160","DOI":"10.1145\/2048147.2048160"},{"key":"1185_CR41","doi-asserted-by":"publisher","unstructured":"Denkers, J., van Gool, L., Visser, E.: Migrating custom DSL implementations to a language workbench (tool demo). In: Pearce, D., Mayerhofer, T., Steimann, F. (eds.) Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2018, Boston, MA, USA, November 05\u201306, 2018, pp. 205\u2013209. ACM, New York (2018). ISBN 978-1-4503-6029-6. https:\/\/doi.org\/10.1145\/3276604.3276608","DOI":"10.1145\/3276604.3276608"},{"issue":"3","key":"1185_CR42","doi-asserted-by":"publisher","first-page":"441","DOI":"10.1007\/s10009-022-00658-y","volume":"24","author":"O Bunte","year":"2022","unstructured":"Bunte, O., van Gool, L.C.M., Willemse, T.A.C.: Formal verification of OIL component specifications using mCRL2. STTT 24(3), 441\u2013472 (2022). https:\/\/doi.org\/10.1007\/s10009-022-00658-y","journal-title":"STTT"},{"key":"1185_CR43","doi-asserted-by":"publisher","unstructured":"Erdweg, S., Giarrusso, P.G., Rendel, T.: Language composition untangled. In: Sloane, A., Andova, S. (eds.) International Workshop on Language Descriptions, Tools, and Applications, LDTA \u201912, Tallinn, Estonia, March 31\u2013April 1, 2012, p.\u00a07. ACM, New York (2012). ISBN 978-1-4503-1536-4. https:\/\/doi.org\/10.1145\/2427048.2427055","DOI":"10.1145\/2427048.2427055"},{"key":"1185_CR44","unstructured":"V\u00f6lter, M., Benz, S., Dietrich, C., Engelmann, B., Helander, M., Kats, L.C.L., Visser, E., Wachsmuth, G.: DSL Engineering - Designing, Implementing and Using Domain-Specific Languages. dslbook.org (2013). ISBN 978-1-4812-1858-0"},{"key":"1185_CR45","doi-asserted-by":"crossref","unstructured":"Groote, J.F., Mousavi, M.R.: Modeling and Analysis of Communicating Systems. MIT Press, Cambridge (2014). ISBN 9780262321020","DOI":"10.7551\/mitpress\/9946.001.0001"},{"key":"1185_CR46","unstructured":"Frenken, M.: Code generation and model-based testing in context of OIL (2019)"},{"key":"1185_CR47","unstructured":"Buskens, T. Optimizing the code generator for OIL (2021)"},{"key":"1185_CR48","doi-asserted-by":"publisher","unstructured":"Voogd, S.N., Aslam, K., van Gool, L., Theelen, B., Malavolta, I.: Real-time collaborative modeling across language workbenches\u2014a case on Jetbrains MPS and Eclipse Spoofax. In: ACM\/IEEE International Conference on Model Driven Engineering Languages and Systems Companion, MODELS 2021 Companion, Fukuoka, Japan, October 10\u201315, 2021, pp. 16\u201326. IEEE (2021). ISBN 978-1-6654-2484-4. https:\/\/doi.org\/10.1109\/MODELS-C53483.2021.00011","DOI":"10.1109\/MODELS-C53483.2021.00011"},{"key":"1185_CR49","unstructured":"van Gool, L.: Formalising interface specifications. Ph.D. thesis, Eindhoven University of Technology (2006)"},{"key":"1185_CR50","doi-asserted-by":"publisher","unstructured":"Bunte, O., van Gool, L.C.M., Willemse, T.A.C.: Formal verification of OIL component specifications using mCRL2. In: ter Beek, M.H., Nickovic, D. (eds.) Formal Methods for Industrial Critical Systems\u201425th International Conference, FMICS 2020, Vienna, Austria, September 2\u20133, 2020, Proceedings, volume 12327 of Lecture Notes in Computer Science, pp. 231\u2013251. Springer, Berlin (2020). ISBN 978-3-030-58298-2. https:\/\/doi.org\/10.1007\/978-3-030-58298-2_10","DOI":"10.1007\/978-3-030-58298-2_10"},{"key":"1185_CR51","unstructured":"Nguyen, V., Deeds-Rubin, S., Tan, T., Boehm, B.: A SLOC counting standard. In: Cocomo ii forum, volume 2007, pp. 1\u201316. Citeseer (2007)"},{"issue":"1","key":"1185_CR52","doi-asserted-by":"publisher","first-page":"54","DOI":"10.1147\/sj.161.0054","volume":"16","author":"CE Walston","year":"1977","unstructured":"Walston, C.E., Felix, C.P.: A method of programming measurement and estimation. IBM Syst. J. 16(1), 54\u201373 (1977)","journal-title":"IBM Syst. J."},{"issue":"1","key":"1185_CR53","doi-asserted-by":"publisher","first-page":"4","DOI":"10.1109\/TSE.1984.5010193","volume":"10","author":"BW Boehm","year":"1984","unstructured":"Boehm, B.W.: Software engineering economics. IEEE Trans. Softw. Eng. 10(1), 4\u201321 (1984)","journal-title":"IEEE Trans. Softw. Eng."},{"issue":"3","key":"1185_CR54","doi-asserted-by":"publisher","first-page":"21","DOI":"10.1145\/971617.971635","volume":"47","author":"PG Armour","year":"2004","unstructured":"Armour, P.G.: Beware of counting LOC. Commun. ACM 47(3), 21\u201324 (2004)","journal-title":"Commun. ACM"},{"key":"1185_CR55","doi-asserted-by":"crossref","unstructured":"Wa\u0327sowski, A., Berger, T.: Domain-specific Languages: Effective Modeling, Automation, and Reuse. Springer Nature, Berlin (2023)","DOI":"10.1007\/978-3-031-23669-3"},{"key":"1185_CR56","volume-title":"Domain-Specific Languages","author":"M Fowler","year":"2010","unstructured":"Fowler, M.: Domain-Specific Languages. Addison Wesley, Boston (2010)"},{"key":"1185_CR57","unstructured":"Ward, M.P.: Language-Oriented Programming. Software\u2014Concepts and Tools, 15(4) (1994)"},{"issue":"1\u20132","key":"1185_CR58","first-page":"123","volume":"69","author":"M Bravenboer","year":"2006","unstructured":"Bravenboer, M., van Dam, A., Olmos, K., Visser, E.: Program transformation with scoped dynamic rewrite rules. Fund. Inform. 69(1\u20132), 123\u2013178 (2006)","journal-title":"Fund. Inform."},{"key":"1185_CR59","doi-asserted-by":"publisher","unstructured":"Bunte, O., Groote, J.F., Keiren, J.J.A., Laveaux, M., Neele, T., de\u00a0Vink, E.P., Wesselink, W., Wijs, A., Willemse, T.A.C.: The mCRL2 toolset for analysing concurrent systems\u2014improvements in expressivity and usability. In: Vojnar, T., Zhang, L. (eds.) Tools and Algorithms for the Construction and Analysis of Systems\u201425th International Conference, TACAS 2019, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019, Prague, Czech Republic, April 6\u201311, 2019, Proceedings, Part II, volume 11428 of Lecture Notes in Computer Science, pp. 21\u201339. Springer, Berlin (2019). ISBN 978-3-030-17465-1. https:\/\/doi.org\/10.1007\/978-3-030-17465-1_2","DOI":"10.1007\/978-3-030-17465-1_2"},{"key":"1185_CR60","doi-asserted-by":"crossref","unstructured":"Minelli, R., Mocci, A., Lanza, M.: I know what you did last summer: an investigation of how developers spend their time. In: De Lucia, A., Bird, C., Oliveto, R. (eds.) Proceedings of the 2015 IEEE 23rd International Conference on Program Comprehension, ICPC 2015, Florence\/Firenze, Italy, May 16\u201324, 2015, pp. 25\u201335. ACM, New York (2015)","DOI":"10.1109\/ICPC.2015.12"},{"key":"1185_CR61","unstructured":"Zwaan, A.: Composable type system specification using heterogeneous scope graphs (2021)"},{"key":"1185_CR62","doi-asserted-by":"publisher","unstructured":"Visser, E.: WebDSL: a case study in domain-specific language engineering. In: L\u00e4mmel, R., Visser, J., Saraiva, J. (eds.) Generative and Transformational Techniques in Software Engineering II, International Summer School, GTTSE 2007, volume 5235 of Lecture Notes in Computer Science, pp. 291\u2013373, Braga, Portugal, (2007). Springer, Berlin. ISBN 978-3-540-88642-6. https:\/\/doi.org\/10.1007\/978-3-540-88643-3_7","DOI":"10.1007\/978-3-540-88643-3_7"},{"issue":"2","key":"1185_CR63","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1016\/j.entcs.2008.03.043","volume":"203","author":"LGC Hamey","year":"2008","unstructured":"Hamey, L.G.C., Goldrei, S.: Implementing a domain-specific language using stratego\/xt: an experience paper. Electron. Notes Theor. Comput. Sci. 203(2), 37\u201351 (2008). https:\/\/doi.org\/10.1016\/j.entcs.2008.03.043","journal-title":"Electron. Notes Theor. Comput. Sci."},{"key":"1185_CR64","doi-asserted-by":"publisher","unstructured":"Schindler, E., Moneva, H., van Pinxten, J., van Gool, L., van\u00a0der Meulen, B., Stotz, N., Theelen, B.: JetBrains MPS as core DSL technology for developing professional digital printers. In Antonio Bucchiarone, Antonio Cicchetti, Federico Ciccozzi, and Alfonso Pierantonio, editors, Domain-Specific Languages in Practice: with JetBrains MPS, pp. 53\u201391. Springer, Berlin (2021). ISBN 978-3-030-73758-0. https:\/\/doi.org\/10.1007\/978-3-030-73758-0_3","DOI":"10.1007\/978-3-030-73758-0_3"},{"key":"1185_CR65","doi-asserted-by":"publisher","unstructured":"Broccia, G., Ferrari, A., ter Beek, M.H., Cazzola, W., Favalli, L., Bertolotti, F.: Evaluating a language workbench: from working memory capacity to comprehension to acceptance. In: 31st IEEE\/ACM International Conference on Program Comprehension, ICPC 2023, Melbourne, Australia, May 15\u201316, 2023, pp. 54\u201358. IEEE (2023). ISBN 979-8-3503-3750-1. https:\/\/doi.org\/10.1109\/ICPC58990.2023.00017","DOI":"10.1109\/ICPC58990.2023.00017"},{"key":"1185_CR66","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1016\/j.cl.2015.02.001","volume":"43","author":"E Vacchi","year":"2015","unstructured":"Vacchi, E., Cazzola, W.: Neverlang: a framework for feature-oriented language development. Comput. Lang. Syst. Struct. 43, 1\u201340 (2015). https:\/\/doi.org\/10.1016\/j.cl.2015.02.001","journal-title":"Comput. Lang. Syst. Struct."},{"key":"1185_CR67","doi-asserted-by":"publisher","unstructured":"Klint, P., van\u00a0der Storm, T., Vinju, J.J.: On the impact of DSL tools on the maintainability of language implementations. In: Brabrand, C., Moreau, P.-E. (eds.) Proceedings of the of the Tenth Workshop on Language Descriptions, Tools and Applications, LDTA 2010, Paphos, Cyprus, March 28\u201329, 2010\u2014satellite event of ETAPS, p.\u00a010. ACM, New York (2010). ISBN 978-1-4503-0063-6. https:\/\/doi.org\/10.1145\/1868281.1868291","DOI":"10.1145\/1868281.1868291"},{"issue":"1\u20132","key":"1185_CR68","doi-asserted-by":"publisher","first-page":"21","DOI":"10.1016\/j.scico.2009.07.003","volume":"75","author":"J \u00c5kesson","year":"2010","unstructured":"\u00c5kesson, J., Ekman, T., Hedin, G.: Implementation of a Modelica compiler using JastAdd attribute grammars. Sci. Comput. Program. 75(1\u20132), 21\u201338 (2010). https:\/\/doi.org\/10.1016\/j.scico.2009.07.003","journal-title":"Sci. Comput. Program."},{"key":"1185_CR69","doi-asserted-by":"publisher","unstructured":"Ekman, T., Hedin, G.: The JastAdd extensible Java compiler. In: Gabriel, R.P., Bacon, D.F., Lopes, C.V., Steele Jr., G.L., (eds.) Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2007, October 21-25, 2007, Montreal, Quebec, Canada, pp. 1\u201318. ACM, New York (2007). ISBN 978-1-59593-786-5. https:\/\/doi.org\/10.1145\/1297027.1297029","DOI":"10.1145\/1297027.1297029"},{"key":"1185_CR70","doi-asserted-by":"publisher","first-page":"7","DOI":"10.1016\/j.scico.2015.11.003","volume":"114","author":"B Basten","year":"2015","unstructured":"Basten, B., van den Bos, J., Hills, M., Klint, P., Lankamp, A., Lisser, B., van der Ploeg, A., van der Storm, T., Vinju, J.J.: Modular language implementation in Rascal\u2014experience report. Sci. Comput. Program. 114, 7\u201319 (2015). https:\/\/doi.org\/10.1016\/j.scico.2015.11.003","journal-title":"Sci. Comput. Program."},{"key":"1185_CR71","doi-asserted-by":"crossref","unstructured":"Zarrin, B., Baumeister, H.: Design of a domain-specific language for material flow analysis using Microsoft DSL tools: An experience paper. In: Design of a domain-specific language for material flow analysis using Microsoft DSL Tools: An experience paper (2014)","DOI":"10.1145\/2688447.2688452"},{"key":"1185_CR72","doi-asserted-by":"publisher","unstructured":"van Beusekom, R., Groote, J.F., Hoogendijk, P.F., Howe, R., Wesselink, W., Wieringa, R., Willemse, T.A.C.: Formalising the Dezyne modelling language in mCRL2. In: Petrucci, L., Seceleanu, C., Cavalcanti, A. (eds.) Critical Systems: Formal Methods and Automated Verification\u2014Joint 22nd International Workshop on Formal Methods for Industrial Critical Systems\u2014and\u201417th International Workshop on Automated Verification of Critical Systems, FMICS-AVoCS 2017, Turin, Italy, September 18-20, 2017, Proceedings, volume 10471 of Lecture Notes in Computer Science, pp. 217\u2013233. Springer, Berlin (2017). ISBN 978-3-319-67113-0. https:\/\/doi.org\/10.1007\/978-3-319-67113-0_14","DOI":"10.1007\/978-3-319-67113-0_14"},{"key":"1185_CR73","doi-asserted-by":"crossref","unstructured":"Kurtev, I., Schuts, M., Hooman, J., Swagerman, D.-J.: Integrating interface modeling and analysis in an industrial setting. In: MODELSWARD, pp. 345\u2013352. SciTePress, Set\u00fabal (2017)","DOI":"10.5220\/0006133103450352"},{"key":"1185_CR74","doi-asserted-by":"crossref","unstructured":"Raedts, I., Petkovic, M., Usenko, Y.S., van\u00a0der Werf, J.M.E.M., Groote, J.F., Somers, L.J.: Transformation of BPMN models for behaviour analysis. In: Augusto, J.C., Barjis, J., Ultes-Nitsche, U. (eds.) Modelling, Simulation, Verification and Validation of Enterprise Information Systems, Proceedings of the 5th International Workshop on Modelling, Simulation, Verification and Validation of Enterprise Information Systems, MSVVEIS-2007, In conjunction with, pp. 126\u2013137. INSTICC Press (2007). ISBN 978-972-8865-95-5","DOI":"10.5220\/0002428801260137"}],"container-title":["Software and Systems Modeling"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-024-01185-x.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10270-024-01185-x\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-024-01185-x.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,2,28]],"date-time":"2025-02-28T08:25:16Z","timestamp":1740731116000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10270-024-01185-x"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,6,3]]},"references-count":74,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2025,2]]}},"alternative-id":["1185"],"URL":"https:\/\/doi.org\/10.1007\/s10270-024-01185-x","relation":{},"ISSN":["1619-1366","1619-1374"],"issn-type":[{"type":"print","value":"1619-1366"},{"type":"electronic","value":"1619-1374"}],"subject":[],"published":{"date-parts":[[2024,6,3]]},"assertion":[{"value":"15 September 2023","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"26 March 2024","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"8 May 2024","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"3 June 2024","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}