The course deals with object-oriented modeling, model-driven development and domain-specific languages. It focuses on model definition via meta-models and on model transformations: text-to-model (i.e. associating formal language grammar with a meta-model and creation of text-to-model parsers), model-to-model (i.e. special languages for model transformations - ATL, QVT) and model-to-text (i.e. code generation). The course will be organized as a mix of explanation and practical exercises with related technologies (EMF, Epsilon, Xtext, Xpand, ATL, …). The course assumes knowledge of Java.
All course materials will be gradually added to Teams