A transformation is a function or utility that transforms a model into something else. It can for example be source code, a report or another model. You can develop your own transformation that implements for example code generation, report generation, generation of model statistics and much more. This chapter describes the API and extension points that can be used when developing your own model transformation. You can use the extensions points to define transformations, create transformation utilities, and extend existing transformations. You can use the API for authoring and running transformations.