When and how to develop domain-specific languages

被引:878
|
作者
Mernik, M
Heering, J
Sloane, AM
机构
[1] Univ Maribor, Fac Elect Engn & Comp Sci, SLO-2000 Maribor, Slovenia
[2] CWI, Dept Software Engn, NL-1098 SJ Amsterdam, Netherlands
[3] Macquarie Univ, Dept Comp, Sydney, NSW 2109, Australia
关键词
design; languages; performance; domain-specific language; application language; domain analysis; language development system;
D O I
10.1145/1118890.1118892
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页码:316 / 344
页数:29
相关论文
共 50 条
  • [11] Domain-Specific Languages in Scientific Computing
    Hinsen, Konrad
    COMPUTING IN SCIENCE & ENGINEERING, 2018, 20 (01) : 88 - 92
  • [12] Compositional Embeddings of Domain-Specific Languages
    Sun, Yaozhu
    Dhandhania, Utkarsh
    Oliveira, Bruno C. D. S.
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (OOPSLA):
  • [13] A Taxonomy of Domain-Specific Aspect Languages
    Fabry, Johan
    Dinkelaker, Tom
    Noye, Jacques
    Tanter, Eric
    ACM COMPUTING SURVEYS, 2015, 47 (03)
  • [14] Domain-specific languages: An annotated bibliography
    van Deursen, A
    Klint, P
    Visser, J
    ACM SIGPLAN NOTICES, 2000, 35 (06) : 26 - 36
  • [15] Contracts for Domain-Specific Languages in Ruby
    Strickland, T. Stephen
    Ren, Brianna M.
    Foster, Jeffrey S.
    ACM SIGPLAN NOTICES, 2015, 50 (02) : 23 - 34
  • [16] Usability Evaluation of Domain-Specific Languages
    Barisic, Ankica
    Amaral, Vasco
    Goulao, Miguel
    2012 EIGHTH INTERNATIONAL CONFERENCE ON THE QUALITY OF INFORMATION AND COMMUNICATIONS TECHNOLOGY (QUATIC 2012), 2012, : 342 - 347
  • [17] A Pedagogical Framework for Domain-Specific Languages
    Fowler, Martin
    IEEE SOFTWARE, 2009, 26 (04) : 13 - 14
  • [18] Program Comprehension for Domain-Specific Languages
    Varanda Pereira, Maria Joao
    Mernik, Marjan
    da Cruz, Daniela
    Henriques, Pedro Rangel
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2008, 5 (02) : 1 - 17
  • [19] Functional Programming for Domain-Specific Languages
    Gibbons, Jeremy
    CENTRAL EUROPEAN FUNCTIONAL PROGRAMMING SCHOOL, CEFP 2013, 2015, 8606 : 1 - 28
  • [20] Defining and Using Domain-Specific Languages
    Lyytinen, Kalle
    Welke, Richard
    IEEE SOFTWARE, 2010, 27 (01) : 8 - 8