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 条
  • [41] Systematically Deriving Domain-Specific Transformation Languages
    Hoelldobler, Katrin
    Rumpe, Bernhard
    Weisemoeller, Ingo
    2015 ACM/IEEE 18TH INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS (MODELS), 2015, : 136 - 145
  • [42] A framework for families of domain-specific modelling languages
    Benjamin Braatz
    Christoph Brandt
    Software & Systems Modeling, 2014, 13 : 109 - 132
  • [43] Conceptual Model of the Globalization for Domain-Specific Languages
    Clark, Tony
    van den Brand, Mark
    Combemale, Benoit
    Rumpe, Bernhard
    GLOBALIZING DOMAIN-SPECIFIC LANGUAGES, 2015, 9400 : 7 - 20
  • [44] Describing Variability with Domain-Specific Languages and Models
    Tolvanen, Juha-Pekka
    Kelly, Steven
    SPLC '21: PROCEEDINGS OF THE 25TH ACM INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL A, 2021,
  • [45] Domain-Specific Languages: A Systematic Mapping Study
    Kosar, Tomaz
    Bohra, Sudev
    Mernik, Marjan
    INFORMATION AND SOFTWARE TECHNOLOGY, 2016, 71 : 77 - 91
  • [46] Domain-Specific Languages in a Customs Information System
    Freudenthal, Margus
    IEEE SOFTWARE, 2010, 27 (02) : 65 - 71
  • [47] A framework for qualitative assessment of domain-specific languages
    Kahraman, Gokhan
    Bilgen, Semih
    SOFTWARE AND SYSTEMS MODELING, 2015, 14 (04): : 1505 - 1526
  • [48] Heuristic Evaluation Checklist for Domain-specific Languages
    Poltronieri, Ildevana
    Zorzo, Avelino Francisco
    Bernardino, Maicon
    Medeiros, Bruno
    Campos, Marcia de Borba
    HUCAPP: PROCEEDINGS OF THE 16TH INTERNATIONAL JOINT CONFERENCE ON COMPUTER VISION, IMAGING AND COMPUTER GRAPHICS THEORY AND APPLICATIONS - VOL. 2: HUCAPP, 2021, : 37 - 48
  • [49] Composition and Reuse with Compiled Domain-Specific Languages
    Sujeeth, Arvind K.
    Rompf, Tiark
    Brown, Kevin J.
    Lee, HyoukJoong
    Chafi, Hassan
    Popic, Victoria
    Wu, Michael
    Prokopec, Aleksandar
    Jovanovic, Vojin
    Odersky, Martin
    Olukotun, Kunle
    ECOOP 2013 - OBJECT-ORIENTED PROGRAMMING, 2013, 7920 : 52 - 78
  • [50] Describing Variability with Domain-Specific Languages and Models
    Tolvanen, Juha-Pekka
    Kelly, Steven
    SPLC'19: PROCEEDINGS OF THE 23RD INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL A, 2020, : 329 - 329