Xbase: Implementing Domain-Specific Languages for Java']Java

被引:44
|
作者
Efftinge, Sven [1 ]
Eysholdt, Moritz [1 ]
Koehnlein, Jan [1 ]
Zarnekow, Sebastian [1 ]
Hasselbring, Wilhelm [2 ]
von Massow, Robert [2 ]
Hanus, Michael [3 ]
机构
[1] itemis AG, D-24143 Kiel, Germany
[2] Univ Kiel, Software Engn Grp, Kiel, Germany
[3] Univ Kiel, Programming Languages & Compiler Construct Grp, Kiel, Germany
关键词
Design; Languages; Domain-specific languages; Object-oriented programming; Language inheritance;
D O I
10.1145/2480361.2371419
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Xtext is an open-source framework for implementing external, textual domain-specific languages (DSLs). So far, most DSLs implemented with Xtext and similar tools focus on structural aspects such as service specifications and entities. Because behavioral aspects are significantly more complicated to implement, they are often delegated to generalpurpose programming languages. This approach introduces complex integration patterns and the DSL's high level of abstraction is compromised. We present Xbase as part of Xtext, an expression language that can be reused via language inheritance in any DSL implementation based on Xtext. Xbase expressions provide both control structures and program expressions in a uniform way. Xbase is statically typed and tightly integrated with the Java type system. Languages extending Xbase inherit the syntax of a Java-like expression language as well as language infrastructure components, including a parser, an unparser, a linker, a compiler and an interpreter. Furthermore, the framework provides integration into the Eclipse IDE including debug and refactoring support. The application of Xbase is presented by means of a domain model language which serves as a tutorial example and by the implementation of the programming language Xtend. Xtend is a functional and object-oriented general purpose language for the Java Virtual Machine (JVM). It is built on top of Xbase which is the reusable expression language that is the foundation of Xtend.
引用
收藏
页码:112 / 121
页数:10
相关论文
共 50 条
  • [1] J%: Integrating Domain Specific Languages with Java']Java
    Karakoidas, Vassilios
    Spinellis, Diomidis
    [J]. 13TH PANHELLENIC CONFERENCE ON INFORMATICS, PROCEEDINGS, 2009, : 109 - 113
  • [2] Towards Domain-specific Modeling for Java']Java Enterprise Applications
    Balz, Moritz
    Goedicke, Michael
    [J]. MSVVEIS 2010: MODELLING, SIMULATION, VERIFICATION AND VALIDATION OF ENTERPRISE INFORMATION SYSTEMS, 2010, : 30 - 39
  • [3] Using Java']Java Beans to Realize a Domain-Specific Component Model
    Feljan, Juraj
    Carlson, Jan
    Zagar, Mario
    [J]. 2009 35TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS, PROCEEDINGS, 2009, : 474 - +
  • [4] JTS: Tools for implementing domain-specific languages
    Batory, D
    Lofaso, B
    Smaragdakis, Y
    [J]. FIFTH INTERNATIONAL CONFERENCE ON SOFTWARE REUSE - PROCEEDINGS, 1998, : 143 - 153
  • [5] Ann: A domain-specific language for the effective design and validation of Java']Java annotations
    Cordoba-Sanchez, Irene
    de Lara, Juan
    [J]. COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2016, 45 : 164 - 190
  • [6] Transformation of UML Class Diagram to Internal Java']Java Domain-Specific Language
    Buzdin, Dmitry
    Nikiforova, Oksana
    [J]. APPLIED COMPUTER SYSTEMS, 2012, 13 (01) : 61 - 67
  • [7] IMPLEMENTING DOMAIN-SPECIFIC LANGUAGES FOR HETEROGENEOUS PARALLEL COMPUTING
    Lee, HyoukJoong
    Brown, Kevin J.
    Sujeeth, Arvind K.
    Chafi, Hassan
    Olukotun, Kunle
    Rompf, Tiark
    Odersky, Martin
    [J]. IEEE MICRO, 2011, 31 (05) : 42 - 52
  • [8] Implementing closed domain-specific languages - Abstract of invited talk
    Kieburtz, RB
    [J]. SEMANTICS, APPLICATIONS AND IMPLEMENTATION OF PROGRAM GENERATION, PROCEEDINGS, 2000, 1924 : 1 - 2
  • [9] Domain-specific model differencing for graphical domain-specific languages
    Jafarlou, Manouchehr Zadahmad
    [J]. ACM/IEEE 25TH INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, MODELS 2022 COMPANION, 2022, : 205 - 208
  • [10] Implementing Domain-Specific Languages as the Foundation of an Honors Intro CS Course
    Fisler, Kathi
    [J]. ACM SIGPLAN NOTICES, 2008, 43 (11) : 66 - 70