Frameworks for Generation and Customization of Textual Editors for Domain-Specific Languages

Motivation

The traditional programming language engineering starts the definition of a language by providing its grammar. In contrast, Model-Driven Engineering (MDE) approach uses a metamodel for the initial definition of a language. The metamodel is an object-oriented description of the language abstract syntax. Several concrete syntaxes may be defined for a given metamodel, being either textual or graphical. Current language engineering frameworks provide a high degree of automation for obtaining an editor for a language. Tools such as XText [1] and EMFText [2] take the metamodel as an abstract syntax definition and a high level description of the syntax and generate a grammar for the language, a parser and a sophisticated textual editor with rich possibilities for extensions. The most common extensions are syntax highlighting, code completion, error indication.

Description

The task in this referaat is to study and compare the two frameworks for generation of editors for domain-specific languages: XText and EMFText. The students are expected to define concrete syntax in both approaches for a rich metamodeling language called OGML [3]. Furthermore, the possibilities for extending the generated editors will be explored, experimented and carefully documented. The students are expected to know the Java programming language. Familiarity with Eclipse and Eclipse Modeling Framework (EMF)[4] is an advantage.

References

·

XText. http://www.eclipse.org/Xtext/

·

EMFText. http://www.emftext.org/index.php/EMFText

·

Alfons Laarman, Ivan Kurtev: Ontological Metamodeling with Explicit Instantiation. SLE 2009: 174-183

·

Eclipse Modeling Framework. http://www.eclipse.org/modeling/emf/

Supervisor

Ivan Kurtev