When and how to develop domain-specific languages

被引:877
|
作者
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 条
  • [31] Using smgn for rapid protoptyping of small domain-specific languages
    Kienle, HM
    ACM SIGPLAN NOTICES, 2001, 36 (09) : 64 - 73
  • [32] How Domain-Specific Modeling Languages Address Variability in Product Line Development: Investigation of 23 Cases
    Tolvanen, Juha-Pekka
    Kelly, Steven
    SPLC'19: PROCEEDINGS OF THE 23RD INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL A, 2020, : 155 - 163
  • [33] A Technology for BigData Analysis Task Description using Domain-Specific Languages
    Kovalchuk, Sergey V.
    Zakharchuk, Artem V.
    Liao, Jiaqi
    Ivanov, Sergey V.
    Boukhanovsky, Alexander V.
    2014 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE, 2014, 29 : 488 - 498
  • [34] Towards Tool Support for Spreadsheet-Based Domain-Specific Languages
    Adam, Sorin
    Schultz, Ulrik Pagh
    ACM SIGPLAN NOTICES, 2016, 51 (03) : 95 - 98
  • [35] Modeling and Valuation of Contractual RAM Requirements Using Domain-Specific Languages
    Joanni, Andreas
    Ratiu, Daniel
    2018 ANNUAL RELIABILITY AND MAINTAINABILITY SYMPOSIUM (RAMS), 2018,
  • [36] DSL-Maps: From Requirements to Design of Domain-Specific Languages
    Pescador, Ana
    de lara, Juan
    2016 31ST IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2016, : 438 - 443
  • [37] Applying Domain-Specific Languages in MetaEdit plus for Product Line Development
    Tolvanen, Juha-Pekka
    21ST INTERNATIONAL SYSTEM & SOFTWARE PRODUCT LINE CONFERENCE (SPLC 2017), VOL 2, 2017, : 17 - 17
  • [38] Towards Tool Support for Spreadsheet-Based Domain-Specific Languages
    Adam, Sorin
    Schultz, Ulrik Pagh
    GPCE'15: PROCEEDINGS OF THE 2015 ACM SIGPLAN INTERNATIONAL CONFERENCE ON GENERATIVE PROGRAMMING: CONCEPTS AND EXPERIENCES, 2015, : 95 - 98
  • [39] A Programming Environment for Visual Block-Based Domain-Specific Languages
    Kurihara, Azusa
    Sasaki, Akira
    Wakita, Ken
    Hosobe, Hiroshi
    PROCEEDINGS OF THE 2015 INTERNATIONAL CONFERENCE ON SOFT COMPUTING AND SOFTWARE ENGINEERING (SCSE'15), 2015, 62 : 287 - 296
  • [40] Implementing Domain-Specific Languages as the Foundation of an Honors Intro CS Course
    Fisler, Kathi
    ACM SIGPLAN NOTICES, 2008, 43 (11) : 66 - 70