Introduction to object-oriented modelling and model design, UML (especially class diagrams)
Model-driven development, domain-specific languages (DSL)
Meta-modelling (MOF, EMF)
Text-to-model transformations
Model-to-model transformations
Model-to-text transformations
Basics of supporting tools, generation of model and DSL editors
The course deals with object-oriented modelling, 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.