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 条
  • [1] RUNTIME CODE GENERATION FOR INTERPRETED DOMAIN-SPECIFIC MODELING LANGUAGES
    Meyer, Tom
    Helms, Tobias
    Warnke, Tom
    Uhrmacher, Adelinde M.
    2018 WINTER SIMULATION CONFERENCE (WSC), 2018, : 605 - 615
  • [2] A framework for families of domain-specific modelling languages
    Benjamin Braatz
    Christoph Brandt
    Software & Systems Modeling, 2014, 13 : 109 - 132
  • [3] A framework for families of domain-specific modelling languages
    Braatz, Benjamin
    Brandt, Christoph
    SOFTWARE AND SYSTEMS MODELING, 2014, 13 (01): : 109 - 132
  • [4] Domain-Specific Languages and Code Synthesis Using Haskell
    Gill, Andy
    COMMUNICATIONS OF THE ACM, 2014, 57 (06) : 42 - 49
  • [5] Applying static code analysis for domain-specific languages
    Ruiz-Rube, Ivan
    Person, Tatiana
    Manuel Dodero, Juan
    Miguel Mota, Jose
    Merchan Sanchez-Jara, Javier
    SOFTWARE AND SYSTEMS MODELING, 2020, 19 (01): : 95 - 110
  • [6] Applying static code analysis for domain-specific languages
    Iván Ruiz-Rube
    Tatiana Person
    Juan Manuel Dodero
    José Miguel Mota
    Javier Merchán Sánchez-Jara
    Software and Systems Modeling, 2020, 19 : 95 - 110
  • [7] Practicing Domain-Specific Languages: From Code to Models
    Gonnord, Laure
    Mosser, Sebastien
    21ST ACM/IEEE INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS: COMPANION PROCEEDINGS (MODELS-COMPANION '18), 2018, : 106 - 113
  • [8] Domain-specific languages and code synthesis using haskell
    Gill, Andy
    Queue, 2014, 12 (04): : 30 - 43
  • [9] Domain-specific model differencing for graphical domain-specific languages
    Jafarlou, Manouchehr Zadahmad
    ACM/IEEE 25TH INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, MODELS 2022 COMPANION, 2022, : 205 - 208
  • [10] An Evaluation of Domain-Specific Language Technologies for Code Generation
    Schmittt, Christian
    Kuckuk, Sebastian
    Kostlert, Harald
    Hannig, Frank
    Teich, Jurgen
    2014 14TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ITS APPLICATIONS (ICCSA), 2014, : 18 - 26