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 条
  • [11] 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,
  • [12] 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
  • [13] 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
  • [14] Describing Variability with Domain-Specific Languages and Models
    Tolvanen, Juha-Pekka
    Kelly, Steven
    SPLC'18: PROCEEDINGS OF THE 22ND INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL 1, 2018, : 300 - 300
  • [15] Domain-Specific Languages for Composable Editor Plugins
    Kats, Lennart C. L.
    Kalleberg, Karl T.
    Visser, Eelco
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2010, 253 (07) : 149 - 163
  • [16] An approach for the systematic development of domain-specific languages
    Strembeck, Mark
    Zdun, Uwe
    SOFTWARE-PRACTICE & EXPERIENCE, 2009, 39 (15) : 1253 - 1292
  • [17] EXTENSIBLE HOST LANGUAGE FOR DOMAIN-SPECIFIC LANGUAGES
    Chodarev, Sergej
    Kollar, Jan
    COMPUTING AND INFORMATICS, 2016, 35 (01) : 84 - 110
  • [18] Methodology to Develop Domain Specific Modeling Languages
    Chaudhuri, Subhrojyoti Roy
    Natarajan, Swaminathan
    Banerjee, Amar
    Choppella, Venkatesh
    DSM'19: PROCEEDINGS OF THE 17TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON DOMAIN-SPECIFIC MODELING, 2019, : 1 - 10
  • [19] The Use of Domain-Specific Languages for Visual Analytics: A Systematic Literature Review
    Khakpour, Alireza
    Colomo-Palacios, Ricardo
    Martini, Antonio
    Sanchez-Gordon, Mary
    TECHNOLOGIES, 2023, 11 (02)
  • [20] Effort Used to Create Domain-Specific Modeling Languages
    Tolvanen, Juha-Pekka
    Kelly, Steven
    21ST ACM/IEEE INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS (MODELS 2018), 2018, : 235 - 244