{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,17]],"date-time":"2026-06-17T22:36:25Z","timestamp":1781735785124,"version":"3.54.5"},"reference-count":151,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2005,12,1]],"date-time":"2005-12-01T00:00:00Z","timestamp":1133395200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Comput. Surv."],"published-print":{"date-parts":[[2005,12]]},"abstract":"<jats:p>Domain-specific languages (DSLs) are languages tailored to a specific application domain. They offer substantial gains in expressiveness and ease of use compared with general-purpose programming languages in their domain of application. DSL development is hard, requiring both domain knowledge and language development expertise. Few people have both. Not surprisingly, the decision to develop a DSL is often postponed indefinitely, if considered at all, and most DSLs never get beyond the application library stage.Although many articles have been written on the development of particular DSLs, there is very limited literature on DSL development methodologies and many questions remain regarding when and how to develop a DSL. To aid the DSL developer, we identify patterns in the decision, analysis, design, and implementation phases of DSL development. Our patterns improve and extend earlier work on DSL design patterns. We also discuss domain analysis tools and language development systems that may help to speed up DSL development. Finally, we present a number of open problems.<\/jats:p>","DOI":"10.1145\/1118890.1118892","type":"journal-article","created":{"date-parts":[[2006,5,8]],"date-time":"2006-05-08T16:09:20Z","timestamp":1147104560000},"page":"316-344","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1179,"title":["When and how to develop domain-specific languages"],"prefix":"10.1145","volume":"37","author":[{"given":"Marjan","family":"Mernik","sequence":"first","affiliation":[{"name":"University of Maribor, Maribor, Slovenia"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jan","family":"Heering","sequence":"additional","affiliation":[{"name":"CWI, Amsterdam, The Netherlands"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Anthony M.","family":"Sloane","sequence":"additional","affiliation":[{"name":"Macquarie University, Sydney, Australia"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2005,12]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Ed. Lecture Notes in Computer Science","volume":"1575","author":"Anlauff M."},{"key":"e_1_2_1_2_1","volume-title":"Proceedings of the USENIX Conference on Domain-Specific Languages, 171--182","author":"Antoniotti M."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.798323"},{"key":"e_1_2_1_4_1","volume-title":"Compiler Construction: 10th International Conference (CC'01)","volume":"2027","author":"Attali I."},{"key":"e_1_2_1_5_1","doi-asserted-by":"crossref","first-page":"55","DOI":"10.2498\/cit.2002.01.04","article-title":"The design and implementation of SPARK, a toolkit for implementing domain-specific languages","volume":"10","author":"Aycock J.","year":"2002","journal-title":"J. Comput. Inform. Tech."},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the International Conference on Information Processing, UNESCO","author":"Backus J. W.","year":"1960"},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the 9th International World Wide Web Conference. http:\/\/www9.org\/w9cdrom\/start.html.]]","author":"Badros G.","year":"2000"},{"key":"e_1_2_1_8_1","volume-title":"Proceedings of the 4th International Workshop on Rule-Based Programming (RULE'03)","author":"Bagge O. S."},{"key":"e_1_2_1_9_1","unstructured":"Barron D. W. 2000. The World of Scripting Languages. John Wiley.]] Barron D. W. 2000. The World of Scripting Languages. John Wiley.]]"},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the 5th International Conference on Software Reuse (JCSR'98)","author":"Batory D."},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the ACM SIGSOFT International Symposium on the Foundations of Software Engineering. 111--120","author":"Batory D.","year":"1931"},{"key":"e_1_2_1_12_1","volume-title":"Proceedings of the 26th International Conference on Software Engineering (ICSE'04)","author":"Baxter I. D."},{"key":"e_1_2_1_13_1","doi-asserted-by":"crossref","unstructured":"Bennett K. H. and Rajlich V. T. 2000. Software maintenance and evolution: A roadmap. In The Future of Software Engineering A. Finkelstein Ed. ACM Press 73--87.]] 10.1145\/336512.336534 Bennett K. H. and Rajlich V. T. 2000. Software maintenance and evolution: A roadmap. In The Future of Software Engineering A. Finkelstein Ed. ACM Press 73--87.]] 10.1145\/336512.336534","DOI":"10.1145\/336512.336534"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/6424.315691"},{"key":"e_1_2_1_15_1","doi-asserted-by":"crossref","unstructured":"Bergin T. J. and Gibson R. G. Eds. 1996. History of Programming Languages II. ACM Press.]] Bergin T. J. and Gibson R. G. Eds. 1996. History of Programming Languages II. ACM Press.]]","DOI":"10.1145\/234286"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.798324"},{"key":"e_1_2_1_17_1","doi-asserted-by":"crossref","first-page":"169","DOI":"10.1023\/A:1018924407841","article-title":"A perspective of generative reuse","volume":"5","author":"Biggerstaff T. J.","year":"1998","journal-title":"Annals Softw. Eng."},{"key":"e_1_2_1_18_1","volume-title":"Concepts and Models","author":"Biggerstaff T. J.","year":"1989"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the 2nd USENIX Conference on Domain-Specific Languages, 163--176","author":"Bonachea D.","year":"1960"},{"key":"e_1_2_1_20_1","unstructured":"Bosch J. and Dittrich Y. Domain-specific languages for a changing world. http:\/\/www.cs.rug.nl\/bosch\/articles.html.]] Bosch J. and Dittrich Y. Domain-specific languages for a changing world. http:\/\/www.cs.rug.nl\/bosch\/articles.html.]]"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/509799.503035"},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the 3rd Workshop on Language Descriptions, Tools, and Applications (LDTA'03)","author":"Braband C."},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the 19th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'04)","author":"Bravenboer M."},{"key":"e_1_2_1_24_1","unstructured":"Brooks Jr. F. P. 1996. Language design as design. In History of Programming Languages II. T. J. Bergin and R. C. Gibson Eds. ACM Press 4--15.]] 10.1145\/234286.1057806 Brooks Jr. F. P. 1996. Language design as design. In History of Programming Languages II. T. J. Bergin and R. C. Gibson Eds. ACM Press 4--15.]] 10.1145\/234286.1057806"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the International Conference on Software Maintenance (ICSM'05)","author":"Bruntink M.","year":"2005"},{"key":"e_1_2_1_26_1","volume-title":"IEEE Proceedings of the 34th Hawaii International Conference on System Sciences.]]","author":"Buffenbarger J."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.798321"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.798322"},{"key":"e_1_2_1_29_1","unstructured":"Chappell D. 1996. Understanding ActiveX and OLE. Microsoft Press.]] Chappell D. 1996. Understanding ActiveX and OLE. Microsoft Press.]]"},{"key":"e_1_2_1_30_1","volume-title":"Proceedings of the ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'95)","author":"Chiba S.","year":"1995"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/52.17799"},{"key":"e_1_2_1_32_1","unstructured":"Cleaveland J. C. 2001. Program Generators Using Java and XML. Prentice-Hall.]] Cleaveland J. C. 2001. Program Generators Using Java and XML. Prentice-Hall.]]"},{"key":"e_1_2_1_33_1","first-page":"3","article-title":"Fostering little languages","volume":"29","author":"Clements J.","year":"2004","journal-title":"Dr. Dobb's J."},{"key":"e_1_2_1_34_1","volume-title":"Eds. Lecture Notes in Computer Science","volume":"1490","author":"Consel C."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/52.730836"},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the 4th Workshop on Language Descriptions, Tools, and Applications (LDTA'04)","volume":"110","author":"Cordy J. R.","year":"2004"},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the 3rd AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS), Y. Coady and D. H. Lorenz, Eds. Tech. rep. NU-CCIS-04-04","author":"Courbis C."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1064165.1064172"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/361952.361958"},{"key":"e_1_2_1_40_1","volume-title":"Proceedings of the USENIX Conference on Domain-Specific Languages, 229--242","author":"Crew R. F.","year":"1997"},{"key":"e_1_2_1_41_1","volume-title":"Generative Programming: Methods, Techniques and Applications","author":"Czarnecki K.","year":"2000"},{"key":"e_1_2_1_42_1","volume-title":"Software Reuse: Methods, Techniques, and Tools: 7th International Conference (ICSR-7)","author":"de Jonge M."},{"key":"e_1_2_1_43_1","unstructured":"Dean M. Schreiber G. van Harmelen F. Hendler J. Horrocks I. McGuinness D. L. Patel-Schneider P. F. and Stein L. A. 2003. OWL Web Ontology Language Reference. Working draft W3C (March). http:\/\/www.w3.org\/TR\/2003\/WD-owl-ref-20030331\/.]] Dean M. Schreiber G. van Harmelen F. Hendler J. Horrocks I. McGuinness D. L. Patel-Schneider P. F. and Stein L. A. 2003. OWL Web Ontology Language Reference. Working draft W3C (March). http:\/\/www.w3.org\/TR\/2003\/WD-owl-ref-20030331\/.]]"},{"key":"e_1_2_1_44_1","unstructured":"Denny M. 2003. Ontology building: A survey of editing tools. Tech. rep. XML.com. http:\/\/www.xml.com\/lpt\/a\/2002\/11\/06\/ontologies.html.]] Denny M. 2003. Ontology building: A survey of editing tools. Tech. rep. XML.com. http:\/\/www.xml.com\/lpt\/a\/2002\/11\/06\/ontologies.html.]]"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.798320"},{"key":"e_1_2_1_46_1","volume-title":"Proceedings of the USENIX Conference on Domain-Specific Languages, 243--255","author":"Faith R. E."},{"key":"e_1_2_1_47_1","volume-title":"Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering (SEKE'02)","author":"Falbo R. A."},{"key":"e_1_2_1_48_1","first-page":"4","article-title":"Building little languages with macros","volume":"29","author":"Felleisen M.","year":"2004","journal-title":"Dr. Dobb's J."},{"key":"e_1_2_1_49_1","volume-title":"Proceedings of the 35th Hawaii International Conference on System Sciences.]]","author":"Fertalj K."},{"key":"e_1_2_1_50_1","volume-title":"Proceedings of the 5th International Conference on Software Reuse. IEEE Computer Society, 348--349","author":"Frakes W.","year":"1998"},{"key":"e_1_2_1_51_1","doi-asserted-by":"crossref","first-page":"125","DOI":"10.1023\/A:1018972323770","article-title":"DARE: Domain analysis and reuse environment","volume":"5","author":"Frakes W.","year":"1998","journal-title":"Annals of Software Engineering"},{"key":"e_1_2_1_52_1","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"Gamma E.","year":"1995"},{"key":"e_1_2_1_53_1","volume-title":"XML Conference Proceedings. http:\/\/www.idealliance.org\/papers\/xml2001\/index.html.]]","author":"Germon R.","year":"2001"},{"key":"e_1_2_1_54_1","doi-asserted-by":"crossref","first-page":"305","DOI":"10.2498\/cit.2001.04.03","article-title":"JAMOOS---A domain-specific language for language processing","volume":"9","author":"Gil J.","year":"2001","journal-title":"J. Comput. Inform. Tech."},{"key":"e_1_2_1_55_1","volume-title":"Language Constructs for Describing Features---Proceedings of the FIREworks Workshop. Springer-Verlag.]]","author":"Gilmore S."},{"key":"e_1_2_1_56_1","unstructured":"Gl\u00e4sser U. Gurevich Y. and Veanes M. 2002. An abstract communication model. Tech. rep. MSR-TR-2002-55. Microsoft Research Redmond WA.]] Gl\u00e4sser U. Gurevich Y. and Veanes M. 2002. An abstract communication model. Tech. rep. MSR-TR-2002-55. Microsoft Research Redmond WA.]]"},{"key":"e_1_2_1_57_1","volume-title":"Proceedings of the 2nd Workshop on Language Descriptions, Tools, and Applications (LDTA'02)","author":"Gondow K."},{"key":"e_1_2_1_58_1","unstructured":"Gough J. 2002. Compiling for the .NET Common Language Runtime (CLR). Prentice Hall.]] Gough J. 2002. Compiling for the .NET Common Language Runtime (CLR). Prentice Hall.]]"},{"key":"e_1_2_1_59_1","volume-title":"Proceedings of the 36th Hawaii International Conference on System Sciences.]]","author":"Granicz A."},{"key":"e_1_2_1_60_1","volume-title":"Proceedings of the 36th Hawaii International Conference on System Sciences.]]","author":"Gray J."},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/129630.129637"},{"key":"e_1_2_1_62_1","volume-title":"Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools","author":"Greenfield J.","year":"2004"},{"key":"e_1_2_1_63_1","volume-title":"Proceedings of the 2nd USENIX Conference on Domain-Specific Languages, 39--52","author":"Guyer S. Z.","year":"1960"},{"key":"e_1_2_1_64_1","doi-asserted-by":"crossref","first-page":"342","DOI":"10.1109\/JPROC.2004.840489","article-title":"Broadway: A compiler for exploiting the domain-specific semantics of software libraries","volume":"93","author":"Guyer S. Z.","year":"2005","journal-title":"Proceedings of IEEE"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/351159.351173"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.6159"},{"key":"e_1_2_1_67_1","volume-title":"Proceedings of the 34th Hawaii International Conference on System Sciences (HICSS'34)","author":"HICSS","year":"2001"},{"key":"e_1_2_1_68_1","volume-title":"Proceedings of the 35th Hawaii International Conference on System Sciences (HICSS'35)","author":"HICSS","year":"2002"},{"key":"e_1_2_1_69_1","volume-title":"Proceedings of the 36th Hawaii International Conference on System Sciences (HICSS'36)","author":"HICSS","year":"2003"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/242224.242477"},{"key":"e_1_2_1_71_1","volume-title":"Proceedings of the 5th International Conference on Software Reuse (JCSR'98)","author":"Hudak P.","year":"1998"},{"key":"e_1_2_1_72_1","volume-title":"Proceedings of the 2nd USENIX Conference on Domain-Specific Languages. 123--134","author":"Jennings J.","year":"1960"},{"key":"e_1_2_1_73_1","unstructured":"Jones C. 1996. SPR Programming Languages Table Release 8.2 http:\/\/www.theadvisors.com\/langcomparison.htm. (Accessed April 2005). Later release not available at publication.]] Jones C. 1996. SPR Programming Languages Table Release 8.2 http:\/\/www.theadvisors.com\/langcomparison.htm. (Accessed April 2005). Later release not available at publication.]]"},{"key":"e_1_2_1_74_1","unstructured":"Jones N. D. Gomard C. K. and Sestoft P. 1993. Partial Evaluation and Automatic Program Generation. Prentice Hall.]] Jones N. D. Gomard C. K. and Sestoft P. 1993. Partial Evaluation and Automatic Program Generation. Prentice Hall.]]"},{"key":"e_1_2_1_75_1","volume-title":"Ed. Lecture Notes in Computer Science","volume":"1060","author":"Kadhim B. M."},{"key":"e_1_2_1_76_1","volume-title":"DSL'97---1st ACM SIGPLAN Workshop on Domain-Specific Languages in Association with POPL'97","author":"Kamin S., Ed.","year":"1997"},{"key":"e_1_2_1_77_1","doi-asserted-by":"crossref","unstructured":"Kamin S. 1998. Research on domain-specific embedded languages and program generators. Electro. Notes Theor. Comput. Sci. 14. http:\/\/www.sciencedirect.com\/.]] Kamin S. 1998. Research on domain-specific embedded languages and program generators. Electro. Notes Theor. Comput. Sci. 14. http:\/\/www.sciencedirect.com\/.]]","DOI":"10.1016\/S1571-0661(05)80235-X"},{"key":"e_1_2_1_78_1","volume-title":"Proceedings of the USENIX Conference on Domain-Specific Languages, 297--310","author":"Kamin S."},{"key":"e_1_2_1_79_1","doi-asserted-by":"crossref","unstructured":"Kang K. C. Cohen S. G. Hess J. A. Novak W. E. and Peterson A. S. 1990. Feature-oriented domain analysis (FODA) feasibility study. Tech. rep. CMU\/SEI-90-TR-21. Software Engineering Institute Carnegie Mellon University.]] Kang K. C. Cohen S. G. Hess J. A. Novak W. E. and Peterson A. S. 1990. Feature-oriented domain analysis (FODA) feasibility study. Tech. rep. CMU\/SEI-90-TR-21. Software Engineering Institute Carnegie Mellon University.]]","DOI":"10.21236\/ADA235785"},{"key":"e_1_2_1_80_1","doi-asserted-by":"crossref","unstructured":"Kastens U. and Pfahler P. 1998. Compositional design and implementation of domain-specific languages. In IFIP TC2 WG 2.4 Working Conference on System Implementation 2000: Languages Methods and Tools R. N. Horspool Ed. Chapman and Hall 152--165.]] Kastens U. and Pfahler P. 1998. Compositional design and implementation of domain-specific languages. In IFIP TC2 WG 2.4 Working Conference on System Implementation 2000: Languages Methods and Tools R. N. Horspool Ed. Chapman and Hall 152--165.]]","DOI":"10.1007\/978-0-387-35350-0_12"},{"key":"e_1_2_1_81_1","doi-asserted-by":"crossref","unstructured":"Kiczales G. des Rivieres J. and Bobrow D. G. 1991. The Art of the Metaobject Protocol. MIT Press.]] Kiczales G. des Rivieres J. and Bobrow D. G. 1991. The Art of the Metaobject Protocol. MIT Press.]]","DOI":"10.7551\/mitpress\/1405.001.0001"},{"key":"e_1_2_1_82_1","volume-title":"Proceedings of the 18th International Conference on Software Engineering (ICSE'96)","author":"Kieburtz R. B."},{"key":"e_1_2_1_83_1","doi-asserted-by":"crossref","first-page":"37","DOI":"10.2498\/cit.2002.01.03","article-title":"smgn: Rapid prototyping of small domain-specific languages","volume":"10","author":"Kienle H. M.","year":"2002","journal-title":"J. Comput. Inform. Tech."},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.798326"},{"key":"e_1_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.1145\/130844.130856"},{"key":"e_1_2_1_86_1","unstructured":"Kuck D. J. 2005. Platform 2015 software: Enabling innovation in parallelism for the next decade. Technology&commat;Intel Magazine. http:\/\/www.intel.com\/technology\/magazine\/computing\/Parallelism-0405.htm.]] Kuck D. J. 2005. Platform 2015 software: Enabling innovation in parallelism for the next decade. Technology&commat;Intel Magazine. http:\/\/www.intel.com\/technology\/magazine\/computing\/Parallelism-0405.htm.]]"},{"key":"e_1_2_1_87_1","volume-title":"Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'01)","author":"Kumar S."},{"key":"e_1_2_1_88_1","volume-title":"Eds. Lecture Notes in Computer Science","volume":"1641","author":"Kutter P. W."},{"key":"e_1_2_1_89_1","doi-asserted-by":"publisher","DOI":"10.1145\/317765.317784"},{"key":"e_1_2_1_90_1","volume-title":"Domain-Specific Program Generation. Lecture Notes in Computer Science","volume":"3016","author":"Lengauer C."},{"key":"e_1_2_1_91_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1097-024X(19981225)28:15%3C1581::AID-SPE215%3E3.3.CO;2-G"},{"key":"e_1_2_1_92_1","volume-title":"Principles","author":"Martin J."},{"key":"e_1_2_1_93_1","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1142\/S0218194004001828","article-title":"Language-driven system design","volume":"14","author":"Mauw S.","year":"2004","journal-title":"Int. J. Softw. Eng. Knowl. Eng."},{"key":"e_1_2_1_94_1","first-page":"4","article-title":"Special issue on domain-specific languages","volume":"9","author":"Mernik M.","year":"2001","journal-title":"Part I. J. Comput. Inform. Techn."},{"key":"e_1_2_1_95_1","first-page":"1","article-title":"Special issue on domain-specific languages","volume":"10","author":"Mernik M.","year":"2002","journal-title":"Part II. J. Comput. Inform. Techn."},{"key":"e_1_2_1_96_1","first-page":"3","article-title":"Multiple attribute grammar inheritance","volume":"24","author":"Mernik M.","year":"2000","journal-title":"Informatica"},{"key":"e_1_2_1_97_1","volume-title":"Proceedings of the 2001 ACM Symposium on Applied Computing (SAC'01)","author":"Mernik M.","year":"2001"},{"key":"e_1_2_1_98_1","doi-asserted-by":"publisher","DOI":"10.1145\/606666.606678"},{"key":"e_1_2_1_99_1","first-page":"2","article-title":"Special issue on program generation, optimization, and platform adaptation","volume":"93","author":"Moura J. M. F.","year":"2005","journal-title":"Proceedings of the IEEE"},{"key":"e_1_2_1_100_1","volume-title":"1st Acm SIGPLAN Workshop on Domain-Specific Languages. 59--74","author":"Nakatani L."},{"key":"e_1_2_1_101_1","doi-asserted-by":"crossref","unstructured":"Nardi B. A. 1993. A Small Matter of Programming: Perspectives on End User Computing. MIT Press.]] Nardi B. A. 1993. A Small Matter of Programming: Perspectives on End User Computing. MIT Press.]]","DOI":"10.7551\/mitpress\/1020.001.0001"},{"key":"e_1_2_1_102_1","doi-asserted-by":"crossref","first-page":"564","DOI":"10.1109\/TSE.1984.5010280","article-title":"The Draco approach to constructing software from reusable components","volume":"5","author":"Neighbors J. M.","year":"1984","journal-title":"IEEE Trans. Softw. Eng. SE-10"},{"key":"e_1_2_1_103_1","doi-asserted-by":"publisher","DOI":"10.1145\/1028664.1028685"},{"key":"e_1_2_1_104_1","volume-title":"Proceedings of the Haskell Workshop.]]","author":"Peyton Jones S."},{"key":"e_1_2_1_105_1","volume-title":"Proceedings of the 34th Hawaii International Conference on System Sciences.]]","author":"Pfahler P."},{"key":"e_1_2_1_106_1","volume-title":"Proceeding of the 9th International Python Conference. 135--142","author":"Raymond E. S.","year":"2001"},{"key":"e_1_2_1_107_1","volume-title":"Proceedings of the 34th Hawaii International Conference on System Sciences.]]","author":"Risi W."},{"key":"e_1_2_1_108_1","doi-asserted-by":"crossref","unstructured":"Ross D. T. 1981. Origins of the APT language for automatically programmed tools. History of Programming Languages R. L. Wexelblat Ed. Academic Press. 279--338.]] 10.1145\/800025.1198374 Ross D. T. 1981. Origins of the APT language for automatically programmed tools. History of Programming Languages R. L. Wexelblat Ed. Academic Press. 279--338.]] 10.1145\/800025.1198374","DOI":"10.1145\/800025.1198374"},{"key":"e_1_2_1_109_1","volume-title":"Handbook of Programming Languages","author":"Salus P. H., Ed.","year":"1998"},{"key":"e_1_2_1_110_1","volume-title":"Programming Languages: History and Fundamentals","author":"Sammet J. E.","year":"1969"},{"key":"e_1_2_1_111_1","volume-title":"Proceedings of the 36th Hawaii International Conference on System Sciences.]]","author":"Saraiva J."},{"key":"e_1_2_1_112_1","volume-title":"Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'01)","author":"Schnarr E."},{"key":"e_1_2_1_113_1","volume-title":"Proceedings of the 35th Hawaii International Conference on System Sciences.]]","author":"Schneider K. A."},{"key":"e_1_2_1_114_1","volume-title":"Ed. Lecture Notes in Computer Science","volume":"2027","author":"Schupp S."},{"key":"e_1_2_1_115_1","unstructured":"SDL Forum. 2000. MSC-2000: Interaction for the new millenium. http:\/\/www.sdl-forum.org\/MSC2000present\/index.htm.]] SDL Forum. 2000. MSC-2000: Interaction for the new millenium. http:\/\/www.sdl-forum.org\/MSC2000present\/index.htm.]]"},{"key":"e_1_2_1_116_1","volume-title":"Proceedings of the 5th International Conference on Software Reuse. IEEE Computer Society, 94--102","author":"Simos M."},{"key":"e_1_2_1_117_1","volume-title":"Proceedings of the 2nd USENIX Conference on Domain-Specific Languages. 1--14","author":"Sirer E. G.","year":"1960"},{"key":"e_1_2_1_118_1","volume-title":"Proceedings of the 35th Hawaii International Conference on System Sciences.]]","author":"Sloane A. M.","year":"2002"},{"key":"e_1_2_1_119_1","unstructured":"Slonneger K. and Kurtz B. L. 1995. Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach. Addison-Wesley.]] Slonneger K. and Kurtz B. L. 1995. Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach. Addison-Wesley.]]"},{"key":"e_1_2_1_120_1","volume-title":"Proceedings of the USENIX Conference on Domain-Specific Languages. 257--270","author":"Smaragdakis Y."},{"key":"e_1_2_1_121_1","doi-asserted-by":"crossref","unstructured":"Smaragdakis Y. and Batory D. 2000. Application generators. In Wiley Encyclopedia of Electrical and Electronics Engineering Online J. Webster Ed. John Wiley.]] Smaragdakis Y. and Batory D. 2000. Application generators. In Wiley Encyclopedia of Electrical and Electronics Engineering Online J. Webster Ed. John Wiley.]]","DOI":"10.1002\/047134608X.W6902"},{"key":"e_1_2_1_122_1","volume-title":"Proceedings of the 8th Israeli Conference on Computer-Based Systems and Software Engineering (ICCSSE'97)","author":"Soroker D."},{"key":"e_1_2_1_123_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0164-1212(00)00089-3"},{"key":"e_1_2_1_124_1","first-page":"9","article-title":"Special issue on End-User","volume":"47","author":"Sutcliffe A.","year":"2004","journal-title":"Development. Comm. ACM"},{"key":"e_1_2_1_125_1","unstructured":"Szyperski C. 2002. Component Software---Beyond Object-Oriented Programming 2nd Ed. Addison-Wesley\/ACM Press.]] Szyperski C. 2002. Component Software---Beyond Object-Oriented Programming 2nd Ed. Addison-Wesley\/ACM Press.]]"},{"key":"e_1_2_1_126_1","doi-asserted-by":"publisher","DOI":"10.1145\/217030.217034"},{"key":"e_1_2_1_127_1","doi-asserted-by":"crossref","first-page":"97","DOI":"10.1007\/BF00289243","article-title":"Language design methods based on semantic principles","volume":"8","author":"Tennent R. D.","year":"1977","journal-title":"Acta Inf."},{"key":"e_1_2_1_128_1","volume-title":"XLANG: Web services for business process design. Tech. rep. Microsoft","author":"Thatte S.","year":"2001"},{"key":"e_1_2_1_129_1","unstructured":"Thibault S. A. 1998. Domain-specific languages: Conception implementation and application. Ph.D. thesis University of Rennes.]] Thibault S. A. 1998. Domain-specific languages: Conception implementation and application. Ph.D. thesis University of Rennes.]]"},{"key":"e_1_2_1_130_1","volume-title":"Proceedings of the 17th IEEE Symposium on Reliable Distributed Systems. IEEE Computer Society, 135--143","author":"Thibault S. A."},{"key":"e_1_2_1_131_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.798325"},{"key":"e_1_2_1_132_1","unstructured":"Tracz W. and Coglianese L. 1995. DOMAIN (DOmain Model All INtegrated)---a DSSA domain analysis tool. Tech. rep. ADAGE-LOR-94-11. Loral Federal Systems.]] Tracz W. and Coglianese L. 1995. DOMAIN (DOmain Model All INtegrated)---a DSSA domain analysis tool. Tech. rep. ADAGE-LOR-94-11. Loral Federal Systems.]]"},{"key":"e_1_2_1_133_1","unstructured":"UPnP 2003. Universal Plug and Play Forum. http:\/\/www.upnp.org\/.]] UPnP 2003. Universal Plug and Play Forum. http:\/\/www.upnp.org\/.]]"},{"key":"e_1_2_1_134_1","volume-title":"Proceedings of the USENIX Conference on Domain-Specific Languages.]]","author":"USENIX","year":"1997"},{"key":"e_1_2_1_135_1","volume-title":"Proceedings of the 2nd USENIX Conference on Domain-Specific Languages (DSL'99)","author":"USENIX","year":"1999"},{"key":"e_1_2_1_136_1","volume-title":"Ed. Lecture Notes in Computer Science","volume":"2027","author":"van den Brand M. G. J."},{"key":"e_1_2_1_137_1","doi-asserted-by":"publisher","DOI":"10.1145\/226155.226156"},{"key":"e_1_2_1_138_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1096-908X(199803\/04)10:2%3C75::AID-SMR168%3E3.0.CO;2-5"},{"key":"e_1_2_1_139_1","doi-asserted-by":"crossref","first-page":"1","DOI":"10.2498\/cit.2002.01.01","article-title":"Domain-specific language design requires feature descriptions","volume":"10","author":"van Deursen A.","year":"2002","journal-title":"J. Comput. Inform. Tech."},{"key":"e_1_2_1_140_1","doi-asserted-by":"publisher","DOI":"10.1145\/352029.352035"},{"key":"e_1_2_1_141_1","doi-asserted-by":"crossref","first-page":"289","DOI":"10.2498\/cit.2001.04.02","article-title":"ATMOL: A domain-specific language for atmospheric modeling","volume":"9","author":"van Engelen R.","year":"2001","journal-title":"J. Comput. Inform. Techn."},{"key":"e_1_2_1_144_1","unstructured":"Veldhuizen T. L. 2001. Blitz&plus;&plus; User's Guide. Version 1.2 http:\/\/www.oonumerics.org\/blitz\/manual\/blitz.ps.]] Veldhuizen T. L. 2001. Blitz&plus;&plus; User's Guide. Version 1.2 http:\/\/www.oonumerics.org\/blitz\/manual\/blitz.ps.]]"},{"key":"e_1_2_1_145_1","doi-asserted-by":"crossref","unstructured":"Visser E. 2003. Stratego---Strategies for program transformation. http:\/\/www.stratego-language.org.]] Visser E. 2003. Stratego---Strategies for program transformation. http:\/\/www.stratego-language.org.]]","DOI":"10.1007\/978-3-540-25935-0_13"},{"key":"e_1_2_1_146_1","volume-title":"Proceedings of the USENIX Conference on Domain-Specific Languages, 213--28","author":"Wang D. C."},{"key":"e_1_2_1_147_1","unstructured":"Weiss D. and Lay C. T. R. 1999. Software Product Line Engineering. Addison-Wesley.]] Weiss D. and Lay C. T. R. 1999. Software Product Line Engineering. Addison-Wesley.]]"},{"key":"e_1_2_1_148_1","unstructured":"Wexelblat R. L. Ed. 1981. History of Programming Languages. Academic Press.]] Wexelblat R. L. Ed. 1981. History of Programming Languages. Academic Press.]]"},{"key":"e_1_2_1_149_1","volume-title":"POPART: Producer of Parsers and Related Tools","author":"Wile D. S.","year":"1993"},{"key":"e_1_2_1_150_1","doi-asserted-by":"crossref","first-page":"263","DOI":"10.2498\/cit.2001.04.01","article-title":"Supporting the DSL spectrum","volume":"9","author":"Wile D. S.","year":"2001","journal-title":"J. Comput. Inform. Techn."},{"key":"e_1_2_1_151_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2003.12.006"},{"key":"e_1_2_1_152_1","article-title":"Special issue on Domain-Specific Languages","author":"Wile D. S.","year":"1999","journal-title":"IEEE Trans. Softw. Eng. SE-25, 3"},{"key":"e_1_2_1_153_1","volume-title":"Proceedings of the 2001 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'01)","author":"Xiong J."}],"container-title":["ACM Computing Surveys"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1118890.1118892","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1118890.1118892","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T16:08:18Z","timestamp":1750262898000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1118890.1118892"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005,12]]},"references-count":151,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2005,12]]}},"alternative-id":["10.1145\/1118890.1118892"],"URL":"https:\/\/doi.org\/10.1145\/1118890.1118892","relation":{},"ISSN":["0360-0300","1557-7341"],"issn-type":[{"value":"0360-0300","type":"print"},{"value":"1557-7341","type":"electronic"}],"subject":[],"published":{"date-parts":[[2005,12]]},"assertion":[{"value":"2005-12-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}