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 条
  • [1] On the Globalization of Domain-Specific Languages
    Cheng, Betty H. C.
    Combemale, Benoit
    France, Robert B.
    Jezequel, Jean-Marc
    Rumpe, Bernhard
    GLOBALIZING DOMAIN-SPECIFIC LANGUAGES, 2015, 9400 : 1 - 6
  • [2] How to Integrate Domain-Specific Languages into the Game Development Process
    Walter, Robert
    Masuch, Maic
    PROCEEDINGS OF THE 8TH INTERNATIONAL CONFERENCE ON ADVANCES IN COMPUTER ENTERTAINMENT TECHNOLOGY (ACE 2011), 2011,
  • [3] Ontology Driven Development of Domain-Specific Languages
    Ceh, Ines
    Crepinsek, Matej
    Kosar, Tomaz
    Mernik, Marjan
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2011, 8 (02) : 317 - 342
  • [4] A Pedagogical Framework for Domain-Specific Languages
    Fowler, Martin
    IEEE SOFTWARE, 2009, 26 (04) : 13 - 14
  • [5] Domain-specific languages for ecological modelling
    Holst, Niels
    Belete, Getachew F.
    ECOLOGICAL INFORMATICS, 2015, 27 : 26 - 38
  • [6] A Taxonomy of Domain-Specific Aspect Languages
    Fabry, Johan
    Dinkelaker, Tom
    Noye, Jacques
    Tanter, Eric
    ACM COMPUTING SURVEYS, 2015, 47 (03)
  • [7] Xbase: Implementing Domain-Specific Languages for Java']Java
    Efftinge, Sven
    Eysholdt, Moritz
    Koehnlein, Jan
    Zarnekow, Sebastian
    Hasselbring, Wilhelm
    von Massow, Robert
    Hanus, Michael
    ACM SIGPLAN NOTICES, 2013, 48 (03) : 112 - 121
  • [8] Using Ontologies in the Domain Analysis of Domain-Specific Languages
    Tairas, Robert
    Mernik, Marjan
    Gray, Jeff
    MODELS IN SOFTWARE ENGINEERING, 2009, 5421 : 332 - +
  • [9] Portable Parallel Performance from Sequential, Productive, Embedded Domain-Specific Languages
    Kamil, Shoaib
    Coetzee, Derrick
    Beamer, Scott
    Cook, Henry
    Gonina, Ekaterina
    Harper, Jonathan
    Morlan, Jeffrey
    Fox, Armando
    ACM SIGPLAN NOTICES, 2012, 47 (08) : 303 - 304
  • [10] Domain-Specific Languages and Program Generation with Meta-AspectJ
    Huang, Shan Shan
    Zook, David
    Smaragdakis, Yannis
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2008, 18 (02)