Model-Driven Engineering (MDE) leverages models to first-class status by shifting the focus of software development from coding to modelling. Over the last years, a number of Model Transformation (MT) approaches have been proposed both from academia and industry. Ideally, a model transformation technique should also be compatible with manual changes that might be performed by designers on the generated models in order to accommodate unforeseen requirements or limited expressiveness of the involved metamodels. This book presents the Janus Transformation Language (JTL), a bidirectional model transformation language specifically designed to support non-bijective transformations and change propagation. In particular, the language propagates changes occurring in a model to one or more related models according to the specified transformation regardless of the transformation direction. JTL is embedded in a framework available on the Eclipse platform which aims to facilitate the use of the approach, especially in the definition of model transformations.