040coders.nl: Talks and Videos. Food and Drinks. Every 3rd Thursday somewhere in the 040 region. 040coders.nl: Talks and Videos. Food and Drinks. Every 3rd Thursday somewhere in the 040 region.

Create your own domain-specific language

using the Jetbrains MetaProgramming System


Ana-Maria Sutii By: Ana-Maria Sutii
From: ING Bank

Talk at Meetup 20180614


This talk is a practical talk on the creation of domain-specific languages. Domain-specific languages (DSLs) are computer programming languages of limited expressiveness, focused on a particular domain. Being able to create your own DSL is a valuable tool to have in your software engineering toolbox. From using configuration languages in your own project, and from building your internal company languages, to empowering your business users with expressive languages, DSLs are oftentimes the solution.

Traditionally, the creation of a DSL was a time-consuming endeavour. Fortunately, their development has been eased with the introduction of specialised environments called language workbenches. The language workbenches ease the development of DSLs by offering meta-languages to implement the different language aspects, such as editor, code generation, constraints, type system, and so on. We will touch upon the creation of all the main meta-language aspects, and we will do so in a modern language workbench, called the Jetbrains MetaProgramming System.


Ana-Maria currently works at the ING Bank in the Netherlands, where she builds domain-specific languages for the financial domain.
Her study journey reflects her interest in and around DSLs.

From 2007 to 2011, she followed courses in Computer Science at the Politehnica University of Bucharest, Romania. Her bachelor thesis was on reporting experiences with providing static single assignment form to an open source Java virtual machine implementation, Jato.

After that, from 2011 to 2013, she did her Master's in the group of Mark van den Brand, software engineering and technology, at the Eindhoven University of Technology. There, she looked at modularity in programming language grammars, and, more specifically, at modularity in GLL grammars. She obtained her PhD in the same group, from 2013 to 2017. The topic of the PhD was on modularisation of both models and metamodels as defined in domain specific languages (DSLs).

Two other ventures Ana has been involved in, are the creation of DSLs for the biomedical domain at Weill Cornell Medicine in New York City, and the creation of a fuzzer system for Chrome V8 at Google Inc in Munich.

As can be partly inferred from her studies and work experience, Ana's interests mainly lie in DSLs, modularity, language workbenches, IDEs and model transformations.

contact: organizers at 040coders.nl
contact: organizers at 040coders.nl