Bachelor projects

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


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.


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.



Ivan Kurtev