Xbase: implementing domain-specific languages for Java.

Efftinge, Sven, Eysholdt, Moritz, Köhnlein, Jan, Zarnekow, Sebastian, Massow, Robert, Hasselbring, Wilhelm and Hanus, Michael (2012) Xbase: implementing domain-specific languages for Java. [Paper] In: 11th International Conference on Generative Programming and Component Engineering. , September 2012, Dresden, Germany . Proceedings of the 11th International Conference on Generative Programming and Component Engineering - GPCE '12. ; pp. 112-121 . DOI 10.1145/2371401.2371419.

[img]
Preview
Text
GPCE2012.pdf

Download (600Kb) | Preview

Supplementary data:

Abstract

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 general-purpose 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.

Document Type: Conference or Workshop Item (Paper)
Keywords: domain-specific languages, language inheritance, object-oriented programming
Research affiliation: Kiel University > Software Engineering
?? program_lang ??
Kiel University > Kiel Marine Science
Refereed: No
DOI etc.: 10.1145/2371401.2371419
Date Deposited: 22 Mar 2013 07:07
Last Modified: 30 Apr 2013 17:02
URI: http://oceanrep.geomar.de/id/eprint/19589

Actions (login required)

View Item View Item

Document Downloads

More statistics for this item...