In model-driven engineering, evolution is inevitable over the course of the complete life cycle of complex software-intensive systems and more importantly of entire product families. Not only instance models, but also entire modelling languages are subject to change. This is in particular true for domain-specific languages. Up to this day, modelling languages are evolved manually, with tedious and error-prone migration of artifacts such as instance models as a result. In this project, the different evolution scenarios for various kinds of modelling artifacts, such as instance models, meta-models and transformation models are researched. Subsequently, evolution is de-composed into four primitive scenarios such that all possible evolutions can be covered. This structured approach enables the design of solution for (semi-)automatic modelling language evolution.