1. Vacatures
  2. Universiteit van Amsterdam (UvA)
  3. PhD position in Software Language Engineering

Helaas, deze vacature staat inmiddels niet meer online

Kijk gerust verder naar andere vacatures.

PhD position in Software Language Engineering

The Complex Cyber Infrastructure (CCI) group of the University of Amsterdam is constructing and applying domain-specific languages (DSLs) in the …

3 maanden geleden


Science Park, Amsterdam, Noord-Holland
Vast contract
Uren per week:
38 - 38 uur
€ 2395 - € 3061 per maand


The Complex Cyber Infrastructure (CCI) group of the University of Amsterdam is constructing and applying domain-specific languages (DSLs) in the context of complex cyber infrastructures (CCIs).

The efficacy of the DSLs is evaluated through prototype language implementations derived from formal definitions of the languages, thereby relying on the `correct by construction' principle.

Rapid DSL prototyping drastically speeds up the DSL design process and requires modular, extensible and maintainable language definitions given within meta-languages or language workbenches.

To truly realize the potential of rapid DSL prototyping, further research is required in several areas of software language engineering, including modular semantics, component-based language definitions, attribute grammars and ambiguity reduction.

In this role you will work with dr Thomas van Binsbergen to improve the state of the art with regard to meta-languages and rapid prototyping of DSLs. You will apply the developed techniques to the design and implementation of DSLs for CCIs, thereby impacting directly the wider research efforts of the CCI group.

In this position you will master and develop software language engineering techniques and learn how to apply these techniques within programming language research.

What are you going to do?

This project offers the freedom to explore and develop your own interests on the intersection of software language engineering and architecture design and implementation. Possible focus and starting points can be on one or more of the following topics:

  • the application and improvement of declarative formalisms (such as attribute grammars, or semantic specification languages) for defining DSLs through executable specifications;
  • the identification and definition of the fundamental constructs (funcons) of classes of DSLs and evaluating the efficacy of these definitions for rapid DSL prototyping;
  • the compilation of norm specifications to operational control and enforcement mechanisms within reference infrastructures or blockchain platforms;
  • actor-oriented programming as a target of for DSL compilers or as a host language for so-called embedded DSLs;
  • a project of your own description related to the topics of software language engineering, DSLs and distributed systems.

Embedded in the Systems and Networking Lab, you will become part of a large group of fellow PhD students and researchers actively pursuing and solving challenges in distributed, cloud and parallel computing.


What do we require?

  • An MSc degree in computer science, software engineering or a related discipline;
  • enthusiasm for the research process: studying research papers, solving complex problems, applying creative thinking, evaluation, reflection and disseminating findings via writing and oral presentations;
  • a strong affinity with programming language technology across language paradigms, i.e. object-oriented, event-driven, functional, and logical programming;
  • demonstrable skills in functional and logical programming;
  • the ability to critically analyze abstract models as well as concrete implementations;
  • the ability to work individually as well as effectively in a team;
  • fluency in written and spoken English.


Our offer

A temporary contract for 38 hours per week for the duration of 4 years (the initial contract will be for a period of 18 months and after satisfactory evaluation it will be extended for a total duration of 4 years). This should lead to a dissertation (PhD thesis). We will draft an educational plan that includes attendance of courses and (international) meetings. We also expect you to assist in teaching undergraduates and master students.

The starting salary will be in accordance with university regulations for academic personnel. It will range from a minimum €2,395 to €3,061 (scale P) gross per month based on full-time employment.

This is exclusive 8% holiday allowance and 8.3% end-of-year bonus. A favourable tax agreement, the ‘30% ruling’, may apply to non-Dutch applicants. The Collective Labour Agreement of Dutch Universities is applicable.

Are you curious about our extensive package of secondary employment benefits like our excellent opportunities for study and development? Take a look here.

Additional information

Do you have questions about this vacancy? Or do you want to know more about our organisation? Please contact: