Interoperable domain-specific languages families for code generation

被引:0
|
作者
Malohlava, Michal [1 ]
Plasil, Frantisek [1 ,2 ]
Bures, Tomas [1 ,2 ]
Hnetynka, Petr [1 ]
机构
[1] Charles Univ Prague, Fac Math & Phys, Dept Distributed & Dependable Syst, CR-11800 Prague 1, Czech Republic
[2] Acad Sci Czech Republ, Inst Comp Sci, Prague 18207 8, Czech Republic
来源
SOFTWARE-PRACTICE & EXPERIENCE | 2013年 / 43卷 / 05期
关键词
code generation; domain specific languages; models reuse; extensible languages; specification; program synthesis; MODEL;
D O I
10.1002/spe.2118
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper has been motivated by experience gained with specification and code generation of control elements for a software component platform and general-purpose programming language like Java and C. The problem to be addressed is two-fold: first, several domain-specific languages (DSL) are to be employed to express different element concerns (architecture, deployment context, code pattern) and second, porting to another general-purpose language should avoid modification of the specification and related code generation process as much as possible. In both respects, the classical template-based code generation technique proved to be inflexible, requiring the code generator to be blurred with ad hoc encoded DSL facets. The paper addresses the problem by introducing the concept of interoperable DSL family. Each member of the family is built around its core language, which can be further specialized by embedding into a target programming language. Interoperability of these DSLs is achieved at the level of abstract syntax trees (ASTs) with help of queries. As a proof of the concept, we have implemented the queries via the AST transformation rules of the Stratego/XT framework. In the evaluation, we provide a comparison with the original template-based implementation, which clearly indicates the DSL family and AST transformation benefits. We also provide examples of application areas where the concept of interoperable DSL family can be employed (and also indicate how this can be accomplished). Copyright (c) 2012 John Wiley & Sons, Ltd.
引用
收藏
页码:479 / 499
页数:21
相关论文
共 50 条
  • [31] Domain-specific languages: An annotated bibliography
    van Deursen, A
    Klint, P
    Visser, J
    ACM SIGPLAN NOTICES, 2000, 35 (06) : 26 - 36
  • [32] A Taxonomy of Domain-Specific Aspect Languages
    Fabry, Johan
    Dinkelaker, Tom
    Noye, Jacques
    Tanter, Eric
    ACM COMPUTING SURVEYS, 2015, 47 (03)
  • [33] 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):
  • [34] Contracts for Domain-Specific Languages in Ruby
    Strickland, T. Stephen
    Ren, Brianna M.
    Foster, Jeffrey S.
    ACM SIGPLAN NOTICES, 2015, 50 (02) : 23 - 34
  • [35] 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
  • [36] A Pedagogical Framework for Domain-Specific Languages
    Fowler, Martin
    IEEE SOFTWARE, 2009, 26 (04) : 13 - 14
  • [37] 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
  • [38] Functional Programming for Domain-Specific Languages
    Gibbons, Jeremy
    CENTRAL EUROPEAN FUNCTIONAL PROGRAMMING SCHOOL, CEFP 2013, 2015, 8606 : 1 - 28
  • [39] Defining and Using Domain-Specific Languages
    Lyytinen, Kalle
    Welke, Richard
    IEEE SOFTWARE, 2010, 27 (01) : 8 - 8
  • [40] Domain-Specific Languages for Enterprise Systems
    Andersen, Jesper
    Bahr, Patrick
    Henglein, Fritz
    Hvitved, Tom
    LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION AND VALIDATION: TECHNOLOGIES FOR MASTERING CHANGE, PT I, 2014, 8802 : 73 - 95